Timothy Arceri
aea1265470
glsl: add nir implemenation of block validation
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
20978004a7
glsl: don't remove redefined per vertex block
...
Commit 719bf30165
added this removal code with the following
justification:
"The GLSL 4.10 rules for redeclaration of built-in interface blocks
(which we've chosen to regard as clarifications of GLSL 1.50) only
require gl_PerVertex blocks to match in shaders that actually use
those blocks. The easiest way to implement this is to detect
situations where a compiled shader doesn't refer to any elements of
gl_PerVertex, and remove all the associated ir_variables from the
shader at the end of ast-to-ir conversion."
However the intention is to avoid matching a redeclared block with
gl's default block if unused. We are still required to do block
matching in the shader should the block be redeclared, even if unused.
So with this change we only remove the block if it is both unused
and not redeclared.
The existing glsl IR code managed to avoid failing CTS tests for this
due to seemingly magical or hacky use of the symbol table but fixing
it will make things much clearer, and also allow a nir version of
this validation in a following patch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:04 +00:00
Timothy Arceri
c46827d52a
nir: add variable field from_ssbo_unsized_array
...
This will be used for validation in following patches
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Timothy Arceri
ab801a1a27
glsl: add resize_tes_inputs() to the nir linker
...
We will switch from the GLSL IR version to this in a following patch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Timothy Arceri
a18e06f694
nir: add implicit_sized_array data field
...
Will be used in following patches for glsl linking validation.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Timothy Arceri
f24e6a5062
nir: add max_array_access data field
...
Will be used in following patches for glsl linking validation.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28538 >
2024-04-06 05:56:03 +00:00
Jesse Natalie
acbf3ad1fb
glsl: Use a stable attr sort for VS in / FS out
...
This is a perpetual bug that hits Windows. In the MSVC CRT, qsort
is unstable, where the glibc qsort is stable. So apps run fine on
Windows IHV drivers, and on Linux Mesa drivers, and only break down
when running on Windows Mesa drivers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10922
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28586 >
2024-04-05 20:35:05 +00:00
Lionel Landwerlin
6a7e576017
intel/fs: fixup instruction scheduling last grf write tracking
...
When I bumped the max size of VGRFs, I should have bumped the values
in the scheduler too.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: d33aff783d
("intel/fs: add support for sparse accesses")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28188 >
2024-04-05 19:46:40 +00:00
Lionel Landwerlin
d59612f5e5
intel/fs: printout a couple of more late compile steps
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28188 >
2024-04-05 19:46:40 +00:00
Gert Wollny
012c696561
zink/ntv: pull result out of cases and use a common store_def
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
fa581c7020
zink/ntv: extract emit_tex_readop as function that reads texture pixel data
...
These calls need a different preparation and result type handling than
the calls that query resource info, so we move this to an extra
function that can then be called from the default case of the
texop switch.
v2: drop ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
13f8a462c5
zink/ntv: extract picking the image to load from
...
v2: remove ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
2678f7a554
zink/ntv: replace if-chain with switch in emit_tex
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
cadbf72076
zink/ntv: Extract move_tex:proj_into_coord
...
v2: - drop ALWAYS_INLINE (zmike)
- move test whether projection must be applied out of function,
this makes it clearer at the call site when this change
is applied
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
1850cd9a82
zink/ntv: extract get_texop_dest_type
...
v2: drop ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
94bef5a182
zink/ntv: extract get_texture_load
...
v2: drop ALWAYS_INLINE (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
7f1a4624f8
zink/ntv: simplify evaluation of sampled_type
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
6c5193368b
zink/ntv: extract find_sampler_and_texture_index
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
cca3f1de56
zink/ntv: use new struct to pass texture parameters
...
v2: pass struct spirv_tex_src as const ptr (zmike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
f19d22ed7f
zink/ntv: extract get_tex_srcs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
Gert Wollny
881b2b1192
zink/ntv: introduce structure using the source params
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28511 >
2024-04-05 19:19:29 +00:00
David Heidelberg
5b69cbb80a
ci/amd: drop old PIGLIT_REPLAY_DESCRIPTION_FILE surpassed by PIGLIT_TRACES_FILE
...
This got probably accidentally in, as Eric MR changing this was just
before this change got in.
Fixes: 16af090908
("ci/lava: separate HW definitions from SW")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28600 >
2024-04-05 18:51:48 +00:00
David Heidelberg
9c104d2158
ci/amd: meld radv-traces into radv-raven-traces
...
Most of it is one workload specific.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28600 >
2024-04-05 18:51:48 +00:00
Mike Blumenkrantz
38c5a722c2
microsoft/compiler: set compact_arrays in compiler options
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Mike Blumenkrantz
695cde484e
zink: set compact_arrays in compiler options
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Mike Blumenkrantz
a9d366085c
nir/gather_info: fix gathering for compact arrayed builtins
...
these are treated as vecs, but depending on driver caps num_slots
may or may not equal the array size
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Mike Blumenkrantz
843614f45a
nir: add compact_arrays to nir_shader_compiler_options
...
this is used to inform passes about semantics for compact array builtins
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28554 >
2024-04-05 17:56:28 +00:00
Eric Engestrom
6e2c3a70d3
ci: add nightly full run of lavapipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
5650107c28
ci: add nightly full run of llvmpipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
581f60def1
ci/lavapipe: skip test that sometimes times out
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
69023c461f
ci/lavapipe: fix out of date fails list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
60977b2efb
ci/llvmpipe: fix out of date fails list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Eric Engestrom
207f45e098
ci/llvmpipe: make sure manual jobs don't auto-retry
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28593 >
2024-04-05 17:18:55 +00:00
Mary Guillemard
ab6118361b
nvk: Allow various alu op to be vectorized for 2xfp16
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
001540bad2
nvk: Advertise shaderFloat16
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
567cae69c3
nak: Add 16-bits float operations
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
6b2ce802b7
nak: Improve copy propagation pass to handle F16
...
Allow to optimize away prmt rX 0xXX01 rY and prmt rX 0x32XX rY.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
bad23ddb48
nak: Add F16 and F16v2 sources
...
This also add a swizzle information in Src for F16v2.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
791c2b604a
nak: move folding logic to Src::fold_imm
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:04 +00:00
Mary Guillemard
02873c4745
nak: Support unaligned swizzles in 8/16 bits vec srcs
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27635 >
2024-04-05 16:58:03 +00:00
Lucas Fryzek
c2ec0111b2
venus/ci: Add patch for modifiers test to check import/export bits
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
e84b6255d8
docs: update lavapipe features
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
0507988f41
lavapipe: EXT_image_drm_format_modifier
...
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
d6cb3c5793
lavapipe: handle drm image imports
...
this creates the unbacked image with the metadata expected for use
with imports, then applies the import offset when binding memory
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
bd4f69a0fe
lavapipe: check drm modifier info during image create
...
not doing anything except validation
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
97331d1ed4
lavapipe: handle drm image format queries
...
only LINEAR is supported, so this is easy
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
a4290558df
lavapipe: include drm_fourcc.h
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
18c345d840
lavapipe: rework mem handle type assert to handle dmabuf
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
6df7cf4cfc
lavapipe: EXT_queue_family_foreign
...
no-op for us
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
b3d3239fc1
llvmpipe: make it possible to import and bind unbacked resources
...
this reworks the existing import to just set some metadata and then
apply the memory region during bind with the assumption that something
else is doing the import
Also adjust ci failures for llvmpipe to represent multiplanar surfaces as
not supported
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00