gallivm: fix perspective enable if usage_mask doesn't have 0 bit set
authorDave Airlie <airlied@redhat.com>
Tue, 3 Dec 2019 03:42:03 +0000 (13:42 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 11 Dec 2019 23:16:33 +0000 (09:16 +1000)
The current code looks like a typo, and fails if the usage_mask
is for a y/z enabled input.

Fixes piglit ext_transform_feedback-immediate-reuse-index-buffer
with llvmpipe/nir

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/drivers/llvmpipe/lp_setup_point.c

index 073ca5b1c88825e50fc5128077ccd5dc3714639f..092febdba920f76afb3d49830c1040eca1cea814 100644 (file)
@@ -224,10 +224,10 @@ setup_point_coefficients( struct lp_setup_context *setup,
       boolean perspective = !!(interp == LP_INTERP_PERSPECTIVE);
       unsigned i;
 
-      if (perspective & usage_mask) {
+      if (perspective && usage_mask) {
          fragcoord_usage_mask |= TGSI_WRITEMASK_W;
       }
-      
+
       switch (interp) {
       case LP_INTERP_POSITION:
          /*