From dfdaf3eb7edac939f5d1a32db2968944852b28fa Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 9 Dec 2014 20:03:50 -0500 Subject: 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() --- src/gallium/drivers/radeon/radeon_elf_util.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/gallium/drivers/radeon/radeon_elf_util.h') 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 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 */ -- cgit v1.1