mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-16 13:40:29 +01:00
radv: fix re-emitting RB+ when the non-compacted color format changes
If the previously emitted graphics pipeline uses the value A for col_format_non_compacted and the new bound graphics pipeline uses B. At bind time, radv_cmd_state::col_format_non_compacted will be set to B and the rbplus flag will be dirtied. But if there is no draws and a new graphics pipeline is bound with the same value as A, the next draw will emit the rbplus state with B instead of A. This can be basically triggered with meta operations after drawing because the driver saves/restores the bound pipeline. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8073 Fixes:11469f7553("radv: copy the non-compacted color format at pipeline bind time") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20692> (cherry picked from commit5b3fb44ecc)
This commit is contained in:
parent
a56dcf635e
commit
264d64cc6c
2 changed files with 2 additions and 2 deletions
|
|
@ -175,7 +175,7 @@
|
|||
"description": "radv: fix re-emitting RB+ when the non-compacted color format changes",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "11469f7553dc69a6c4b779527e6738c3206aa21c"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6233,7 +6233,7 @@ radv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipeline
|
|||
|
||||
if (cmd_buffer->device->physical_device->rad_info.rbplus_allowed &&
|
||||
(!cmd_buffer->state.emitted_graphics_pipeline ||
|
||||
cmd_buffer->state.emitted_graphics_pipeline->col_format_non_compacted != graphics_pipeline->col_format_non_compacted)) {
|
||||
cmd_buffer->state.col_format_non_compacted != graphics_pipeline->col_format_non_compacted)) {
|
||||
cmd_buffer->state.col_format_non_compacted = graphics_pipeline->col_format_non_compacted;
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_RBPLUS;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue