Jesse Natalie
4fede8d419
dzn: Fix path passed to CreateDeviceFactory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27287 >
2024-01-26 01:30:00 +00:00
Jesse Natalie
fa1c9618f9
dzn: Don't set view instancing mask until after the PSO
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27286 >
2024-01-26 01:05:02 +00:00
Jesse Natalie
98ec98d08f
spirv2dxil: Handle aliasing/overlapping UBO/SSBO variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27280 >
2024-01-25 21:20:58 +00:00
Jesse Natalie
4833126b40
spirv2dxil: Fix the spirv2dxil command line tool
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27280 >
2024-01-25 21:20:58 +00:00
Jesse Natalie
9b495ee8a9
dzn: Disable depth/stencil for partial binding from dynamic rendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
f4c6d9d9a9
dzn: Handle VkBindImageMemorySwapchainInfoKHR
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
df684ee653
dzn: Fix enhanced barrier layout for depth blits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
fcd56e31f7
dzn: Implement maintenance3 VariableDescriptorCountLayoutSupport
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27224 >
2024-01-24 22:32:59 +00:00
Jesse Natalie
beb82c836d
microsoft/compiler: Add feature flags for new comparison sampling ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27200 >
2024-01-24 21:38:49 +00:00
Karol Herbst
f2b7c4ce29
nir: rework and fix rotate lowering
...
No driver supports urol/uror on all bit sizes. Intel gen11+ only for 16
and 32 bit, Nvidia GV100+ only for 32 bit. Etnaviv can support it on 8,
16 and 32 bit.
Also turn the `lower` into a `has` option as only two drivers actually
support `uror` and `urol` at this momemt.
Fixes crashes with CL integer_rotate on iris and nouveau since we emit
urol for `rotate`.
v2: always lower 64 bit
Fixes: fe0965afa6 ("spirv: Don't use libclc for rotate")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by (Intel and nir): Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27090 >
2024-01-22 10:27:44 +00:00
Jesse Natalie
ebcab145cf
dzn: Add a debug option to enable experimental shader models
...
This allows us to run with unsigned shaders
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160 >
2024-01-20 00:07:15 +00:00
Jesse Natalie
90bf4b630b
microsoft/compiler: Handle comparison bias/gradient sampling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160 >
2024-01-20 00:07:15 +00:00
Jesse Natalie
733b7fe831
microsoft/compiler: Declare shader model 6.8 / validator 1.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160 >
2024-01-20 00:07:15 +00:00
Karol Herbst
36012af17f
nir/printf: remove treat_doubles_as_floats
...
It is broken and clang uses fp32 for float constants if the fp64 extension
isn't enabled anyway. SPIRVs can't use fp64 constants with printf unless
they enable the Float64 cap, which also requires cl_khr_fp64 to be
supported.
So just remove it and rely on clang handling -cl-single-precision-constant
correctly, which at the moment doesn't seem to be the case, but we can
think about that once we plan to support cl_khr_fp64.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26541 >
2024-01-18 13:16:13 +01:00
Daniel Schürmann
bdbf873b0f
nir: remove redundant passes from nir_opt_if()
...
These are now covered by nir_opt_loop():
- opt_if_loop_last_continue()
- opt_merge_breaks()
- opt_if_loop_terminator()
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24940 >
2024-01-03 20:48:05 +00:00
Daniel Schürmann
a3ed36da1a
treewide: replace calls to nir_opt_trivial_continues() with nir_opt_loop()
...
Totals from 850 (1.11% of 76636) affected shaders: (RADV, GFX11)
MaxWaves: 18134 -> 18130 (-0.02%)
Instrs: 3011298 -> 3008585 (-0.09%); split: -0.17%, +0.08%
CodeSize: 15836804 -> 15841972 (+0.03%); split: -0.09%, +0.12%
VGPRs: 63580 -> 63604 (+0.04%)
SpillSGPRs: 966 -> 1148 (+18.84%); split: -0.83%, +19.67%
Latency: 36102291 -> 30186144 (-16.39%); split: -16.41%, +0.02%
InvThroughput: 9058100 -> 7011821 (-22.59%); split: -22.61%, +0.02%
VClause: 65369 -> 65364 (-0.01%); split: -0.03%, +0.02%
SClause: 100309 -> 100305 (-0.00%); split: -0.04%, +0.04%
Copies: 335658 -> 336472 (+0.24%); split: -0.70%, +0.94%
Branches: 110806 -> 108945 (-1.68%); split: -1.94%, +0.26%
PreSGPRs: 73476 -> 73934 (+0.62%); split: -0.25%, +0.87%
PreVGPRs: 58809 -> 58840 (+0.05%); split: -0.01%, +0.06%
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24940 >
2024-01-03 20:48:04 +00:00
Yonggang Luo
0210b554d6
treewide: Replace the include of nir_types.h with glsl_types.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26753 >
2023-12-30 15:08:11 +00:00
Yonggang Luo
4d6d0a24ed
ci/msvc: Rename vs2019 to msvc
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26736 >
2023-12-24 11:46:43 +00:00
Yonggang Luo
1e6fcd6a61
dzn: Remove #if D3D12_SDK_VERSION blocks now that 611 is required
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26794 >
2023-12-22 13:35:35 +00:00
Jesse Natalie
555955fc9f
dzn: Fix 3D to 2D image copies
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26795 >
2023-12-22 00:29:22 +00:00
Jesse Natalie
19175e474b
microsoft: Whitespace change to trigger CI
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26706 >
2023-12-15 00:39:10 +00:00
Jesse Natalie
7cd0553572
microsoft/clc: Flip on capabilities to prevent warning spew
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26582 >
2023-12-11 16:28:29 +00:00
Jesse Natalie
d157cd7442
microsoft/clc: One more image lowering fix
...
Bindings are not necessarily globally unique, and even the location
where we were trying to read the binding value out of is a union, so
we could be trying to compare binding values against data for other
arg types.
Instead, use the arg metadata offset, which is globally unique and
outside of the union.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26555 >
2023-12-06 23:46:42 +00:00
Faith Ekstrand
adafcacf15
microsoft: Stop claiming dot_4x8_sat support
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26533 >
2023-12-06 23:15:33 +00:00
Faith Ekstrand
09fc5e1c4d
nir: Split has_[su]dot_4x8 bits into regular and _sat versions
...
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26533 >
2023-12-06 23:15:33 +00:00
Eric Engestrom
90a77f55de
ci: drop containers, builds, and tests from post-merge pipeline
...
All these jobs are redundant and a waste of resources:
- the containers have already been built & pushed in the merge pipeline
- the mesa build variants have already all passed
- the driver tests have already all passed
None of these jobs are doing anything useful in this pipeline, but it
costs a factor of 2x to our infrastructure, so let's remove them.
In other words, the only job left in the post-merge pipeline is the
`pages` job that deploys the update to the website.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451 >
2023-12-06 08:26:04 +00:00
jphuang
02a873fa2a
dzn: Change dst image layout according to aspect
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26532 >
2023-12-06 03:36:07 +00:00
Jesse Natalie
d7f038e8de
microsoft/clc: Add a test which sinks image derefs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26529 >
2023-12-06 01:07:24 +00:00
Jesse Natalie
c8895a4b85
microsoft/clc: Fix images with multiple derefs for real
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26529 >
2023-12-06 01:07:24 +00:00
Faith Ekstrand
a41d65cfba
dxil: Use mesa_prim consistently
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24821 >
2023-12-05 23:12:32 +00:00
Yonggang Luo
e568ef122a
d3d12,dzn: Simplify the usage of #include <wsl/winadapter.h>
...
Now wsl/winadapter.h are platform independent
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26508 >
2023-12-05 03:24:30 +00:00
Yonggang Luo
767aa00230
dzn: Fixes -Werror=incompatible-pointer-type
...
Error message:
../../src/microsoft/vulkan/dzn_device.c:3840:108: error: passing argument 5 of 'device->dev13->lpVtbl->OpenExistingHeapFromAddress1' from incompatible pointer type [-Werror=incompatible-pointer-types]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26508 >
2023-12-05 03:24:30 +00:00
Jesse Natalie
be05c9458a
microsoft/clc: Fix image lowering pass to only erase variables at the end
...
Otherwise, if a variable has multiple derefs in a shader, we'll crash
trying to remove it a second time. No idea how that can happen though,
seems derefs got sunk by opt_dead_cf.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26435 >
2023-11-30 23:32:08 +00:00
Jesse Natalie
ea5925461b
microsoft/compiler: Fix lower_mem_access_bit_size callback result
...
When given (e.g.) 3x 16-bit components to store on a device that
isn't using native 16-bit loads and stores, we should be lowering
that into one 32-bit store and one masked store. Instead, the logic
here ends up returning that the best we can do is one 8-byte store,
which is clearly wrong. Stores should round down, loads should
round up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26293 >
2023-11-21 19:11:40 +00:00
Jesse Natalie
cb019ff926
d3d12: GL4.6
...
This enables pipeline stats and SO overflow queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26210 >
2023-11-17 19:19:11 +00:00
Jesse Natalie
9fe88dd9b9
d3d12: Support enhanced layouts for VS inputs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156 >
2023-11-14 00:18:53 +00:00
Jesse Natalie
c77f8b4db0
microsoft/compiler: Stop lowering all I/O to temps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156 >
2023-11-14 00:18:53 +00:00
Jesse Natalie
d6dea13231
microsoft/compiler: When packing fractional inputs, find a row with space for it
...
Enables vertex attributes to overlap (as GL requires) when using
enhanced layouts with explicit component packing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156 >
2023-11-14 00:18:52 +00:00
Jesse Natalie
d7bc277726
microsoft/compiler: Don't use 64-bit types for signature entries
...
HLSL can't declare these, and the DXIL accesses them as i32 anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156 >
2023-11-14 00:18:52 +00:00
Jesse Natalie
2334ff67b7
microsoft/compiler: Don't declare PS output registers split across variables
...
DXIL doesn't support that. Color targets need to be float4s.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156 >
2023-11-14 00:18:52 +00:00
Jesse Natalie
adc7caa3ec
microsoft/compiler: Bump signature limits for 32 rows of 4 components
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156 >
2023-11-14 00:18:52 +00:00
Jesse Natalie
405dead1b7
microsoft/compiler: Set src/dest nir types on image intrinsics when deducing format
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26104 >
2023-11-07 22:31:19 +00:00
Yonggang Luo
84db4d5698
micosoft: decouple microsoft vulkan driver and compiler from gallium
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24440 >
2023-11-04 00:02:59 +00:00
Yonggang Luo
8bcb996a88
micosoft: define enum dxil_tex_wrap to avoid the usage of enum pipe_tex_wrap
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24440 >
2023-11-04 00:02:59 +00:00
Yonggang Luo
a36ad49e0e
microsoft/clc: Use 128 instead of PIPE_MAX_SHADER_SAMPLER_VIEWS
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24440 >
2023-11-04 00:02:59 +00:00
Yonggang Luo
1181c2509d
microsoft/clc: Using sampler_id instead PIPE_MAX_SHADER_SAMPLER_VIEWS for dxil_lower_sample_to_txf_for_integer_tex
...
Because sampler_id is the real number of samples.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24440 >
2023-11-04 00:02:59 +00:00
Jesse Natalie
e51acb65ac
dzn: Fix memory type sorting
...
For a dGPU, we should have:
1. RAM
2. RAM + write-combined CPU access
3. RAM + cached CPU access
4. VRAM
Eventually there'll be VRAM + write-combined CPU access after 4, using "GPU upload heaps"
For an iGPU, we should have:
1. RAM (declared as device-local)
2. RAM + write-combined CPU access (declared as device-local)
3. RAM + cached CPU access (declared as device-local)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26037 >
2023-11-03 23:33:02 +00:00
Jesse Natalie
228329f4da
vulkan: Consolidate common ICD methods
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25998 >
2023-11-03 20:01:14 +00:00
Jesse Natalie
32f0034ec9
vulkan: Remove no-longer-needed prototypes for ICD entrypoints
...
The comment around these is no longer true, vk_icd.h does in fact
have prototypes for these functions.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25998 >
2023-11-03 20:01:14 +00:00
Jesse Natalie
5550c1daf4
dzn: Use vk_properties helper
...
Addresses part of https://gitlab.freedesktop.org/mesa/mesa/-/issues/9521
Required for https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25998
to actually work correctly for Dozen
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26014 >
2023-11-03 00:00:13 +00:00