mesa/src
Jose Fonseca 77092ca8f4 llvmpipe: Honor zero sample_mask when multisample is disabled.
The JIT generated FS shader has logic to obey sample mask when:
multisample is enabled, or multisample is disabled but FS writes sample
mask and pipe_rasterizer_state::no_ms_sample_mask_out.

However it did not handle the case where multisample was disabled, FS
did not write sample_mask, and sample mask was zero.  Instead it relied
upon the setup to discard the primitives, but that went away with commit
da5840f3.

We could restore the discard on zero mask behavior, but we would again
blurring the semantics of rasterization discard.  Instead this change
adds logic to primitive setup to cull the primitives when sample mask is
zero.

Fixes: da5840f3 ("llvmpipe: Faithfully honour pipe_rasterizer_state::rasterizer_discard flag")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20934>
2023-01-27 12:05:17 +00:00
..
amd meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
android_stub android: Cleanup unneeded headers from the sync stub 2023-01-25 08:58:25 -03:00
asahi asahi: Handle sampler->compare_mode 2023-01-13 19:43:14 +00:00
broadcom meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
c11 c11: Remove _MTX_INITIALIZER_NP for windows 2022-11-09 04:38:28 +00:00
compiler meson: use files() instead of joining paths 2023-01-27 11:35:50 +00:00
drm-shim drm-shim: Use hide_drm_device_path() to hide other drm devices 2022-12-30 15:51:11 -08:00
egl egl/dri2: Use primary device in EGL device platform for kms_swrast 2023-01-27 08:55:58 +00:00
etnaviv ci: Add manual rules variations to disable irrelevant driver jobs. 2023-01-26 00:48:19 +00:00
freedreno meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
gallium llvmpipe: Honor zero sample_mask when multisample is disabled. 2023-01-27 12:05:17 +00:00
gbm gbm/backend: fix gbm compile without dri 2023-01-13 22:29:29 +00:00
getopt
glx loader,glx,egl: remove is_different_gpu variable from loader 2023-01-24 12:51:35 +00:00
gtest gtest: Fix maybe-uninitialized compiler warning 2022-06-29 21:02:18 +00:00
hgl
imagination meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
imgui
intel meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
loader loader: Add infrastructure for tracking active CRTC resources 2023-01-27 04:35:08 +00:00
mapi glthread: make marshal functions for glBegin/End attribs non-static 2023-01-20 21:34:09 -05:00
mesa mesa: fix out of bounds stack access on big endian 2023-01-25 23:27:10 +00:00
microsoft meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
nouveau nir: Eliminate nir_op_i2b 2022-12-14 06:23:21 +00:00
panfrost meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
tool tool/pps: Fix 32-bit build issue with format string 2023-01-18 19:27:41 +00:00
util util/tests/cache_test: Skip Cache.List if not supported 2023-01-26 13:06:27 +00:00
virtio meson: do not reconstruct ICD paths 2023-01-27 11:35:50 +00:00
vulkan vulkan/rmv: Remove delta parameter from dump helpers 2023-01-26 01:17:26 +00:00
meson.build wgl: Add support for Xbox GDK. 2023-01-19 03:25:55 +00:00