mesa/src/microsoft
Jesse Natalie 128caf94ca microsoft/compiler: Put holes in driver_location based on I/O variable sizes
DXIL requires that each I/O variable has a unique semantic name, but when
dealing with semantics that take up multiple slots, that variable implicitly
takes up multiple names. So when assigning driver_location, we need to do
the same.

That means also updating outputs and patch constants to have a mapping from
driver_location to a compacted index, since the metadata arrays *can't* have
holes.

This would be simpler if we could hang it off the nir_variable but there's
not really any free fields to be able to do that. We only need this compacted
mapping inside the DXIL backend anyway so we can just store the array in the
module.

Tested-by: Benjamin Otte <otte@gnome.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12128
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32047>
2024-12-02 22:40:39 +00:00
..
ci ci/windows: Increase dozen-deqp fraction 2024-09-12 19:07:45 +00:00
clc microsoft/clc: Split struct copies before vars_to_ssa in pre-inline optimizations 2024-07-22 21:16:58 +00:00
compiler microsoft/compiler: Put holes in driver_location based on I/O variable sizes 2024-12-02 22:40:39 +00:00
spirv_to_dxil spirv_to_dxil: add missing SPIR-V capabilities 2024-08-23 16:36:59 +00:00
vulkan dzn: Clean up dri options cache 2024-11-06 20:53:13 +00:00
meson.build build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00