mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
anv: fix xfb usage with rasterizer discard
in the initial implementation, a stream like: * CmdBeginTransformFeedbackEXT * CmdSetRasterizerDiscardEnableEXT * CmdDraw * CmdEndTransformFeedbackEXT * CmdBeginTransformFeedbackEXT * CmdDraw * CmdEndTransformFeedbackEXT would never enable transform feedback, as it only checked for the change in rasterizer_discard state Fixes:4d531c67df("anv: support rasterizer discard dynamic state") Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15269> (cherry picked from commit52f6978484)
This commit is contained in:
parent
6822ea6304
commit
3aca53b5dd
2 changed files with 5 additions and 3 deletions
|
|
@ -670,7 +670,7 @@
|
|||
"description": "anv: fix xfb usage with rasterizer discard",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "4d531c67dfd93ff6b1dc4a9626074a74dfb14a2d"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -3922,8 +3922,10 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
|
|||
|
||||
cmd_buffer_emit_clip(cmd_buffer);
|
||||
|
||||
if (cmd_buffer->state.gfx.dirty & ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE)
|
||||
cmd_buffer_emit_streamout(cmd_buffer);
|
||||
if (pipeline->dynamic_states & ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE) {
|
||||
if (cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE | ANV_CMD_DIRTY_XFB_ENABLE))
|
||||
cmd_buffer_emit_streamout(cmd_buffer);
|
||||
}
|
||||
|
||||
if (cmd_buffer->state.gfx.dirty & ANV_CMD_DIRTY_DYNAMIC_VIEWPORT)
|
||||
gfx8_cmd_buffer_emit_viewport(cmd_buffer);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue