radeon: Add a helper function for freeing members of radeon_shader_binary
This commit is contained in:
parent
c4fd0c9052
commit
5667aa58c4
|
@ -161,3 +161,9 @@ const unsigned char *radeon_shader_binary_config_start(
|
|||
}
|
||||
return binary->config;
|
||||
}
|
||||
|
||||
void radeon_shader_binary_free_members(struct radeon_shader_binary *binary) {
|
||||
FREE(binary->code);
|
||||
FREE(binary->config);
|
||||
FREE(binary->rodata);
|
||||
}
|
||||
|
|
|
@ -46,4 +46,9 @@ 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.
|
||||
*/
|
||||
void radeon_shader_binary_free_members(struct radeon_shader_binary *binary);
|
||||
#endif /* RADEON_ELF_UTIL_H */
|
||||
|
|
|
@ -439,9 +439,7 @@ static void si_delete_compute_state(struct pipe_context *ctx, void* state){
|
|||
pipe_resource_reference(
|
||||
(struct pipe_resource **)&program->input_buffer, NULL);
|
||||
|
||||
FREE(program->binary.code);
|
||||
FREE(program->binary.config);
|
||||
FREE(program->binary.rodata);
|
||||
radeon_shader_binary_free_members(&program->binary);
|
||||
FREE(program);
|
||||
}
|
||||
|
||||
|
|
|
@ -2621,9 +2621,7 @@ int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
|
|||
return r;
|
||||
}
|
||||
r = si_shader_binary_read(sscreen, shader, &binary);
|
||||
FREE(binary.code);
|
||||
FREE(binary.config);
|
||||
FREE(binary.rodata);
|
||||
radeon_shader_binary_free_members(&binary);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue