llvmpipe: don't use sample mask with 0 samples
authorDave Airlie <airlied@redhat.com>
Mon, 6 Apr 2020 06:57:47 +0000 (16:57 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 19 May 2020 00:26:46 +0000 (10:26 +1000)
piglit:
spec/arb_sample_shading/builtin-gl-sample-mask 0
spec/arb_sample_shading/builtin-gl-sample-mask-simple 0
CTS:
KHR-GL45.sample_variables.mask.rgba8.samples_0.mask_zero

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>

.gitlab-ci/piglit/quick_gl.txt
src/gallium/drivers/llvmpipe/lp_state_fs.c

index 74e048377278e68564d60552b5cd0af6878f987d..2e0134c56bb98877580a44704f14265fc82e582f 100644 (file)
@@ -523,12 +523,10 @@ spec/arb_sample_shading/builtin-gl-sample-id 16: skip
 spec/arb_sample_shading/builtin-gl-sample-id 32: skip
 spec/arb_sample_shading/builtin-gl-sample-id 6: skip
 spec/arb_sample_shading/builtin-gl-sample-id 8: skip
-spec/arb_sample_shading/builtin-gl-sample-mask 0: fail
 spec/arb_sample_shading/builtin-gl-sample-mask 16: skip
 spec/arb_sample_shading/builtin-gl-sample-mask 32: skip
 spec/arb_sample_shading/builtin-gl-sample-mask 6: skip
 spec/arb_sample_shading/builtin-gl-sample-mask 8: skip
-spec/arb_sample_shading/builtin-gl-sample-mask-simple 0: fail
 spec/arb_sample_shading/builtin-gl-sample-mask-simple 16: skip
 spec/arb_sample_shading/builtin-gl-sample-mask-simple 32: skip
 spec/arb_sample_shading/builtin-gl-sample-mask-simple 6: skip
@@ -1714,8 +1712,8 @@ wgl/wgl-sanity: skip
 summary:
        name:  results
        ----  --------
-       pass:    20701
-       fail:      224
+       pass:    20703
+       fail:      222
       crash:        0
        skip:     1465
     timeout:        0
index c60faece9be44c31e5b3c3a57876323ca320a7fe..9a6510a8b2c159e8aac55c8e654c4b6701847c93 100644 (file)
@@ -742,15 +742,7 @@ generate_fs_loop(struct gallivm_state *gallivm,
 
       assert(smaski >= 0);
       output_smask = LLVMBuildLoad(builder, outputs[smaski][0], "smask");
-      /*
-       * Pixel is alive according to the first sample in the mask.
-       */
       output_smask = LLVMBuildBitCast(builder, output_smask, smask_bld.vec_type, "");
-      if (!key->multisample) {
-         output_smask = lp_build_and(&smask_bld, output_smask, smask_bld.one);
-         output_smask = lp_build_cmp(&smask_bld, PIPE_FUNC_NOTEQUAL, output_smask, smask_bld.zero);
-         lp_build_mask_update(&mask, output_smask);
-      }
 
       if (key->min_samples > 1) {
          /* only the bit corresponding to this sample is to be used. */