mirror of https://gitlab.freedesktop.org/mesa/mesa
radv: Reserve space in framebuffer emission.
In the execute secondary scenario nothing else does it for us. Fixes:203f60ebf2
("radv: emit framebuffer state from primary if secondary doesn't inherit it") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22392> (cherry picked from commit4879f309a6
)
This commit is contained in:
parent
60fd425cae
commit
d99aa64f07
|
@ -3964,7 +3964,7 @@
|
|||
"description": "radv: Reserve space in framebuffer emission.",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "203f60ebf2f64dab3dc77ce9c098a6ae3d2aca43",
|
||||
"notes": null
|
||||
|
|
|
@ -3389,6 +3389,9 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer *cmd_buffer)
|
|||
? S_028C70_FORMAT_GFX11(V_028C70_COLOR_INVALID)
|
||||
: S_028C70_FORMAT_GFX6(V_028C70_COLOR_INVALID);
|
||||
|
||||
ASSERTED unsigned cdw_max =
|
||||
radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, 48 + MAX_RTS * 70);
|
||||
|
||||
for (i = 0; i < render->color_att_count; ++i) {
|
||||
struct radv_image_view *iview = render->color_att[i].iview;
|
||||
if (!iview) {
|
||||
|
@ -3520,6 +3523,8 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer *cmd_buffer)
|
|||
}
|
||||
}
|
||||
|
||||
assert(cmd_buffer->cs->cdw <= cdw_max);
|
||||
|
||||
cmd_buffer->state.dirty &= ~RADV_CMD_DIRTY_FRAMEBUFFER;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue