gallium/radeon: don't use PREDICATION_OP_CLEAR
[mesa.git] / src / gallium / drivers / radeon / radeon_elf_util.h
index 60dae42e2245e0efb07dbb80b0070fb5f4aad040..ea4ab2f14b25bd2a62887ab574d0702345e566c5 100644 (file)
 #ifndef RADEON_ELF_UTIL_H
 #define RADEON_ELF_UTIL_H
 
+#include <stdint.h>
+
 struct radeon_shader_binary;
+struct radeon_shader_reloc;
 
 /*
  * Parse the elf binary stored in \p elf_data and create a
  * radeon_shader_binary object.
  */
 void radeon_elf_read(const char *elf_data, unsigned elf_size,
-               struct radeon_shader_binary *binary, unsigned debug);
+                    struct radeon_shader_binary *binary);
+
+/**
+ * @returns A pointer to the start of the configuration information for
+ * the function starting at \p symbol_offset of the binary.
+ */
+const unsigned char *radeon_shader_binary_config_start(
+       const struct radeon_shader_binary *binary,
+       uint64_t symbol_offset);
 
+/**
+ * Free all memory allocated for members of \p binary.  This function does
+ * not free \p binary.
+ *
+ * @param free_relocs If false, reolc information will not be freed.
+ */
+void radeon_shader_binary_free_members(struct radeon_shader_binary *binary,
+       unsigned free_relocs);
+
+/**
+ * Free \p relocs and all member data.
+ */
+void radeon_shader_binary_free_relocs(struct radeon_shader_reloc *relocs,
+                                       unsigned reloc_count);
 #endif /* RADEON_ELF_UTIL_H */