Erik Faye-Lund
2dff9bea4f
gallium: rename array-components cap
...
This cap is no longer TGSI specific, so let's update the name to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
350329feb1
gallium: rename sysval caps
...
These aren't spiecic to TGSI any more, so let's rename them to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
df40de91d9
gallium: rename fine derivative cap
...
This is no longer TGSI specific, so let's rename it to reflect the
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
2a8e11e101
gallium: rename pixel-coord caps
...
These aren't specific to TGSI, so let's rename them to reflect the
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
89797fac56
gallium: rename layer-viewport caps
...
Similar to the previous commits, these aren't TGSI specific, so let's
drop TGSI from their name.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:41 +00:00
Erik Faye-Lund
8ac7dc9cf6
gallium: rename vs instance id cap
...
This cap is no longer specific to TGSI, so let's rename it and update
the documentation to reflect that.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:41 +00:00
Erik Faye-Lund
f8809fbdb8
gallium: rename pack half-float cap
...
This cap no longer has anything to do with TGSI, as the lowering happens
on GLSL IR, and applies just as much to NIR drivers. So let's rename
this cap and update the docs to reflect the current situation.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:41 +00:00
Jason Ekstrand
0f048c5782
panvk: Convert to the common sync/submit framework
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15296 >
2022-03-17 16:22:10 +00:00
Lionel Landwerlin
d68b9f0e6b
anv: zero-out anv_batch_bo
...
anv_batch_bo has a length field that we use to flush cachelines. Not
having that field initialized properly leads us to access out of bound
memory.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15425 >
2022-03-17 15:56:14 +00:00
Lionel Landwerlin
78acae3865
anv: fix variable shadowing
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 83fee30e85
("anv: allow multiple command buffers in anv_queue_submit")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15425 >
2022-03-17 15:56:14 +00:00
Samuel Pitoiset
174d086e8c
radv: enable radv_disable_aniso_single_level for DXVK/vkd3d
...
It seems the default D3D behavior and it's complicated to emulate this
in DXVK/vkd3d. Enable it by default to prevent rendering issues in
other games not listed here.
Cc: 22.0 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15368 >
2022-03-17 15:10:06 +00:00
Samuel Pitoiset
590eb9d640
radv: do not compute the cache UUID for LLVM if it's not used
...
If the LLVM version (even minor) isn't the same on the OS that
precompiles shaders vs the OS that runs them, the cache UUID would
be different, even if only ACO is used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15406 >
2022-03-17 14:49:35 +00:00
Sagar Ghuge
2e336c602d
intel/fs: Add Wa_14014435656
...
For any fence greater than local scope, always set flush type to at
least invalidate so that fence goes on properly.
v2: Fixup condition to trigger workaround (Lionel)
v3: Simplify workaround (Curro)
v4: Don't drop the existing WA (Curro)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: 22.0 <mesa-stable>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14947 >
2022-03-17 14:18:02 +00:00
Sagar Ghuge
6031ad4bf6
intel/fs: Add Wa_22013689345
...
v2: Use a simpler framework (Lionel)
v3: Rebase, add task/mesh (Lionel)
v4: Fixup fence exec size (SIMDX -> SIMD1)
v5: Fix invalidate_analysis, add finishme comment (Curro)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: 22.0 <mesa-stable>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14947 >
2022-03-17 14:18:02 +00:00
Anuj Phogat
5cc4075f95
anv, iris: Add Wa_16011411144 for DG2
...
v2: Use CS_STALL instead of FLUSH_ENABLE in Iris (Lionel)
Add missing CS_STALL after SO_BUFFER change in Anv (Lionel)
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com > (v1)
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Cc: 22.0 <mesa-stable>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14947 >
2022-03-17 14:18:02 +00:00
Juan A. Suarez Romero
c432bfe74b
broadcom/ci: Update flake list
...
Some of the tests marked as flake didn't show up as flakes for a long
time (more than 3 months). So likely they are already fixed.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15411 >
2022-03-17 13:56:41 +00:00
Connor Abbott
072fdcabcd
tu: Enable UniformBufferUpdateAfterBind
...
UBOs are now read at run-time via the preamble so this can be enabled.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
9932ca8a3f
ir3, turnip: Use ldc.k to push UBOs
...
This reuses the same UBO analysis to do the pushing in the shader
preamble via the ldc.k instruction instead of in the driver via
CP_LOAD_STATE6. The const_data UBO is exempted as it uses a different
codepath that isn't as critical.
Don't do this on gallium because there are some regressions. Aztec Ruins
in particular regresses a bit, and nothing I've benchmarked benefits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
221a912b8c
ir3: Refactor ir3_compiler_create() to take an options struct
...
This will let us add more options without creating too much churn.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
acba08b58f
ir3: Implement and document ldc.k
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
fccc35c2de
ir3: Add preamble optimization pass
...
Now that everything is plumbed through, we can tie it together.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
986f7adfee
ir3: Don't include preamble instructions in stats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
42e21c751b
ir3: Insert frag coord code after preamble
...
To match the pre-preamble behavior, and so that we can better schedule
it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
b6fe69d855
ir3: Support prefetching with preambles
...
Since the NIR pass runs very late, it needs to be aware of preambles,
and when creating the instruction we need to move it to the start block
so that RA doesn't overwrite it in the preamble.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
00d7ad334a
ir3/legalize: Handle inserting (ei) with preamble
...
Make sure that shaders with a preamble are still considered
early-release so that we don't regress them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
ccc64b7e00
ir3: Plumb through store_uniform_ir3 intrinsic
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
944f4e6f8a
ir3: Better assemble/disassemble stc
...
Add in the type, even though it turns out to not be that useful. Add
in support for assembling it. Add some notes based on computerator
experiments. And add support for the indirect a1.x mode that's needed
for storing c64.x and later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
3244e659e0
ir3: Implement basic shader preamble intrinsics
...
These will be used to implement the ir3-specific shader preamble
lowering in NIR. shps is conceptually similar to getone (although it
technically can't be duplicated) and shpe is similar to other barriers,
since it has to happen after any stores to the constant file in the
preamble. Add NIR intrinsics and plumbs them through ir3.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
7ad57d9af1
ir3: Don't count reserved user consts in ubo_state::size
...
Previously we included the reserved user consts (for Vulkan push
constants) as part of the pushed UBO contents, but that led to a problem
because when calculating the worst-case space for UBOs we didn't factor
in the reserved user consts. We'll have the same problem when doing the
same thing in the preamble optimization pass. Stop including the
reserved size in ubo_state::size, and have ir3_setup_consts() add it in
instead, so we won't forget to add it anywhere.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
e274354204
ir3: Fix scan.macro valid flags
...
Right now we don't support any. We could probably support const, but
that's not worth it because we could optimize a reduce of a const better
anyway.
Fixes: 1a78604d20
("ir3: Add support for subgroup arithmetic")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
3b96ad70ee
nir: Add a preamble optimization pass
...
This pass tries to move computations that are uniform for the entire
draw to the preamble. There's also an API for backends to insert their
own instructions into the preamble, for porting existing UBO pushing
passes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
31221ee556
nir: Add a "deep" instruction clone
...
For the shader preamble, we need to add support for cloning one
instruction at a time into the preamble, but we also need to rewrite
sources.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Connor Abbott
d1b017d479
nir: Add preamble functions
...
These are functions that run before the entrypoint at least once per
draw and write their results via store_preamble, and then are loaded in
the rest of the shader via load_preamble.
We will add users in the following commits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13148 >
2022-03-17 12:15:45 +00:00
Juan A. Suarez Romero
dfb6438392
v3dv: change MESA_GLSL_CACHE envvar reference
...
This was renamed to MESA_SHADER_CACHE.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15390 >
2022-03-17 11:16:45 +01:00
Juan A. Suarez Romero
1350e7b607
radv: change MESA_GLSL_CACHE envvar reference
...
This was renamed to MESA_SHADER_CACHE.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15390 >
2022-03-17 11:16:45 +01:00
Juan A. Suarez Romero
fb856c9501
ci: use MESA_SHADER_CACHE envvar
...
This was renamed from MESA_GLSL_CACHE.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15390 >
2022-03-17 11:15:53 +01:00
Juan A. Suarez Romero
54d0a2cfad
util/disk_cache: rename MESA_GLSL_CACHE envvar
...
Rename MESA_GLSL_CACHE to MESA_SHADER_CACHE, as the on-disk cache can
store not only GLSL but also SPIR-V shaders.
v2:
- Keep old envvar as deprecated (Mike)
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15390 >
2022-03-17 11:15:53 +01:00
Igor Torrente
6d7f04e5de
venus: add VK_EXT_calibrated_timestamps extension
...
Implements all the necessary code in the device initialization
and extension functions.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15389 >
2022-03-17 00:02:21 +00:00
Igor Torrente
88638ceb2d
venus: move vkGetCalibratedTimestamps to vn_protocol_driver_device.h
...
Update venus-protocol files to move vkGetCalibratedTimestamps function
from vn_protocol_driver_transport.h to vn_protocol_driver_device.h.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15389 >
2022-03-17 00:02:21 +00:00
Emma Anholt
da834a12cf
vulkan: Make sure we've loaded our connectors when querying plane props.
...
If you hadn't already called wsi_GetPhysicalDeviceDisplayProperties2KHR or
wsi_GetDrmDisplayEXT before calling
GetPhysicalDeviceDisplayPlaneProperties2KHR, then the connectors list
wouldn't be populated and you'd get no plane properties. Fixes failure of
dEQP-VK.wsi.display.get_display_plane_capabilities when run on its own.
Fixes : #4575
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15353 >
2022-03-16 21:43:46 +00:00
Gurchetan Singh
83de19c900
zink: emulate some more memory
...
If ZINK_HEAP_DEVICE_LOCAL_VISIBLE isn't available natively, then
fallback to device local memory without asserting.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15202 >
2022-03-16 21:03:16 +00:00
Emma Anholt
9e9a366cad
ci/turnip: Drop alpha_to-coverage flake note on a618.
...
It's only ever been seen on a630.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
2f25d16653
turnip: Use the DRM or KGSL GPU reset status ioctls to report device loss.
...
ANGLE-on-venus-on-turnip and zink-on-turnip want real data here for EGL's
reset tests.
This required moving the remaining GPU-reset-causing tests from flakes or
xfails to skips. Otherwise, the rest of the caselist associated with them
ends up being marked as fails as well. The alternative would be to put
these tests in their own test groups with tests_per_group = 1, but that
didn't seem worth the effort. Or, we could finally do something with
https://gitlab.freedesktop.org/anholt/deqp-runner/-/issues/14 .
Fixes : #5955
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
add2121969
ci/freedreno: Remove some xfails for tests that now skip.
...
The last CTS uprev correctly turned them into NotSupported.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
ffa9438183
ci/freedreno: Drop the skips of spirv_ids_abuse in pre-merge.
...
The crash was fixed in 62a7acee93
, and
runtime of the tests locally is 5-17s each with a hot shader cache, 11-25s
without.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
46b30a5589
ci/lvp: Stop skipping spv-stable-maze-flatten-copy-composite
...
The runtime was fixed in VK-GL-CTS
1751124d2870840bada579c236a66d38b48c039b, now it's just 1 second.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
5dd74533b2
ci: Drop skips of spv-stable-pillars-volatile-nontemporal-store
...
The runtime was fixed in VK-GL-CTS
7cc65f6c02276767407233e74c7174d88dab7919. Now it's .6s on lvp, 20ms on
turnip a618.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Jason Ekstrand
893fa30afe
anv: Include scissors in viewport calculations
...
It's tricky to always get the render area to the viewport code. In
particular, it's not provided to secondary command buffers as part of
the inheritance info so we have to bend over backwards and look for a
framebuffer. With VK_KHR_dynamic_rendering, there is no framebuffer and
this approach won't work and we'll need something better if we want
competent guardbands in secondary command buffers.
The good news is that any client that's sloppily rendering and trusting
the clipper to keep things inside the render area will set a scissor and
that's something they have to set inside the secondary. We can dig
through the scissor state and also include the corresponding scissor (if
any) and use that for our render area. This should give us the same
secondary command buffer performance with VK_KHR_dynamic_rendering.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
b4e38e174f
anv: Move viewport/scissor emit to genX_cmd_buffer.c
...
There's never been a particularly good reason to stick these in gfx7/8.
We mostly did it to deduplicate the binary a bit but this shouldn't emit
all that much code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
2c04373c45
anv: Calculate the real guardband based on render area
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961 >
2022-03-16 13:13:45 -05:00