radeonsi: only decompress resident textures/images when used
When the current bound shaders don't use any bindless textures or images, it's useless to decompress the resident resources. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
2c3a7d5840
commit
48fe8a6210
|
@ -792,8 +792,17 @@ static void si_decompress_textures(struct si_context *sctx, unsigned shader_mask
|
|||
}
|
||||
}
|
||||
|
||||
si_decompress_resident_textures(sctx);
|
||||
si_decompress_resident_images(sctx);
|
||||
if (shader_mask & u_bit_consecutive(0, SI_NUM_GRAPHICS_SHADERS)) {
|
||||
if (sctx->uses_bindless_samplers)
|
||||
si_decompress_resident_textures(sctx);
|
||||
if (sctx->uses_bindless_images)
|
||||
si_decompress_resident_images(sctx);
|
||||
} else if (shader_mask & (1 << PIPE_SHADER_COMPUTE)) {
|
||||
if (sctx->cs_shader_state.program->uses_bindless_samplers)
|
||||
si_decompress_resident_textures(sctx);
|
||||
if (sctx->cs_shader_state.program->uses_bindless_images)
|
||||
si_decompress_resident_images(sctx);
|
||||
}
|
||||
|
||||
si_check_render_feedback(sctx);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue