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;
|
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,
|
const struct radeon_shader_binary *binary,
|
||||||
uint64_t symbol_offset);
|
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 */
|
#endif /* RADEON_ELF_UTIL_H */
|
||||||
|
|
|
@ -439,9 +439,7 @@ static void si_delete_compute_state(struct pipe_context *ctx, void* state){
|
||||||
pipe_resource_reference(
|
pipe_resource_reference(
|
||||||
(struct pipe_resource **)&program->input_buffer, NULL);
|
(struct pipe_resource **)&program->input_buffer, NULL);
|
||||||
|
|
||||||
FREE(program->binary.code);
|
radeon_shader_binary_free_members(&program->binary);
|
||||||
FREE(program->binary.config);
|
|
||||||
FREE(program->binary.rodata);
|
|
||||||
FREE(program);
|
FREE(program);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2621,9 +2621,7 @@ int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
r = si_shader_binary_read(sscreen, shader, &binary);
|
r = si_shader_binary_read(sscreen, shader, &binary);
|
||||||
FREE(binary.code);
|
radeon_shader_binary_free_members(&binary);
|
||||||
FREE(binary.config);
|
|
||||||
FREE(binary.rodata);
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue