Mesa (master): i965/gen6/xfb: handle case where transform feedback is not active

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 28 13:34:34 UTC 2018


Module: Mesa
Branch: master
Commit: 1b0df8a46020cc88afeaa4decb42a782ab168afb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b0df8a46020cc88afeaa4decb42a782ab168afb

Author: Andrii Simiklit <asimiklit.work at gmail.com>
Date:   Wed Aug 15 18:20:32 2018 +0300

i965/gen6/xfb: handle case where transform feedback is not active

When the SVBI Payload Enable is false I guess the register R1.4
which contains the Maximum Streamed Vertex Buffer Index is filled by zero
and GS stops to write transform feedback when the transform feedback
is not active.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107579
Signed-off-by: Andrii Simiklit <andrii.simiklit at globallogic.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

---

 src/mesa/drivers/dri/i965/genX_state_upload.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
index c051848985..ca24394aa7 100644
--- a/src/mesa/drivers/dri/i965/genX_state_upload.c
+++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
@@ -2806,7 +2806,7 @@ genX(upload_gs_state)(struct brw_context *brw)
 #if GEN_GEN < 7
          gs.SOStatisticsEnable = true;
          if (gs_prog->info.has_transform_feedback_varyings)
-            gs.SVBIPayloadEnable = true;
+            gs.SVBIPayloadEnable = _mesa_is_xfb_active_and_unpaused(ctx);
 
          /* GEN6_GS_SPF_MODE and GEN6_GS_VECTOR_MASK_ENABLE are enabled as it
           * was previously done for gen6.




More information about the mesa-commit mailing list