Jason Ekstrand
c52d5acf15
util,intel: Pull the bit packing helpers from genxml to a common header
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Tatsuyuki Ishi
e799b88449
radv,lvp,anv: Delete pre-common dispatch leftover.
...
These functions are no longer used since the introduction of common
dispatch.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18284 >
2022-08-29 22:28:32 +00:00
Marcin Ślusarz
4eaecd7965
anv: disable task redistribution
...
If task redistribution is enabled, then some mesh shaders read
garbage from task payload.
It may be a hardware bug, or it may be our bug. Who knows :(
This change will probably negatively affect performance of task
shader-enabled workloads on multi-slice GPUs, because mesh shaders
will be executed only on the slice where task shader was spawned.
Fixes: ef04caea9b ("anv: Implement Mesh Shading pipeline")
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16197 >
2022-08-29 17:08:13 +00:00
José Roberto de Souza
1de5d2ac01
anv: Return earlier in anv_gem_get_tiling() when not supported
...
Tiling set and get UAPIs has the same support level.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18251 >
2022-08-25 19:21:49 +00:00
José Roberto de Souza
e9cba466ea
anv: Nuke dead code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18251 >
2022-08-25 19:21:49 +00:00
Eric Engestrom
c535434fd9
anv: convert assert into unreachable to avoid fallthrough error
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18192 >
2022-08-23 18:37:41 +00:00
Jason Ekstrand
7077b72d60
vulkan,anv,dozen: Use VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
...
This has basically identical semantics to the pseudo-ext enum we were
using before. Also, now that it's in the actual Vulkan enum, we can get
rid of all the #pragma garbage to avoid compiler warnings.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:55 +00:00
sjfricke
c49e328e4f
anv: fix assert to build with shader cache disabled
...
When setting -Dshader-cache=disabled the build fails due
no member named 'disk_cache' in 'struct anv_physical_device'
Signed-off-by: sjfricke <spencerfricke@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Fixes: 7f1e8230 ("anv: Switch to the new common pipeline cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18181 >
2022-08-23 13:35:46 +00:00
Lionel Landwerlin
9027c5df4c
anv: remove the LOCAL_MEM allocation bit
...
We always want to use local memory if possible, we'll just add the
system memory heap if the buffer needs to be host visible.
v2: Drop some usages of ANV_BO_ALLOC_LOCAL_MEM_CPU_VISIBLE
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17873 >
2022-08-23 13:19:06 +03:00
Lionel Landwerlin
a254aff643
anv: prevent trying to mmap non host visible memory
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17873 >
2022-08-23 13:18:06 +03:00
Lionel Landwerlin
b8c472c111
anv: fix assert in memory budget code when extension is not supported
...
First we should only support the extension if we can support reporting
on all the heaps.
Second we should not run any query code if the extension is not
supported.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fae88d8791 ("anv: make use of the new smallbar uAPI")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18153 >
2022-08-23 08:51:56 +00:00
Lionel Landwerlin
4ab38112f3
anv: fixup assertions on lowered storage formats
...
With VK_FORMAT_B10G11R11_UFLOAT_PACK32 in particular, we're seeing
applications create image views with swizzle = R,G,B,0
But since the format has no alpha channel, the swizzle value for it
does not matter for the equivalence we're trying to verify.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: a9edc268b9 ("anv: validate image view lowered storage formats for storage")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18081 >
2022-08-23 08:29:51 +00:00
Lionel Landwerlin
d0e8f21100
anv: fix GetPipelineExecutableStatistics for ray tracing pipelines
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e104555851 ("anv: Compile ray-tracing shaders")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18013 >
2022-08-23 09:56:02 +03:00
Mark Janes
468538509f
Revert "anv: Do not copy garbage to batch_bo"
...
This reverts commit 87b19c68d8 .
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7109
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18202 >
2022-08-23 02:01:57 +00:00
José Roberto de Souza
f986a5207c
anv: Group all context operations during device creation
...
Move all the setup of context to one function making it easier
to read it.
There is no behavior changes here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
José Roberto de Souza
dbbf2ff12e
anv: Nuke anv_execbuf_init()
...
We can do designated initialization to initialize needed values
and set the rest to zero.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
José Roberto de Souza
87b19c68d8
anv: Do not copy garbage to batch_bo
...
batch_size is the aligned value so it is >= than the actual number
of bytes in anv_batch.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
José Roberto de Souza
631794b8a9
anv: Only wait for queue sync if execbuf was properly executed
...
In case execbuf failed it would block execution until the maximum
timeout if DEBUG_SYNC is enabled.
While at it also removing the shadowing of result that would cause
the function result to not have its values updated in case
vk_sync_wait() returns a error.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
Yonggang Luo
12bb9cba8b
anv: Fixes struct anv_device::info is not initialized with struct anv_physical_device
...
Refactoring the function anv_device_set_physical out, so that it's can be called in unittests
Fixes: 356a60bd6c ("anv: Do not duplicate intel_device_info memory in each logical device")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7092
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: José Roberto de Souza jose.souza@intel.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17928 >
2022-08-22 14:18:53 +00:00
José Roberto de Souza
356a60bd6c
anv: Do not duplicate intel_device_info memory in each logical device
...
Each logical device can point to its physical device intel_device_info
saving at least one intel_device_info.
This also allow us to set 'const' to avoid values in intel_device_info
being changed by mistake.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17897 >
2022-08-19 16:29:58 +00:00
José Roberto de Souza
c5f03288f0
anv: Free vmas in case device creation fails in pthread_mutex_init(&device->mutex
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
José Roberto de Souza
e5923bbdc0
anv: Remove anv_app_info
...
Dead-code not used anywhere.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
José Roberto de Souza
d5e5a1a734
anv: Remove duplicated memset() in physical device creation
...
device is allocated with vk_zalloc() that zeroes the allocated memory.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
Lionel Landwerlin
56bb29cb93
anv: don't return incorrect error code for vkCreateDescriptorPool
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7013
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17945 >
2022-08-11 14:29:33 +00:00
Iván Briano
fbd4133735
anv: emit scissors when the pipeline changes
...
With the switch to common dynamic state tracking, something got lost
that made the scissors not always be emitted when they are not dynamic
and the pipeline is marked dirty.
Since both viewport and scissors make use of each other to calculate
their values, just stick the scissor emit in the same if block as
viewport for now.
I'd rather have them decoupled, and at least the Vulkan CTS didn't
complain when I tried it, but I don't know what other effects that
may have, especially when it comes to the guardband.
Fixes a bunch of tests under
dEQP-VK.pipeline.*.multisample.misc.*
Fixes: 7d25c04236 ("anv: Switch to using common dynamic state tracking")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17964 >
2022-08-09 19:58:14 +00:00
Jason Ekstrand
239623ecee
anv: Don't require 32-bit addresses for scratch on Gen12.5+
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Sagar Ghuge
845ab3d627
anv: Handle bits to flush data-port's Untyped L1 data cache
...
v2: Drop ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT from invalidate bits (Lionel)
Add utrace support
Expand on comment about PIPE_CONTROL::UntypedDataPortCache
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Sagar Ghuge
79cd2c2759
anv: Specify Untyped L1 cache policy for stateless accesses
...
Set write back L1 cache policy in STATE_BASE_ADDRESS instruction for A64
messages.
v2: Also set the value in genX_state.c (Lionel)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Suggested-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Lionel Landwerlin
5e21f47428
anv: fixup PIPE_CONTROL restriction on gfx8
...
We're missing a condition that is currently papered over by having
ANV_PIPE_HDC_PIPELINE_FLUSH_BIT in the invalidate bits.
v2: rework with simplication (Caio)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:42:16 +03:00
Constantine Shablya
2af624706a
anv: use nir_opt_uniform_access
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17558 >
2022-08-03 23:57:50 +00:00
Nanley Chery
e7419c11ae
anv: Make the D16 reg mode single-sampled
...
Wa_14010455700 is dependent on the format and sample count, but our
code to track whether or not it had been applied was only dependent on
the format.
As a result, we failed to enable the workaround when an app used a D16
2xMSAA buffer, then a D16 1xMSAA buffer right afterwards.
Make the workaround tracking code sample-dependent to fix this.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17859 >
2022-08-03 15:31:10 +00:00
Mykhailo Skorokhodov
8b13acd715
anv: Move Wa_1806527549 and enable by default
...
Move Wa_1806527549 into `init_render_queue_state` and
set HIZ_CHICKEN (7018h) bit = 1 by default.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6717
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17778 >
2022-08-02 16:33:10 +03:00
Lionel Landwerlin
6931ae83ce
anv: decode init batch with INTEL_DEBUG=bat
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17852 >
2022-08-02 10:42:26 +00:00
Yiwei Zhang
71a0ae2796
anv: enable VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM for modifier support
...
This is a missed format to properly support media interop for Android.
Currently only used when layering GL atop Vulkan on Android, but will
be used directly with Vulkan when the platform default renderer has
switched to skiavk in modern Android.
Test: CtsMediaTestCases and CtsVideoTestCases with angle on venus on anv
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17808 >
2022-07-29 23:24:15 +00:00
Iván Briano
a05fcc94c2
anv: assert inheritance_info is not NULL
...
Makes some static analysis tools happier.
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17809 >
2022-07-29 22:50:21 +00:00
Dylan Baker
42b89276e6
iris|anv: gfx version 12.5 data cache flush is not a workaround
...
This was not a workaround, it was simply missing from the documentation.
So remove the workaround language.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17797 >
2022-07-28 22:08:46 +00:00
Dylan Baker
180af73101
anv: add gfx version 12.5 flushes to CCS path
...
This was already added to the MCS path in !17218 , so this is just
adding it in the CCS path as well.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17797 >
2022-07-28 22:08:46 +00:00
Eric Engestrom
2c67457e5e
util/list: rename LIST_ENTRY() to list_entry()
...
This follows the Linux kernel convention, and avoids collision with
macOS header macro.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6751
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6840
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17772 >
2022-07-28 10:10:44 +00:00
Jordan Justen
fa79020ba9
anv: Fix PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES with large BAR
...
Reported-by: Dave Airlie <airlied@redhat.com >
Fixes: fae88d8791 ("anv: make use of the new smallbar uAPI")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6937
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17761 >
2022-07-27 09:44:38 +00:00
Lionel Landwerlin
fae88d8791
anv: make use of the new smallbar uAPI
...
Instead of having 2 VkMemoryType pointing to the same VkMemoryHeap, we
have each VkMemoryType with VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT (one
host visible, the other not) point to its own VkMemoryHeap. For the
local heap that is host visible, we'll use the
I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS flag at GEM BO creation.
When the smallbar uAPI is not available we fallback to a single heap
and do not use I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS.
v2: Handle probed_cpu_visible_size == probed_size (Matthew)
v3:
* Jordan: Use region info from devinfo
v4: Also make the vram host visible heap as local (Ken)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739 >
2022-07-26 20:34:02 +00:00
Constantine Shablya
85c3cea96f
anv: set image_read_without_format NIR option on Vulkan 1.3
...
VK_KHR_format_feature_flags2 is core and implicitly enabled in 1.3.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17442 >
2022-07-24 17:27:10 +00:00
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
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
Lionel Landwerlin
1aa4a91dbf
anv: allocate RT scratch in local memory
...
Like a 100x (not joking) improvement.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17674 >
2022-07-21 22:19:41 +00:00
Jason Ekstrand
8e99a7f5e3
vulkan: Call gather_xfb_info in vk_spirv_to_nir
...
In particular, we now call it before running dead variables so we get
the XFB info even for things which are never written. This fixes a 102
Vulkan CTS tests on ANV and probably turnip as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jordan Justen
d9ce788641
anv/allocator: Add assert and TODO comment for future small BAR uapi
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349 >
2022-07-21 20:27:10 +00:00
Jason Ekstrand
9ecc26ff27
anv: Do depth/stencil optimization for dynamic depth/stencil
...
When we made depth/stencil dynamic, we lost the optimization. This is
particularly important for cases where the stencil test is enabled but
never writes anything as certain combinations with discard can cause
the stencil write (which doesn't do anything) to get moved late which
can be a measurable perf hit. According to 028e1137e6 ("anv/pipeline:
Be smarter about depth/stencil state", it was a couple percent for DOTA2
on Broadwell back in the day. No idea how it affects current titles.
This may also improve the depth/stncil PMA workarounds on Gen8 and Gen9
since they're now looking at optimized depth/stencil state.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
07f5f15963
vulkan/graphics_state: Improve the depth/stencil optimization code
...
We now disable stencil writes when the stencil test is disabled or when
both stencil write masks are zero.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
7d25c04236
anv: Switch to using common dynamic state tracking
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
cc89232f2e
anv: Stop merging DEPTH_STENCIL state
...
Now that we've stopped trying to do dynamic stuff up-front, we're only
merging in one bit: DoubleSidedStencilEnable. There's no point in all
the merging code for one bit which is a constant anyway.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00