mesa/src
Alyssa Rosenzweig b6a30b72ab panfrost: Implement provoking vertices on Valhall
Starting with Valhall, the provoking vertex state is specified per-framebuffer
(batch) instead of per-draw. We use the pan_tristate infrastructure to translate
between desktop OpenGL's per-draw semantics to Valhall's per-framebuffer
semantic. This is notably not required for GLES or Vulkan.

If the provoking vertex is unset when the tiler context is generated, it could
be set (incompatibly) later in the batch, and the tiler context's provoking
vertex field would no longer match the framebuffer's. That would violate a
hardware invariant. To ensure that doesn't happen, we make sure to set provoking
vertexes *before* generating the tiler context so it can't change after.

Fixes arb-provoking-vertex-render on Valhall.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17068>
2022-06-20 18:38:16 +00:00
..
amd radv: Check descriptor pool entry count before allocating a new set. 2022-06-20 10:50:01 +00:00
android_stub
asahi asahi,agx: Don't set PIPE_CAP_POINT_COORD_ORIGIN_UPPER_LEFT 2022-06-08 14:10:50 +00:00
broadcom v3dv/ci: Update expected results 2022-06-20 15:37:39 +00:00
c11 c11: Implement thread_local in c11/threads.h 2022-06-15 17:37:17 +00:00
compiler nir/opt_load_store_vectorize: handle task payloads 2022-06-20 17:38:20 +00:00
drm-shim drm-shim: Cleanup on device file close 2022-05-02 19:50:33 +00:00
egl meson: Using get_argument_syntax as the --compiler_id option for gen_vs_module_defs.py 2022-06-16 19:59:58 +00:00
etnaviv ci/etnaviv: gc2000: drop flakes from fails 2022-06-14 11:23:57 +00:00
freedreno ci/freedreno: disable non-existing trace 2022-06-20 16:36:10 +00:00
gallium panfrost: Implement provoking vertices on Valhall 2022-06-20 18:38:16 +00:00
gbm gallium: Learn about kopper 2022-04-07 00:17:40 +00:00
getopt
glx glx: using C++11 keyword thread_local 2022-06-15 17:37:16 +00:00
gtest
hgl
imagination pvr: Extend hard coding infra to allow per stage per device coding. 2022-06-20 16:59:01 +00:00
imgui
intel intel/compiler: vectorize task payload loads/stores 2022-06-20 17:38:20 +00:00
loader gallium/dri: add missing PIPE_BIND_DRI_PRIME handling 2022-02-08 00:13:07 +00:00
mapi meson: Using get_argument_syntax as the --compiler_id option for gen_vs_module_defs.py 2022-06-16 19:59:58 +00:00
mesa mesa/st: increment num_uniforms for hw accel select shaders 2022-06-18 20:18:18 +00:00
microsoft ci/dzn: Move to a .toml description 2022-06-20 14:48:51 +00:00
nouveau nouveau/nir: Implement mul_zero_wins behavior for use_legacy_math_rules. 2022-06-10 03:26:33 +00:00
panfrost panfrost: Implement provoking vertices on Valhall 2022-06-20 18:38:16 +00:00
tool pps: Open writable renderer node in DrmDevice::create 2022-05-11 15:41:28 +00:00
util util: Fix invalid usage of alignas in u_cpu_detect.c 2022-06-15 21:27:57 +00:00
virtio venus: resolve YV12 AHB to VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM 2022-06-17 00:40:10 +00:00
vulkan meson: Using get_argument_syntax as the --compiler_id option for gen_vs_module_defs.py 2022-06-16 19:59:58 +00:00
meson.build meson: Use cc.get_argument_syntax instead cc.get_id when possible. 2022-06-16 19:59:58 +00:00