Constantine Shablya
5053527806
anv: use Vulkan runtime's robust buffer access
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21338 >
2023-02-15 16:46:59 +00:00
David Rosca
9873ccb071
frontends/va: Map VAEncCodedBufferType buffer as PIPE_MAP_READ
...
VAEncCodedBufferType is used for reading back encoded data.
Mapping it for read instead of write speeds up reading
the data on CPU.
On radeonsi this will result in VRAM copy to staging buffer
in cached GTT, making the CPU read much faster.
Signed-off-by: David Rosca <nowrep@gmail.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20376 >
2023-02-15 14:26:31 +00:00
Kai Wasserbäch
e832d6a1bb
fix: clover/llvm: replace llvm::None with std::nullopt for LLVM 17+
...
llvm::None was deprecated and builds started failing with
error: ‘None’ is not a member of ‘llvm’
Instead of using the temporarily available include in ADT which would
add a deprecation warning to the build, directly replace llvm::None with
the recommended std::nullopt
This change takes only effect with LLVM 17 or newer.
Reference: https://github.com/llvm/llvm-project/blob/d4f38ef288c3a4cf2318182c8585a5c7e760877a/llvm/include/llvm/ADT/None.h
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21125 >
2023-02-15 12:00:06 +00:00
Danylo Piliaiev
b7ab83d59f
ir3: Consider dst type in ubo_vec4 to ldc lowering
...
The dst type could be either 16b or 32b.
Fixes validation failure in dEQP-VK.subgroups.* tests which deal with
16b types.
validation fail: (type_size(instr->cat6.type) <= 16) == !!((instr->dsts[0])->flags & IR3_REG_HALF)
-> for instruction: MESA: info: 0023:0000:000: ldc.offset0.base0 hssa_23 (wrmask=0x3), ssa_1, ssa_22
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21316 >
2023-02-15 09:49:39 +00:00
Karmjit Mahil
e089166776
pvr: Add support for VK_ATTACHMENT_LOAD_OP_LOAD.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21280 >
2023-02-15 09:29:21 +00:00
Karmjit Mahil
c75c58e54c
pvr: Upload spm load programs to device.
...
The programs are currently unused but will be needed for the spm
background object load op.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21279 >
2023-02-15 09:16:03 +00:00
Karmjit Mahil
d6408e08df
pvr: Add SPM load usc empty programs
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21279 >
2023-02-15 09:16:03 +00:00
Nanley Chery
5d24682aae
iris: Drop iris_cache_flush_for_render
...
Before dropping this function, handle the two callers of this function:
* The call in iris_blorp.c is redundant. The required cache flushes are
already handled by the callers of blorp functions. Delete this.
* The call in iris_resolve.c is still providing a benefit because it
calls iris_emit_buffer_barrier_for internally. Inline the needed
barrier.
Cc: 23.0 <mesa-stable>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21303 >
2023-02-15 05:49:23 +00:00
Nanley Chery
7c367bef0d
iris: Flush caches for aux-mode changes more often
...
Memory accesses can get corrupted when there's a disagreement between:
* the aux-mode of existing cache lines for a surface and
* the aux-usage in that surface's RENDER_SURFACE_STATE object
We have already prevented hardware from seeing this conflict for
rendering operations, but due to how the L3 is shared among multiple
clients in gfx12 (e.g., sampler engine, render engine, etc.), we need to
expand the scope of the existing solution. Now, before any access of a
compressible resource, we make sure to flush the prior aux-mode from the
caches.
The majority of changes here refactor things for use in a new function,
flush_previous_aux_mode. The remaining change calls that function from
within iris_resource_prepare_access.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6558
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7625
Cc: 23.0 <mesa-stable>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21303 >
2023-02-15 05:49:23 +00:00
Nanley Chery
ad9c0b7a84
iris: Update comment in iris_cache_flush_for_render
...
Update the comment to reflect the fact that iris no longer switches
between CCS_E and CCS_D.
Cc: 23.0 <mesa-stable>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21303 >
2023-02-15 05:49:23 +00:00
Yonggang Luo
9e934ee068
meson: Combine duplicated c_args and cpp_args
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19185 >
2023-02-15 03:42:02 +00:00
Yonggang Luo
2626946490
meson: Split c_cpp_args from pre_args
...
pre_args should not include compiler options
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19185 >
2023-02-15 03:42:02 +00:00
Eric Engestrom
4ff295e1d8
meson: drop TODO: opengl, it's done
...
Suggested-by: Adam Jackson <ajax@redhat.com >
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19600 >
2023-02-15 02:53:54 +00:00
Eric Engestrom
1fa68d91c6
meson: only build glsl when needed
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19600 >
2023-02-15 02:53:54 +00:00
Eric Engestrom
e0adef2652
meson: only build libglsl_util when needed
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19600 >
2023-02-15 02:53:54 +00:00
Eric Engestrom
0404918f61
meson: only build the loader when needed
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19600 >
2023-02-15 02:53:54 +00:00
Eric Engestrom
ef564f9391
meson: only build mapi when needed
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19600 >
2023-02-15 02:53:54 +00:00
Eric Engestrom
de90690aba
meson: move float64_glsl_file one meson.build up
...
anv uses it.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19600 >
2023-02-15 02:53:54 +00:00
Mike Blumenkrantz
0337acad15
lavapipe: enable linear filtering for depth formats
...
this seems to work according to cts
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20859 >
2023-02-15 01:49:30 +00:00
Mark Janes
4b97e349cd
intel: Implement Wa_16011448509
...
"Use 3DSTATE_CONST command for individual shaders instead of
3DSTATE_CONST_ALL COMMAND"
On gen 12.0 platforms, 3DSTATE_CONSTANT_ALL command is not processed
correctly in certain cases.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21301 >
2023-02-15 01:10:42 +00:00
Mike Blumenkrantz
f0e1512673
zink: block LINEAR filtered blits for zs formats
...
this is illegal, and the u_blitter path has to be taken to guarantee
enough accuracy that the strictest piglit tests pass
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21314 >
2023-02-14 23:52:34 +00:00
Mike Blumenkrantz
120a506e70
Revert "zink: always use NEAREST for zs blits"
...
This reverts commit 067545eb9a .
this is good enough for CI but not enough for anholt's piglit tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21314 >
2023-02-14 23:52:34 +00:00
Eric Engestrom
6ac830ccb1
vk/runtime: turn vk.xml extension requirements into asserts
...
More specifically, turn
<extension name="VK_KHR_foo" requires="VK_KHR_bar">
into
assert(!ext->KHR_foo || ext->KHR_bar);
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +00:00
Eric Engestrom
a654a303f8
vk/runtime: keep track of supported instance extensions
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +00:00
Eric Engestrom
ca98e4446b
vk/util: keep track of extension requirements
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +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
Lionel Landwerlin
9ac192d79d
intel/fs: bound subgroup invocation read to dispatch size
...
This is to avoid out of bound register accesses (potentially leading
to hangs) when the dispatch size is smaller than when is reported in
the NIR subgroup_size.
v2: Implement bounding with a mask (since workgroup sizes are powers of 2) (Faith)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 530de844ef ("intel,anv,iris,crocus: Drop subgroup size from the shader key")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21282 >
2023-02-14 21:29:42 +00:00
Mike Blumenkrantz
0d445cfb7e
zink: enable renderpass optimizations by default for selected drivers
...
CI has been running this for months on turnip, so let's give it some
broader testing
also add a ZINK_DEBUG=norp for testing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21296 >
2023-02-14 20:06:16 +00:00
Georg Lehmann
4fbcd046ce
aco: Don't use vcmpx with DPP.
...
V_CMPX+DPP returns 0 with reads from disabled lanes, unlike V_CMP+DPP (RDNA3 ISA doc, 7.7)
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20537 >
2023-02-14 19:15:17 +00:00
Faith Ekstrand
41b0407d5c
nir/from_ssa: Use more helpers in resolve_parallel_copies
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21299 >
2023-02-14 17:54:12 +00:00
Kenneth Graunke
3e09a636db
nir: Fix typos in the from-SSA pass comments
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21299 >
2023-02-14 17:54:12 +00:00
Kenneth Graunke
b1ebd9978c
nir: Fix merge_set_dump() to compile again
...
This #if 0'd debug code has been broken since -Werror=vla was added.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21299 >
2023-02-14 17:54:11 +00:00
Kenneth Graunke
8343d7fd2a
nir: Print divergence information for registers as well as SSA defs
...
This patch causes us to print "con" and "div" for registers as well as
SSA defs. We print it on both register declarations, and destinations.
The latter isn't strictly necessary, but it is handy to be able to see
e.g. a convergent value being assigned to a divergent register without
having to constantly refer back to definitions that might be much
earlier in the program. I originally printed it for sources as well,
but that got to be a bit wordy, so I dropped that.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21299 >
2023-02-14 17:54:11 +00:00
Erik Faye-Lund
139dd4e772
meson: remove unused USE_FOO_ASM defines
...
The usage of these defines was removed, so let's remove the definitions
as well.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21212 >
2023-02-14 17:22:14 +00:00
Rohan Garg
d64000dbb3
anv/blorp: use existing function to convert the op to a string
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21283 >
2023-02-14 16:55:21 +00:00
Rohan Garg
80790f50db
isl: fix some documentation
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21283 >
2023-02-14 16:55:21 +00:00
Rohan Garg
4e61191065
anv: reuse the VK_IMAGE_ASPECT_PLANES_BITS_ANV macro
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21283 >
2023-02-14 16:55:21 +00:00
Rohan Garg
5bb217a07a
anv: drop unused headers
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21283 >
2023-02-14 16:55:21 +00:00
Georg Lehmann
281a505ef0
aco: new 16bit VOP3 opcodes can use opsel
...
No Foz-DB changes on gfx11.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20705 >
2023-02-14 16:14:55 +00:00
Corentin Noël
e8091a6593
ci/venus: Skip tests risking out of memory issues
...
These two dEQP tests:
* dEQP-VK.api.object_management.max_concurrent.graphics_pipeline
* dEQP-VK.api.object_management.max_concurrent.compute_pipeline
Require a lot of memory and might kill crosvm or the renderer server because of EOM
issues. Skip them for now.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21306 >
2023-02-14 15:56:20 +00:00
Samuel Pitoiset
fa66c8954e
radv: ignore registering pipeline libaries with SQTT
...
They aren't executable pipelines and they might not contain all
shader stages.
This fixes a crash when generating RGP captures with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21235 >
2023-02-14 15:03:45 +00:00
Erik Faye-Lund
b68f13bc90
zink: remove incorrect trailing comma
...
A trailing comma in a list is not valid JSON. Let's drop it.
Fixes: f7b2dbb2bd ("zink: relax bresenhamLines requirement for non-strictLine drivers")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21211 >
2023-02-14 14:44:03 +00:00
Erik Faye-Lund
445d104dd9
zink: correct companies in requirements
...
These contributors don't work for Zink itself, but various companies
who's working on Zink. Add the correct ones.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21211 >
2023-02-14 14:44:03 +00:00
Michel Dänzer
aaa407e3bd
ci: Enable the hasvk Vulkan driver in the fedora-release job
...
To match the Fedora packaging.
While at it, sort the Vulkan drivers alphabetically.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236 >
2023-02-14 12:59:44 +00:00
Michel Dänzer
0511e6cf64
ci: Enable i915 Gallium driver in fedora-release job
...
To match the Fedora packaging.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236 >
2023-02-14 12:59:44 +00:00
Michel Dänzer
e4b7e68130
ci: Re-enable intel-clc in fedora-release job
...
Fedora 36 has new enough llvm-spirv-translator.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236 >
2023-02-14 12:59:44 +00:00
Michel Dänzer
1589d004f1
ci: Update Fedora image to 36
...
Fedora 34 is EOL.
With Fedora 37, ccache hangs in a futex syscall in CI for some reason,
so let's go with 36 for now.
v2:
* No need to add -Wno-error=stringop-overflow anymore.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236 >
2023-02-14 12:59:44 +00:00
Michel Dänzer
2a626f999a
clover: Reserve vector memory in make_text_section
...
This isn't strictly required, but it works around
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366 , and it might
avoid a memory reallocation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236 >
2023-02-14 12:59:44 +00:00
Michel Dänzer
53ce756eeb
anv/grl: Use union for reinterpreting integer as float
...
Fixes strict aliasing violations flagged by GCC 12:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h: In function ‘float as_float(uint32_t)’:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:182:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
182 | return *reinterpret_cast<float*>(&i);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h: In function ‘float3 as_float3(int3)’:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:187:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
187 | return *reinterpret_cast<float3*>(&i3);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:187:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h: In function ‘float4 as_float4(int4)’:
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:192:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
192 | return *reinterpret_cast<float4*>(&i4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/intel/vulkan/grl/include/GRLOCLCompatibility.h:192:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
Fixes: 5f948503e4 ("anv: Import GRL")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236 >
2023-02-14 12:59:44 +00:00
Mike Blumenkrantz
a10529080b
zink: set ZINK_DESCRIPTORS=db for radv jobs
...
there's no testing for this in ci, and radv has a unique heap/memory
setup which catches allocation regressions
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20968 >
2023-02-14 12:14:49 +00:00