From 9caa1d5b1ff2594a5acbefa51ad8e997d35bbe69 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Mon, 8 Dec 2025 02:00:09 -0400 Subject: [PATCH] [revert] StreamingByteCount conditional to TFB Active --- .../renderer_vulkan/vk_rasterizer.cpp | 24 +++---------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index d216b2f1c3..e491cb2145 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -232,7 +232,6 @@ void RasterizerVulkan::PrepareDraw(bool is_indexed, Func&& draw_func) { UpdateDynamicStates(); HandleTransformFeedback(); - query_cache.NotifySegment(true); query_cache.CounterEnable(VideoCommon::QueryType::ZPassPixelCount64, maxwell3d->regs.zpass_pixel_count_enable); @@ -1073,31 +1072,14 @@ void RasterizerVulkan::HandleTransformFeedback() { std::call_once(warn_unsupported, [&] { LOG_ERROR(Render_Vulkan, "Transform feedbacks used but not supported"); }); - query_cache.CounterEnable(VideoCommon::QueryType::StreamingByteCount, false); return; } - // Only enable the streamer when TFB is actually active and a buffer is bound; otherwise keep it off - const bool tfb_enabled = regs.transform_feedback_enabled != 0; - const bool has_active_tfb_buffer = [®s] { - for (size_t i = 0; i < Maxwell::Regs::NumTransformFeedbackBuffers; i++) { - if (regs.transform_feedback.buffers[i].enable != 0) { - return true; - } - } - return false; - }(); - - if (!tfb_enabled || !has_active_tfb_buffer) { - query_cache.CounterEnable(VideoCommon::QueryType::StreamingByteCount, false); - return; - } - - if (tfb_enabled) { + query_cache.CounterEnable(VideoCommon::QueryType::StreamingByteCount, + regs.transform_feedback_enabled); + if (regs.transform_feedback_enabled != 0) { UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderType::TessellationInit) || regs.IsShaderConfigEnabled(Maxwell::ShaderType::Tessellation)); } - - query_cache.CounterEnable(VideoCommon::QueryType::StreamingByteCount, true); } void RasterizerVulkan::UpdateViewportsState(Tegra::Engines::Maxwell3D::Regs& regs) {