mesa/src/asahi
Asahi Lina c12153cd89 asahi: Identify & disable triangle merging for shaders using derivatives
It seems triangle merging is incompatible with calculating derivatives
along primitive edges correctly. Take the appropriate NIR shader info
flags in the compiler and pass them down as a flag to the driver, so it
can set the disable triangle merging flag (formerly called "lines or
points").

TODO: Is this what macOS does when you set a sample mask there (which
apparently fixes the same bug on the Darwinia Metal backend)? Do we
also need to set this when sample masks are used?

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fixes Darwinia and dEQP2 projected tests.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20365>
2022-12-17 18:10:28 +00:00
..
compiler asahi: Identify & disable triangle merging for shaders using derivatives 2022-12-17 18:10:28 +00:00
drm-shim asahi: Add drm-shim implementation 2022-11-07 16:10:11 +00:00
layout ail: Assert that the mip level is in bounds 2022-12-17 18:10:28 +00:00
lib asahi: Identify & disable triangle merging for shaders using derivatives 2022-12-17 18:10:28 +00:00
meson.build asahi: Add drm-shim implementation 2022-11-07 16:10:11 +00:00