diff --git a/src/amd/vulkan/meta/radv_meta.c b/src/amd/vulkan/meta/radv_meta.c index c37c1fbb133..c8500b8ff3a 100644 --- a/src/amd/vulkan/meta/radv_meta.c +++ b/src/amd/vulkan/meta/radv_meta.c @@ -40,7 +40,7 @@ radv_suspend_queries(struct radv_meta_saved_state *state, struct radv_cmd_buffer /* Primitives generated queries (legacy). */ if (cmd_buffer->state.active_prims_gen_queries) { - cmd_buffer->state.suspend_streamout = true; + cmd_buffer->state.streamout.suspended = true; cmd_buffer->state.dirty |= RADV_CMD_DIRTY_STREAMOUT_ENABLE; } @@ -83,7 +83,7 @@ radv_resume_queries(const struct radv_meta_saved_state *state, struct radv_cmd_b /* Primitives generated queries (legacy). */ if (cmd_buffer->state.active_prims_gen_queries) { - cmd_buffer->state.suspend_streamout = false; + cmd_buffer->state.streamout.suspended = false; cmd_buffer->state.dirty |= RADV_CMD_DIRTY_STREAMOUT_ENABLE; } diff --git a/src/amd/vulkan/radv_cmd_buffer.h b/src/amd/vulkan/radv_cmd_buffer.h index 51e12aa28d0..09103eca10e 100644 --- a/src/amd/vulkan/radv_cmd_buffer.h +++ b/src/amd/vulkan/radv_cmd_buffer.h @@ -191,6 +191,9 @@ struct radv_streamout_state { /* VA of the streamout state (GFX12+). */ uint64_t state_va; + + /* Whether streamout is suspended for internal driver operations. */ + bool suspended; }; /** @@ -430,9 +433,6 @@ struct radv_cmd_state { struct radv_shader_part *ps_epilog; - /* Whether to suspend streamout for internal driver operations. */ - bool suspend_streamout; - struct radv_ia_multi_vgt_param_helpers ia_multi_vgt_param; /* Tessellation info when patch control points is dynamic. */ @@ -633,7 +633,7 @@ radv_is_streamout_enabled(struct radv_cmd_buffer *cmd_buffer) struct radv_streamout_state *so = &cmd_buffer->state.streamout; /* Streamout must be enabled for the PRIMITIVES_GENERATED query to work. */ - return (so->streamout_enabled || cmd_buffer->state.active_prims_gen_queries) && !cmd_buffer->state.suspend_streamout; + return (so->streamout_enabled || cmd_buffer->state.active_prims_gen_queries) && !so->suspended; } ALWAYS_INLINE static unsigned