Mike Blumenkrantz
aed433833f
anv: disable dev.i915.perf_stream_paranoid=0 warning
...
this is spammed constantly even if ANV isn't used
fixes #6731
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17661 >
2022-07-22 17:24:04 +00:00
Nanley Chery
bec82bb436
iris: Use fill_surface_states for compressed resources
...
In iris_create_surface, use the fill_surface_states helper function instead of
an open-coded solution for compressed resources.
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/17598 >
2022-07-22 16:33:37 +00:00
Nanley Chery
6c65e990b6
iris: Don't leak compressed resources in iris_create_surface
...
Before this patch, we were leaking compressed resources in iris_create_surface.
Specifically, when we failed to create an uncompressed ISL surface and view for
a compressed resource, we didn't unreference the resource pointer we referenced
into the pipe_surface.
Fix this by delaying the pipe_surface initialization code to after attempting
to create the uncompressed surface and view.
Cc: 22.1 <mesa-stable>
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/17598 >
2022-07-22 16:33:36 +00:00
Nanley Chery
bca601ffe9
iris: Don't leak surface states for compressed resources
...
Before this patch, we were leaking surface states in iris_create_surface.
Specifically, when we failed to create an uncompressed ISL surface and view for
a compressed resource, we didn't free surface states we allocated for it.
Fix this by attempting to create the uncompressed surface and view before we
allocate the surface states.
Cc: 22.1 <mesa-stable>
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/17598 >
2022-07-22 16:33:36 +00:00
Eric Engestrom
96a79a5f3a
vk/util: simplify extensions gen code
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17713 >
2022-07-22 15:56:28 +00:00
Eric Engestrom
e4199322ee
vk/util: handful of pythonic cleanups
...
No functional changes.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17713 >
2022-07-22 15:56:28 +00:00
Daniel Schürmann
5b196716cf
radv/rt: simplify lower_rt_instructions()
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
f7c318901d
radv/rt: fix nir_builder cursor in lower_rt_instructions()
...
Fixes: 207ce6d658 ('radv: Add helper to inline shaders into the main shader.')
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
c0945f70df
radv/rt: Don't load ClosestHit SBT on every hit, but only once after traversal
...
Quake II RTX:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 217592 -> 215956 (-0.75%)
Instrs: 39468 -> 39341 (-0.32%)
Latency: 761581 -> 746802 (-1.94%)
InvThroughput: 507721 -> 497870 (-1.94%)
Copies: 4621 -> 4585 (-0.78%)
Branches: 1598 -> 1584 (-0.88%)
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
c39cccec9c
radv/rt: use stage ID as handle for general and closestHit shaders
...
This avoids some code duplication and divergence.
Quake II RTX:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 218880 -> 217592 (-0.59%)
Instrs: 39692 -> 39468 (-0.56%)
Latency: 789091 -> 761581 (-3.49%)
InvThroughput: 526061 -> 507721 (-3.49%)
VClause: 1202 -> 1188 (-1.16%)
Copies: 4649 -> 4621 (-0.60%)
Branches: 1605 -> 1598 (-0.44%)
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
3750663c72
radv/rt: use derefs for the traversal stack
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
076ea8b35a
radv: create RT traversal as separate shader
...
This will help in future to keep the main shader slim
when we have actual function calls.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
8e056af399
radv: Only create noop-fs for graphics pipelines
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Tapani Pälli
a6857ee43e
anv: implement Wa_14015264727 for DG2
...
On DG2 we need to flush data cache before fast clear operation.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17218 >
2022-07-22 14:59:06 +00:00
Tapani Pälli
da7a7c9bbc
iris: implement Wa_14015264727 for DG2
...
On DG2 we need to flush data cache before fast clear operation.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17218 >
2022-07-22 14:59:06 +00:00
Jesse Natalie
9c5d8dcf6c
d3d12: Remove state tracking implementation details from header
...
Now that the old state tracking code is removed, implementation details
no longer need to be leaked out of this single source file. Remove structs,
function declarations, 'd3d12_' prefixes, and add static when possible.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
74a811382f
d3d12: Add a transition flag indicating that state accumulation is needed
...
Most call sites for transitions will only apply transitions to one or two
resources, and don't need to use the bo set, where each call is guaranteed
to insert the bo, only to walk the set immediately afterwards. Instead, they
can just append the barriers to the dynarray directly and skip the bo set.
Draws and dispatches still use the append approach, to accumulate the full
set of state needed for each subresource for the case where a single
[sub]resource is bound to the pipeline in multiple places.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
fa570bda08
d3d12: Optimize transition_subresource_states that covers a whole resource
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
a3813505ce
d3d12: Extract core barrier logic
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
aa94e0b37c
d3d12: Rename bind invalidate options to transition flags
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
c6f01d6c45
d3d12: Swap the remainder of state tracking to new method
...
Uses a set of d3d12_bo on the context to track which bos are pending
a transition instead of an intrusive linked list, since the bo may
need to be pending on multiple contexts at once.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
05d04c7a54
d3d12: Record a state fixup command list when necessary
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
70e7cb444e
d3d12: Track a global resource state for non-simultaneous-access resources
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
6acab47d7f
d3d12: Create/free context state entries
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
f972a57b0b
d3d12: Treat depth/stencil as planar for plane count helper
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
6bc5df76d3
d3d12: Add a context state tracking structure
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
6a8070bcef
d3d12: Notify contexts about deletion of bos
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
375e8b2f4b
d3d12: Hold lock when removing resources from residency list
...
Also, remove them from the list before releasing the ID3D12Resource.
Fixes: 671deb54 ("d3d12: Add residency info to d3d12_bo")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
b72ec453bd
d3d12: Add a list of contexts alive for the current screen
...
When a resource is destroyed, we'll need to let the contexts know.
This is guarded by the submit mutex, because we'll already be holding
that for at least one place where we want to iterate this list, and
it's low-frequency enough that re-using it is simpler than adding more
locks and creating confusing lock ordering.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
17c3f4f3e1
d3d12: Give bos a unique identifier to be used for state tracking
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
bc9616129e
d3d12: Move current resource state to new files
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
2016dec6a4
d3d12: Move desired resource state to new files
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
a277dbf1f4
d3d12: Add a blank d3d12_resource_state.h/cpp
...
This will host some code that's moving and ported to match style
with the rest of the driver, and other code that will be re-written.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Mike Blumenkrantz
6b07893b31
util/vbuf: handle multidraws
...
this moves the handling from cso_conext to vbuf, which reduces overhead
for draws that aren't rewritten
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17686 >
2022-07-22 12:40:56 +00:00
Timothy Arceri
7c484b0c1c
glsl: correctly track cross slot component packing
...
Otherwise we will mix and match mesa's custom cross slot packing
with arb_enhanced_layouts style packing and we won't correctly
handle the size of the vars needed for the mesa custom packing.
The code was working correctly if the shader interface had both
a matching input and output but when we only had one side of
the interface we were only marking a single slot location as
packed.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Fixes: e5122a5543 ("glsl: add a NIR based varying linker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6853
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17550 >
2022-07-22 10:43:18 +00:00
Lucas Stach
00955a644e
etnaviv: remove etna_align_up() function
...
It does the same thing as align() from u_math.h, no need to
have a etnaviv specific version.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17695 >
2022-07-22 09:08:29 +00:00
Erik Faye-Lund
89f77144d7
zink: drop pointless comment
...
We're already handling all the meaningful types here. The other types
like samplers, images, structs etc aren't really appropriate here.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17676 >
2022-07-22 08:45:34 +00:00
Erik Faye-Lund
d3dca05d53
zink: remove pointless assert
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17676 >
2022-07-22 08:45:34 +00:00
Erik Faye-Lund
02de4a509c
zink: remove pointless test
...
These are already all the bitsizes there are. No need to test for them.
Besides, get_uvec_type already contains an assert for the same
condition anyway.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17676 >
2022-07-22 08:45:34 +00:00
Timur Kristóf
8d7ca7783b
ac/nir/ngg: Remember proper bit sizes of GS output variables.
...
The LLVM backend keeps track of 16-bit output variables and it will
miscompile shaders when these outputs aren't the correct bitsize.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
e60fbb4dc9
ac/nir/ngg: Copy comment about LDS layout for NGG GS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
b5abf4fb3d
ac/llvm: Use gs_prim_id for NGG VS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
1e2663b62c
ac/llvm: Add LLVM bug workaround to ac_build_mbcnt_add.
...
LLVM always believes that this instruction's upper bound is the wave
size, regardless of ac_set_range_metadata and regardless of whether
the add source is used.
As a workaround, emit an extra add instruction.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
c9f8be9d58
ac/llvm: Implement load_num_subgroups for NGG shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Konstantin Seurer
1a95d43e55
radv: Simplify the meta init fail path
...
Move most of the the cleanup into radv_device_init_meta.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17652 >
2022-07-22 07:51:14 +00:00
Konstantin Seurer
b06e5535c0
radv: Use RADV_META_SUSPEND_PREDICATING
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17625 >
2022-07-22 07:25:09 +00:00
Konstantin Seurer
fdeca2ca0b
radv: Add meta saving/restoring for predicating
...
There are a bunch of places, where this is done manually.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17625 >
2022-07-22 07:25:09 +00:00
Dave Airlie
21dd305694
llvmpipe: fix aniso cube map arrays.
...
There was a coordinate missing when you have cube map arrays,
and aniso sampling.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: ce2b711c0a ("gallivm: add support for anisotropic sampling.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17704 >
2022-07-22 14:18:39 +10:00
Yiwei Zhang
02d6d43f54
Revert "venus: suballocate more for layering"
...
This reverts commit f96e25ae05 .
It's causing vkbench oom failure on radv.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17701 >
2022-07-22 03:09:12 +00:00
Jason Ekstrand
2b4e34d9b0
zink: Mark depth/stencil visual tests as flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00