Jesse Natalie
0bf1a43601
dzn: Don't use plane slice 1 for depth+stencil SRVs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:44 +00:00
Jesse Natalie
442d456b28
dzn: Consistently order depth formats before stencil
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
4c5100f94a
dzn: Put UAVs first for storage images/buffers in descriptor tables
...
When running in a bindless mode, we won't ever be using SRVs for these.
Change terminology for determining descriptor offsets from "writable"
to "alt" to match naming already used elsewhere.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
8887852d20
dzn: Add some docs around descriptor sets and remove redundant/unused data
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
492d61cfbb
dzn: Fix a leak in descriptor set layout creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
3f2e13eaf8
dzn: Remove descriptor heap type from descriptor heap wrapper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
599abf5b1a
dzn: Remove device pointers from descriptor heaps
...
A future change is going to add descriptor heaps *to* the dzn_device,
and having 3x ID3D12Device pointers in a single object just seems
wrong. All of the callers already had a device, so just pass it
along where needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
79ef6e4e8f
spirv2dxil: Support descriptor indexing capabilities
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
e0a090adfd
spirv2dxil: Only lower readonly images to SRVs when the option is set
...
This handles the case where readonly is explicitly marked in the shader,
rather than just inferred based on opt_access.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
b125575f95
spirv2dxil: Add a pass to lower deref tex/image and vulkan ubo/ssbo to bindless
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
4f31d1a7e0
microsoft/compiler: Update header docs for binding modes supported by compiler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
4fc7d2480a
microsoft/compiler: Use store_dest instead of store_dest_value more
...
The 16bit SSBO load support missed setting the 16bit shader flag.
Make it harder to miss that by only using store_dest_value for things
that don't have a type.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
ce004e6391
microsoft/compiler: Support descriptor heap indexing for UBO/SSBO
...
Treat load_vulkan_descriptor on an input that didn't come from
vulkan_resource_index as a descriptor heap index instead of a
binding index.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
88e4edeb2b
microsoft/compiler: Handle "bindless" image/tex sources as heap indices
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
068f1ada9a
microsoft/compiler: Split handle annotation into two parts
...
The first part gets the resource props struct, and the second
actually emits the annotate instruction. Later changes will
get the resource props struct from different sources.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
6220fb454f
microsoft/compiler: Add helpers for getting res_props structs
...
Currently we can get one by looking up already-emitted resource
metadata, but in the future we'll want to be able to get this
info from a call site alone. Depending on the type of call site,
we'll have different sets of info, so add helpers for the
various different kinds of call sites we can support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
abc2412ccc
microsoft/compiler: Refactor type -> resource kind helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
a838f095ef
microsoft/compiler: Only set typed UAV load feature bit for multi-comp loads
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
273a7cf0e2
microsoft/compiler: Fix setting bit 31 in feature flags
...
Fixes: a84208ee ("microsoft/compiler: Fill out and sort the shader/module flags")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
78fc1197eb
microsoft/compiler: Handle writable buffer UAV size queries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22093 >
2023-03-23 18:34:52 +00:00
Jesse Natalie
24d5bdbb6e
ci/windows: Update warp to 1.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22034 >
2023-03-23 07:07:29 +00:00
Jesse Natalie
3ce2b71193
dzn: Claim the arithmetic subgroup bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996 >
2023-03-18 02:33:42 +00:00
Jesse Natalie
b4de74165d
spirv2dxil: Handle arithmetic subgroup ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996 >
2023-03-18 02:33:42 +00:00
Jesse Natalie
ccc9540dae
microsoft/compiler: Add a lowering pass for scan ops that aren't supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996 >
2023-03-18 02:33:42 +00:00
Jesse Natalie
981fe2bf42
microsoft/compiler: Implement wave reduce/exclusive scan ops that are supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996 >
2023-03-18 02:33:42 +00:00
Eric Engestrom
f5d3d1e7ed
meson: inline gtest_test_protocol now that it's always 'gtest'
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21485 >
2023-03-10 07:20:29 +00:00
Caio Oliveira
e411e0afd3
microsoft/compiler: Handle scoped barrier in Tess splitting
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3339 >
2023-02-27 20:24:01 +00:00
Mike Blumenkrantz
7c8a5f6e37
vulkan/wsi: switch to using an options struct for last param
...
this makes adding values easier since the drivers won't need to be updated
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21447 >
2023-02-27 13:21:21 +00:00
Faith Ekstrand
96c832c47e
spirv: Always emit deref_buffer_array_length intrinsics
...
All the drivers have been converted to setting this option now except
imagination and they don't support SSBOs yet.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3993
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21446 >
2023-02-24 20:37:10 +00:00
Eric Engestrom
fbd644c59d
meson: replace vk_wsi_args with dependencies to let meson take care of transitivity
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19497 >
2023-02-23 09:42:46 +00:00
Daniel Schürmann
2bb369dd8d
nir: add assertions that loops don't have a Continue Construct
...
Hoping that I didn't miss any, this *should* add assertions
to all functions and passes which explicitly handle 'nir_loop'.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Erik Faye-Lund
29ffc79410
meson: don't pass vk wsi args where they don't belong
...
Only code that cares about Vulkan WSI should get the corresponding
arguments passed. Otherwise, the Vulkan headers might end up including
other headers that we don't have the correct dependencies passed for.
So let's give those a dedicated variable, and only pass that where it's
actually needed.
Fixes: b39958a3a1 ("anv,nir: Move the ANV YCbCr lowering pass to common code")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8193
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21185 >
2023-02-15 18:35:14 +00:00
Jesse Natalie
87e83ce58e
dzn: Enable KHR_storage_buffer_storage_class
...
It's required for VK1.1 and Mesa's SPIR-V parser handles it for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +00:00
Giancarlo Devich
11bec22647
d3d12: Don't clear d3d12_shader_key
...
The shader key structure is quite large and memsetting it to zero to be
able to create or often simply find an existing shader is responsible
for a large portion of CPU usage during benchmarks.
This change is more surgical about what, when, and how things get
cleared.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247 >
2023-02-13 22:57:03 +00:00
Jesse Natalie
7ead717393
dzn: Enable 16bit types when supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
d7f9e2db59
dzn: Get options4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
08fc7315c5
dzn: Delete unused extensions table
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
cc906c0eed
dzn: Enable get_surface_capabilities2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
a7d4309234
spirv2dxil: Support 16bit types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
536ab16bc1
spirv2dxil: Move shader model into runtime conf struct
...
We'll want to use it to control the shape of the nir that we generate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
4c527f4fc0
spirv2dxil: Lower unaligned loads and stores
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
9e2683c6f0
spirv2dxil: Set min UBO/SSBO alignments
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
58e7acb0e2
microsoft/compiler: Support lowering SSBO accesses to 16bit vectors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
0f56fc09d9
microsoft/compiler: Support raw buffer load/store intrinsics with 16bit alignment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
196dc72838
microsoft/compiler: Handle 48-bit stores to SSBO/shared
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
c994c8b3fd
microsoft/compiler: Pass an alignment to constant buffer load lowering
...
This means we can stop doing conditionals and shifts if we know the
alignment of a load for a small amount of data.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
7fcb60be37
microsoft/compiler: Simplify bitpacking for load/store lowering with nir_extract_bits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
7830901751
microsoft/compiler: Pass deref modes to unaligned pass and handle push const
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
facd2e4fdb
microsoft/compiler: Move unaligned load/store pass from CL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
f50843fcdb
microsoft/compiler: Handle undef-rounding f2f16 as rtz
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00