summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/radeon_elf_util.h
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-12-09 20:03:50 -0500
committerTom Stellard <thomas.stellard@amd.com>2015-01-20 09:55:43 -0500
commitdfdaf3eb7edac939f5d1a32db2968944852b28fa (patch)
tree513e8d60659b1c2309baefc5167d4fdc324e67b5 /src/gallium/drivers/radeon/radeon_elf_util.h
parent5667aa58c49221a919526db08aab7da5bd2b3a5d (diff)
downloadexternal_mesa3d-dfdaf3eb7edac939f5d1a32db2968944852b28fa.zip
external_mesa3d-dfdaf3eb7edac939f5d1a32db2968944852b28fa.tar.gz
external_mesa3d-dfdaf3eb7edac939f5d1a32db2968944852b28fa.tar.bz2
radeon: Teach radeon_elf_read() how to parse reloc information v3
v2: - Use strdup for copying reloc names. - Free reloc memory. v3: - Add free_relocs parameter to radeon_shader_binary_free_members()
Diffstat (limited to 'src/gallium/drivers/radeon/radeon_elf_util.h')
-rw-r--r--src/gallium/drivers/radeon/radeon_elf_util.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeon/radeon_elf_util.h b/src/gallium/drivers/radeon/radeon_elf_util.h
index ccac563..ab83f98 100644
--- a/src/gallium/drivers/radeon/radeon_elf_util.h
+++ b/src/gallium/drivers/radeon/radeon_elf_util.h
@@ -30,6 +30,7 @@
#include <stdint.h>
struct radeon_shader_binary;
+struct radeon_shader_reloc;
/*
* Parse the elf binary stored in \p elf_data and create a
@@ -49,6 +50,15 @@ const unsigned char *radeon_shader_binary_config_start(
/**
* 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_members(struct radeon_shader_binary *binary);
+void radeon_shader_binary_free_relocs(struct radeon_shader_reloc *relocs,
+ unsigned reloc_count);
#endif /* RADEON_ELF_UTIL_H */