Mike Blumenkrantz
ffd91ee7a8
zink: fix descriptor pool free iterating
...
these arrays are sparsely allocated, and using pop() on them will
fail to access some elements
Fixes: cf7c17a7af ("zink: rework descriptor pool overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246 >
2023-02-13 10:27:16 +00:00
Mike Blumenkrantz
16c019142b
zink: sync LTO compiles for GPL pipelines on shader free
...
this avoids invalid access
affects:
KHR-Single-GL46.arrays_of_arrays_gl.InteractionStorageBuffers2
Fixes: 41ffb15de5 ("zink: implement async gfx precompile")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246 >
2023-02-13 10:27:16 +00:00
Mike Blumenkrantz
e8b8279b61
zink: allocate all batch command buffers in one call
...
just simpler
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21246 >
2023-02-13 10:27:16 +00:00
Lionel Landwerlin
295dd6f515
intel/dev: add a default urb value for intel_stub_gpu on dg2
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21249 >
2023-02-13 09:38:06 +00:00
Samuel Pitoiset
214d6d05ed
radv simplify compiling graphics shaders with a mask of active NIR stages
...
Instead of recomputing the same bitfield everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21237 >
2023-02-13 09:15:37 +00:00
Samuel Pitoiset
8dd0b98786
radv: only initialize shader arguments for the active stages
...
Other stages don't need to be initialized.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21237 >
2023-02-13 09:15:37 +00:00
Samuel Pitoiset
d05a02018b
radv: use last_vgt_api_stage for determining the last stage with XFB
...
It's shorter and cleaner.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21237 >
2023-02-13 09:15:37 +00:00
Mike Blumenkrantz
36d8443e5f
zink: add a local is_compute var for set_shader_images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Mike Blumenkrantz
cff6e6e13b
zink: pull out image descriptor updating in set_shader_images
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Mike Blumenkrantz
1c1f075627
zink: rework set_shader_images() hook
...
this makes the code more methodical, readable, and correct, fixing a
number of issues along the way:
* inaccurate write_bind_count incrementing
* inaccurate barrier_access write unsetting
* inefficient partial rebinds
* leaking texel buffers
also add some comments to make this clearer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Mike Blumenkrantz
128192bffb
zink: unref image buffer descriptors on unbind
...
Fixes: 7ab5c5d36d ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Mike Blumenkrantz
e5666fe7cc
zink: remove stale comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Mike Blumenkrantz
ee53b07c0a
zink: unset gfx shader read when unbinding shader images
...
this otherwise will never be unset
Fixes: 50e764fa50 ("zink: track gfx/compute descriptor barrier info")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Mike Blumenkrantz
892eae9af0
zink: rename some variables in zink_set_shader_images()
...
this is more consistent with set_sampler_views
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21229 >
2023-02-13 08:42:36 +00:00
Samuel Pitoiset
9f8c563e10
radv: fix importing retained NIR shaders when a lib uses the RETAIN bit
...
Fixes couple of GPL regressions with VKCTS, I thought this was test
bugs but it's valid behaviour as long as the libary uses
VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21245 >
2023-02-13 08:17:05 +00:00
Alyssa Rosenzweig
edf78810a7
radv: Use common Get*OpaqueCaptureDescriptorDataEXT
...
Now stubbed by the Vulkan runtime for you, deduplicate.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by; Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21230 >
2023-02-13 07:43:11 +00:00
Alyssa Rosenzweig
2854dca898
tu,vulkan: Add common Get*OpaqueCaptureDescriptorDataEXT
...
In both tu and radv, these are all trivial. Move the trivial implementation from
tu to common code to deduplicate the boilerplate.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by; Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21230 >
2023-02-13 07:43:11 +00:00
Tapani Pälli
235e5806b3
iris: handle error in iris_resource_from_handle
...
In similar manner as fdab8fef7a we might fail creating resource,
let application handle the error. Application may have given wrong
input pitch when importing dmabuf.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8248
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21233 >
2023-02-13 07:59:14 +02:00
Kai Wasserbäch
efcb63938c
fix(FTBFS): clover: fix LLVM #include of Triple.h, moved to TargetParser
...
Upstream moved Triple.h from ADT to TargetParser in LLVM 17.
Reference: https://github.com/llvm/llvm-project/commit/62c7f035b4392c1933550eead6ddab35122720bc
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21262 >
2023-02-12 18:36:07 +00:00
Kai Wasserbäch
7956b80bf8
fix(FTBFS): gallivm: fix LLVM #include of Triple.h, moved to TargetParser
...
Upstream moved Triple.h from ADT to TargetParser in LLVM 17.
Reference: https://github.com/llvm/llvm-project/commit/62c7f035b4392c1933550eead6ddab35122720bc
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21262 >
2023-02-12 18:36:07 +00:00
Eric Engestrom
1e73fd4aa8
u_pipe_screen_lookup_or_create: avoid re-querying the fd to have a consistent hash key
...
In every current driver, the fd we get back from the screen is the fd we
gave to screen_create() three lines above (or a dup() thereof, which we
consider to be the same since we look inside it for the file description
instead).
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:17 +00:00
Eric Engestrom
cd152ec930
asahi: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:17 +00:00
Eric Engestrom
8193efec83
panfrost: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:17 +00:00
Eric Engestrom
7b3ee9335f
vc4: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
769b511054
v3d: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
759496cc45
lima: replace custom code with u_pipe_screen_lookup_or_create()
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Vasily Khoruzhick <anarsoul@gmail.com >
Acked-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
e17c3af593
freedreno: replace custom code with u_pipe_screen_lookup_or_create()
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Rob Clark <robclark@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
013f05872c
gallium: move etnaviv screen_lookup_or_create function to common code
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
1dea6aea20
etnaviv: use simple_mtx to avoid breaking windows in the next commit
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
a72035f9c5
util: avoid calling kcmp on Android
...
On some combinations of Android version and kernel version, calling kcmp
results in seccomp killing the process.
As there doesn't seem to be a way to query for that in advance, skip
this check altogether on Android.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Rob Clark <robclark@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Eric Engestrom
0d6c240fcc
gallium/u_screen.h: add missing stdint.h include
...
For uint64_t.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20180 >
2023-02-12 17:11:16 +00:00
Hans-Kristian Arntzen
e40ed0f88b
radv: Implement VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 46e0c77 ("radv: implement VK_EXT_descriptor_buffer")
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21271 >
2023-02-12 15:45:52 +00:00
Hans-Kristian Arntzen
7efabfbbe4
radv: Fix missing VK_ACCESS_2_SHADER_SAMPLED_READ_BIT.
...
Cannot be used for SSBO, so ignore SCACHE invalidation.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 8df17163c7 ("radv: implement vkCmdWaitEvents2KHR")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21271 >
2023-02-12 15:45:52 +00:00
Hans-Kristian Arntzen
97aa8d9547
radv: Fix invalid 64-bit shift.
...
For sync2 bits, overflow can happen.
Use BITFIELD64_BIT to align with ANV.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 8df17163c7 ("radv: implement vkCmdWaitEvents2KHR")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21271 >
2023-02-12 15:45:52 +00:00
Michel Dänzer
49a6bdde8e
glsl/standalone: Do not pass memory allocated with ralloc_size to free
...
Pointed out by GCC:
In function ‘load_text_file’,
inlined from ‘standalone_compile_shader’ at ../src/compiler/glsl/standalone.cpp:491:38,
inlined from ‘main’ at ../src/compiler/glsl/main.cpp:98:45:
../src/compiler/glsl/standalone.cpp:358:17: error: ‘free’ called on pointer ‘block_195’ with nonzero offset 48 [-Werror=free-nonheap-object]
358 | free(text);
| ^
In function ‘ralloc_size’,
inlined from ‘load_text_file’ at ../src/compiler/glsl/standalone.cpp:352:31,
inlined from ‘standalone_compile_shader’ at ../src/compiler/glsl/standalone.cpp:491:38,
inlined from ‘main’ at ../src/compiler/glsl/main.cpp:98:45:
../src/util/ralloc.c:117:18: note: returned from ‘malloc’
117 | void *block = malloc(align64(size + sizeof(ralloc_header),
| ^
Fixes: a9696e79fb ("main: Close memory leak of shader string from load_text_file.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21215 >
2023-02-12 15:13:04 +00:00
Michel Dänzer
bf67f32d4b
glsl/standalone: Fix up _mesa_reference_shader_program_data signature
...
Drop the unused ctx parameter, to match the main Mesa code.
Fixes ODR violation flagged by -Wodr with LTO enabled:
../src/mesa/main/shaderobj.h:74:1: error: ‘_mesa_reference_shader_program_data’ violates the C++ One Definition Rule [-Werror=odr]
74 | _mesa_reference_shader_program_data(struct gl_shader_program_data **ptr,
| ^
../src/compiler/glsl/standalone_scaffolding.cpp:76:1: note: type mismatch in parameter 1
76 | _mesa_reference_shader_program_data(struct gl_context *ctx,
| ^
../src/compiler/glsl/standalone_scaffolding.cpp:76:1: note: ‘_mesa_reference_shader_program_data’ was previously declared here
../src/compiler/glsl/standalone_scaffolding.cpp:76:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
Fixes: 717a720e9c ("mesa: drop unused context parameter to shader program data reference.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21215 >
2023-02-12 15:13:04 +00:00
Rob Clark
c0bc0ecf9e
freedreno: Avoid screen lock when no rsc tracking needed
...
In case there is no dirty state that requires resource tracking we
can skip taking the screen lock. Indirect draw and index buffer are
a special case, but we can inexpensively check if they are already
referenced by the batch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21202 >
2023-02-11 16:36:38 +00:00
Rob Clark
b70ea03302
freedreno: Add FD_DIRTY_QUERY
...
Replace update_active_queries, which was really just a dirty-bit in
disguise. This also lets us associate it with FD_DIRTY_RESOURCE so
we can skip the associated resource tracking when it isn't dirty.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21202 >
2023-02-11 16:36:37 +00:00
Rob Clark
3a98822cc7
freedreno: Remove impossible NULL check
...
All gens implement query support now.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21202 >
2023-02-11 16:36:37 +00:00
Rob Clark
918caaad59
freedreno: Move num_vertices calc to backend
...
Only used by a2xx and a3xx backends, so move it there.
Also make it more clear that fd6_emit::draw is only used in the
driver-params case.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21202 >
2023-02-11 16:36:37 +00:00
Rob Clark
b15aaea1d5
freedreno/a6xx: Move num_driver_params to program state
...
No need to re-calculate this at draw time.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21202 >
2023-02-11 16:36:37 +00:00
Bas Nieuwenhuizen
0a17c3afc5
nir: Apply a maximum stack depth to avoid stack overflows.
...
A stackless (or at least using allocated memory for stack) version
might be nice but for now this works around some games compiling
large shaders and hitting stack overflows.
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21231 >
2023-02-11 15:01:42 +01: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