llvmpipe: don't use sample mask with 0 samples

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>
This commit is contained in:
Dave Airlie 2020-04-06 16:57:47 +10:00
parent b11aa12253
commit 5098764483
2 changed files with 2 additions and 12 deletions

View 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

View 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. */