Karol Herbst
eca4f0f632
rusticl/kernel: check that local size on dispatch doesn't exceed limits
...
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232 >
2024-01-24 13:19:00 +00:00
Karol Herbst
2a0c15d5eb
rust/spirv: fix clippy lint on unneeded late initialization
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232 >
2024-01-24 13:19:00 +00:00
Karol Herbst
4dd404dd2e
rusticl/meson: use rust_abi instead of rust_crate_type
...
`rust_crate_type` was deprecated in meson-1.3
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232 >
2024-01-24 13:19:00 +00:00
Tomeu Vizoso
af199e0ff0
teflon: Initial commit
...
Teflon is a Gallium frontend that TensorFlow Lite can load to delegate
the execution of operations in a neural network model.
See docs for more.
Acked-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714 >
2024-01-24 10:02:10 +00:00
Karol Herbst
459b522251
rusticl/program: add debug option to validate internal spirvs
...
Sometimes it's useful to validate SPIR-Vs we generate just to make sure
they are valid.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
6e70699e24
rusticl/program: add clc_validator_options helper function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
421b73207c
rusticl/spirv: use bool::then_Some inside SPIRVBin::link
...
This makes the code way easier to read :)
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
93c1eb112f
rusticl/spirv: do not attempt to parse spirv after failed link
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Karol Herbst
eb2afbc0e5
rusticl/program: rework debug logging option
...
the changes:
1. log also in clLinkProgram
2. log also if the operation succeeded to print warnings
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204 >
2024-01-23 00:19:33 +00:00
Martell Malone
3b62b0d096
nine: update verbiage for enduser device messages
...
Sometimes the gpu might not be a card, implying pci card.
It might be a soc or we might cpu emulate a device.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901 >
2024-01-19 13:00:29 +00:00
Martell Malone
41107e4e64
nine: detect emulation fallback of d3d coordinates
...
When PIPE_CAP_CLIP_HALFZ is not available nine uses emulation.
This requires PIPE_CAP_NIR_COMPACT_ARRAYS or it fails like before
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901 >
2024-01-19 13:00:29 +00:00
Martell Malone
60e3a43bfc
nine: r500 under 20 fragments cap is a warning
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901 >
2024-01-19 13:00:29 +00:00
Konstantin Seurer
024f144165
lavapipe: Report the correct preprocess buffer size
...
There can be multiple sequences.
Fixes: 976dd26 ("lavapipe: NV_device_generated_commands")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +00:00
Konstantin Seurer
cc94ff081c
lavapipe: Mark vertex elements dirty if the stride changed
...
Fixes: 7672545 ("gallium: move vertex stride to CSO")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +00:00
Konstantin Seurer
6d88c1bb6c
lavapipe: Fix DGC vertex buffer handling
...
Fixes: 976dd26 ("lavapipe: NV_device_generated_commands")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019 >
2024-01-18 22:50:00 +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
Karol Herbst
ea023ff5cd
rusticl/kernel: no need to reset the scratch size anymore
...
The scratch size gets assigned by nir_lower_vars_to_explicit_types. Now
that we only run it once on temp memory, there is no need to reset the
value.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068 >
2024-01-15 16:41:12 +00:00
Karol Herbst
835c208578
rusticl/kernel: add a few comments in regards to pass ordering
...
This is helpful as otherwise I'll keep doing the same mistakes trying to
fix anything in here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068 >
2024-01-15 16:41:12 +00:00
Karol Herbst
f896659894
rusticl/kernel: run opt/lower_memcpy later to fix a crash
...
nir_opt_memcpy requires explicit types to function properly. So run them
after lowering vars to explicit types.
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068 >
2024-01-15 16:41:12 +00:00
Marek Olšák
eb20ef9277
gallium: remove unbind_trailing_count from set_vertex_buffers
...
It should implicitly unbind all bound buffers after "count".
This also slightly simplies u_vbuf.
This is a cleanup suggested by:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8142
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> (asahi & panfrost)
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26309 >
2024-01-14 21:55:19 +00:00
Karol Herbst
75ff6ca470
clc: add support for the native spir-v backend
...
This allows us to easily test if the LLVM SPIR-V backend is viable to
replace the translator.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26955 >
2024-01-12 21:58:37 +00:00
Mike Blumenkrantz
93b29cd40a
lavapipe: delete extra descriptor buffer layout validation
...
this is no longer needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26952 >
2024-01-12 00:44:09 +00:00
Yonggang Luo
0b9c96562b
treewide: Use util_is_power_of_two_nonzero{64|_uintptr} when needed
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26909 >
2024-01-11 16:45:57 +00:00
Mike Blumenkrantz
bf729063c3
lavapipe: use pushconstants2 for dgc
...
Fixes: ec656e1984 ("lavapipe: maint6")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26977 >
2024-01-11 15:59:17 +00:00
Max R
75fa621d34
d3d10umd: Fix compilation
...
Fixes: 4eb4c9bba ("d3d10umd: use cso_context to set vertex buffers and elements")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10054
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26370 >
2024-01-10 15:52:52 +00:00
Mike Blumenkrantz
ec656e1984
lavapipe: maint6
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26881 >
2024-01-09 15:24:12 +00:00
Mike Blumenkrantz
89a7ee7393
lavapipe: maint6 descriptor stuff
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26881 >
2024-01-09 15:24:12 +00:00
Karol Herbst
6024bbed3c
rusticl/llvm: do not include spirv-tools/linker.hpp
...
This was left by mistake as we do not cache the linked output.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10404
Fixes: 299f949775 ("rusticl/meson: generate bindings for LLVM")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26943 >
2024-01-09 05:12:53 +00:00
Karol Herbst
1e5bc00715
rusticl/program: add LLVM functions to cache timestamp
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24386 >
2024-01-06 03:09:48 +00:00
Karol Herbst
299f949775
rusticl/meson: generate bindings for LLVM
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24386 >
2024-01-06 03:09:48 +00:00
Eric Engestrom
a0fab95bc0
lvp: update symbols that have become aliases for newer ones
...
All of these have been renamed in the spec (usually by being promoted);
renamed them in our code too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26494 >
2024-01-06 00:49:53 +00:00
Karol Herbst
5ff33f9905
rusticl: use real buffer for cb0 for drivers prefering
...
At the moment it's radeonsi and zink.
Consequentially this also fixes data races in zink due to driver internal
reasons.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25946 >
2024-01-05 01:26:44 +01:00
Karol Herbst
900ce1f4f4
rusticl/queue: release bound constant buffer
...
This fixes memory leaks in drivers.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25946 >
2024-01-05 01:26:44 +01:00
Karol Herbst
5f97ef3d03
rusticl: add QueueContext to track GPU state
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25946 >
2024-01-05 01:26:44 +01:00
Karol Herbst
a4f47ba52c
rusticl: specify buffer bindings explicitly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25946 >
2024-01-05 01:26:44 +01:00
Dave Airlie
af3cca98a2
lavapipe: bump .maxResourceDescriptorBufferRange
...
Fail (maxResourceDescriptorBufferRange is less than (((1u << 20) - (1u << 15)) * maxResourceDescriptorSize) at vktBindingDescriptorBufferTests.cpp:5127)
bump this to pass the test now.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25398 >
2024-01-04 03:58:23 +00:00
Dave Airlie
da53d0b6e5
gallivm/lp: move sampler index around to reduce struct
...
I'm not sure this is 100% correct, but it does reduce the
struct size to 256 which is conformant
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25398 >
2024-01-04 03:58:23 +00: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
Ruijing Dong
6c758000fb
frontends/va: remove some TODOs in hevc encoding
...
Remove some TODOs in va hevc encoding sps parsing.
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26770 >
2024-01-03 19:23:08 +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
Karol Herbst
9643671dae
rusticl: check rustc version for flags requiring newer rustc/clippy
...
Fixes: 7e74ee07e3 ("rusticl: silence clippy::arc-with-non-send-sync for now")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26780 >
2023-12-21 18:06:26 +00:00
Roland Scheidegger
e61fae6eb8
lavapipe: bump image alignment up to 64 bytes
...
We can't query the actually required alignment from llvmpipe, but 16
bytes is insufficient. In particular, llvmpipe's pixel backend code for
depth/stencil will load/store 4 values at a time, which crashes
with d32s8x24 format if alignment is only 16 bytes (the color backend
does similar things but will use unaligned loads if alignment exceeds
16 bytes at least for now).
32 bytes would be enough, however the "ordinary" llvmpipe resource
layout code currently always aligns to at least 64 bytes, so use
this value as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26724 >
2023-12-20 16:36:01 +00:00
Karol Herbst
63e08bd61d
rusticl/nir: add missing nir include
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764 >
2023-12-20 11:31:31 +00:00
Karol Herbst
c4d8f257ce
rusticl: fix constant and printf buffer size
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764 >
2023-12-20 11:31:31 +00:00
Karol Herbst
7e74ee07e3
rusticl: silence clippy::arc-with-non-send-sync for now
...
Allows compilation with newer clippy
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764 >
2023-12-20 11:31:30 +00:00
Karol Herbst
382718e0e1
rusticl: do not warn on empty RUSTICL_DEBUG or RUSTICL_FEATURES
...
Fixes: b90d1cfbfe ("rusticl/platform: add RUSTICL_FEATURES boilerplate")
Fixes: ca1e9917a9 ("rusticl/program: allow dumping compilation logs through RUSTICL_DEBUG")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764 >
2023-12-20 11:31:30 +00:00
Karol Herbst
f8afd41667
clc: add workaround for clang always defining __IMAGE_SUPPORT_ and __opencl_c_int64
...
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764 >
2023-12-20 11:31:30 +00:00
Yonggang Luo
a0b7ae859f
osmesa: Fixes building osmesa.c on windows
...
Fixes: 5bf68ab701 ("osmesa: Make osmesa.h compatible with Windows SDK's GL.h")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Ack-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26674 >
2023-12-18 23:35:17 +00:00
Michel Dänzer
9548f969bd
gallium/dri: Return __DRI_ATTRIB_SWAP_UNDEFINED for _SWAP_METHOD
...
In contrast to __DRI_ATTRIB_SWAP_EXCHANGE, this is compatible with Mesa
< 23.3 on the client side.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10080
Fixes: e64ab3e4a9 ("glx: Delete support for GLX_OML_swap_method.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26685 >
2023-12-18 17:52:09 +00:00