anv: emit conditional after gfx state flushing
In a following change the predicate registers might be used when flushing the state. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29595>
This commit is contained in:
committed by
Marge Bot
parent
ed43be941e
commit
f8c0a99d52
@@ -960,9 +960,6 @@ void genX(CmdDraw)(
|
|||||||
*/
|
*/
|
||||||
genX(flush_pipeline_select_3d)(cmd_buffer);
|
genX(flush_pipeline_select_3d)(cmd_buffer);
|
||||||
|
|
||||||
if (cmd_buffer->state.conditional_render_enabled)
|
|
||||||
genX(cmd_emit_conditional_render_predicate)(cmd_buffer);
|
|
||||||
|
|
||||||
#if GFX_VER < 11
|
#if GFX_VER < 11
|
||||||
cmd_buffer_emit_vertex_constants_and_flush(cmd_buffer,
|
cmd_buffer_emit_vertex_constants_and_flush(cmd_buffer,
|
||||||
get_vs_prog_data(pipeline),
|
get_vs_prog_data(pipeline),
|
||||||
@@ -973,6 +970,9 @@ void genX(CmdDraw)(
|
|||||||
genX(cmd_buffer_flush_gfx_state)(cmd_buffer);
|
genX(cmd_buffer_flush_gfx_state)(cmd_buffer);
|
||||||
genX(emit_ds)(cmd_buffer);
|
genX(emit_ds)(cmd_buffer);
|
||||||
|
|
||||||
|
if (cmd_buffer->state.conditional_render_enabled)
|
||||||
|
genX(cmd_emit_conditional_render_predicate)(cmd_buffer);
|
||||||
|
|
||||||
genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, true);
|
genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, true);
|
||||||
|
|
||||||
anv_batch_emit(&cmd_buffer->batch, _3DPRIMITIVE_DIRECT, prim) {
|
anv_batch_emit(&cmd_buffer->batch, _3DPRIMITIVE_DIRECT, prim) {
|
||||||
@@ -1141,9 +1141,6 @@ void genX(CmdDrawIndexed)(
|
|||||||
*/
|
*/
|
||||||
genX(flush_pipeline_select_3d)(cmd_buffer);
|
genX(flush_pipeline_select_3d)(cmd_buffer);
|
||||||
|
|
||||||
if (cmd_buffer->state.conditional_render_enabled)
|
|
||||||
genX(cmd_emit_conditional_render_predicate)(cmd_buffer);
|
|
||||||
|
|
||||||
#if GFX_VER < 11
|
#if GFX_VER < 11
|
||||||
const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline);
|
const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline);
|
||||||
cmd_buffer_emit_vertex_constants_and_flush(cmd_buffer, vs_prog_data,
|
cmd_buffer_emit_vertex_constants_and_flush(cmd_buffer, vs_prog_data,
|
||||||
@@ -1152,6 +1149,10 @@ void genX(CmdDrawIndexed)(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
genX(cmd_buffer_flush_gfx_state)(cmd_buffer);
|
genX(cmd_buffer_flush_gfx_state)(cmd_buffer);
|
||||||
|
|
||||||
|
if (cmd_buffer->state.conditional_render_enabled)
|
||||||
|
genX(cmd_emit_conditional_render_predicate)(cmd_buffer);
|
||||||
|
|
||||||
genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, true);
|
genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, true);
|
||||||
|
|
||||||
anv_batch_emit(&cmd_buffer->batch, _3DPRIMITIVE_DIRECT, prim) {
|
anv_batch_emit(&cmd_buffer->batch, _3DPRIMITIVE_DIRECT, prim) {
|
||||||
@@ -1448,9 +1449,6 @@ void genX(CmdDrawIndirectByteCountEXT)(
|
|||||||
*/
|
*/
|
||||||
genX(flush_pipeline_select_3d)(cmd_buffer);
|
genX(flush_pipeline_select_3d)(cmd_buffer);
|
||||||
|
|
||||||
if (cmd_buffer->state.conditional_render_enabled)
|
|
||||||
genX(cmd_emit_conditional_render_predicate)(cmd_buffer);
|
|
||||||
|
|
||||||
#if GFX_VER < 11
|
#if GFX_VER < 11
|
||||||
const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline);
|
const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline);
|
||||||
if (vs_prog_data->uses_firstvertex ||
|
if (vs_prog_data->uses_firstvertex ||
|
||||||
@@ -1462,6 +1460,9 @@ void genX(CmdDrawIndirectByteCountEXT)(
|
|||||||
|
|
||||||
genX(cmd_buffer_flush_gfx_state)(cmd_buffer);
|
genX(cmd_buffer_flush_gfx_state)(cmd_buffer);
|
||||||
|
|
||||||
|
if (cmd_buffer->state.conditional_render_enabled)
|
||||||
|
genX(cmd_emit_conditional_render_predicate)(cmd_buffer);
|
||||||
|
|
||||||
struct mi_builder b;
|
struct mi_builder b;
|
||||||
mi_builder_init(&b, cmd_buffer->device->info, &cmd_buffer->batch);
|
mi_builder_init(&b, cmd_buffer->device->info, &cmd_buffer->batch);
|
||||||
const uint32_t mocs = anv_mocs_for_address(cmd_buffer->device, &counter_buffer->address);
|
const uint32_t mocs = anv_mocs_for_address(cmd_buffer->device, &counter_buffer->address);
|
||||||
|
|||||||
Reference in New Issue
Block a user