Timur Kristóf
8e24d3426d
ac/nir/ngg: Refactor MS primitive indices for scalarized IO.
...
Previously, it would hit an assertion when used with scalarized
IO, because the scalarization will split the primitive indices
store into smaller, per-component stores.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:30 +02:00
Timur Kristóf
76c90f929f
ac/nir/ngg: Remove support for loading mesh shader outputs.
...
This was an NV_mesh_shader-only feature and we should have already
removed it. We don't want to carry it forward anymore, because it
would needlessly complicate implementing new features.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28704 >
2024-04-16 14:08:30 +02:00
Juan A. Suarez Romero
bc32ca929c
broadcom/ci: update expected results
...
Add comments explaining some of the failing tests.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28758 >
2024-04-16 10:54:47 +00:00
Lucas Stach
7ffd85d85c
etnaviv: flip the switch on MSAA support
...
Enable MSAA by default and update CI expectation.
The spec@ext_framebuffer_multisample test is buggy and switches from fail
to skip once we actually expose multisample capabilities, while it should
also have skipped before.
Some of the *copyteximage and spec@!opengl 1.1@depthstencil-default_fb*
tests require multisample resolve blits with parameters that can not be
supported natively with the RS engine and can also not be emulated by
u_blitter without texture multisampling, which is not available in the
GC2000 hardware. Accept those failures on this HW generation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22439 >
2024-04-16 10:35:41 +00:00
Joshua Ashton
62903b2d75
tu: Expose VK_EXT_surface/swapchain_maintenance1
...
This was missing, this is implemented in common code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Valentine Burley
4408aff896
tu: Fix missing implementation of creating images from swapchains
...
These pNext structs are part of VK_KHR_swapchain which is core Vulkan
1.1 but they were missing. Based on ANV, RADV and NVK.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Valentine Burley
9e4c7dee3b
tu: Replace TU_HAS_SURFACE with TU_USE_WSI_PLATFORM
...
This matches the naming and formatting convention used by other drivers.
Additionally move it to tu_wsi.h.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Valentine Burley
06d277c1bd
tu: Move tu_BindImageMemory2() to tu_image.cc
...
To match ANV, RADV and NVK.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28307 >
2024-04-16 10:03:48 +00:00
Christian Gmeiner
295fa01db8
etnaviv: Fix disabling of features
...
We must disable features before we fill our internal etna_specs
struct with etna_get_specs(..).
Fixes: d600b45ccc ("etnaviv: Switch to etna_core APIs")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28757 >
2024-04-16 09:37:31 +00:00
Christian Gmeiner
518d365d06
etnaviv: Switch to etna_core_disable_feature(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28757 >
2024-04-16 09:37:31 +00:00
Jose Maria Casanova Crespo
97f5721bfc
broadcom/compiler: needs_quad_helper_invocation enable PER_QUAD TMU access
...
We take advantage of the needs_quad_helper_invocation information to
only enable the PER_QUAD TMU access on Fragment Shaders when it is needed.
PER_QUAD access is also disabled on stages different to fragment shader.
Being enabled was causing MMU errors when TMU was doing indexed by vertexid
reads on disabled lanes on vertex stage. This problem was exercised by some
shaders from the GTK new GSK_RENDERER=ngl that were accessing a constant buffer
offset[6], but having PER_QUAD enabled on the TMU access by VertexID was
doing hidden incorrect access to not existing vertex 6 and 7 as TMU was
accessing the full quad.
cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28740 >
2024-04-16 08:20:54 +00:00
Samuel Pitoiset
d2b9e21689
radv: simplify the check for exporting multiview in the last VGT stage
...
Checking for the lib flags is unnecessary because in this case
next_stage is NONE and it's already handled correctly by the helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
c9c51a93e5
radv: remove unused parameter in radv_skip_graphics_pipeline_compile()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
2d18645b1f
radv: simplify checking for PS epilogs in radv_pipeline_init_blend_state()
...
This is equivalent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
575111e15a
radv: return early when PS is NULL in radv_pipeline_init_blend_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Samuel Pitoiset
5e78c2d08b
radv: simplify importing pipeline layout with GPL
...
Store the pipeline layout in radv_graphics_pipeline to simplify the
import. This will also allow us to generate a graphics pipeline key
from pCreateInfo more easily.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28672 >
2024-04-16 07:37:32 +00:00
Lionel Landwerlin
70b613926d
anv: enable capture/replay with descriptor buffers
...
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/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
4dad2a4a6f
anv: enable shader border color capture/replay
...
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/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
806281f61f
anv: add a new reserved pool for capture/release
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
67d772b112
anv: add capture/replay support for buffer with descriptor buffers
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
43b57ee8a5
anv: add capture/replay support for image with descriptor buffers
...
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/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
4fadc2edb7
anv: remove useless dynamic state allocation for samplers
...
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/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
772c8ccada
anv: disable capture replay with descriptor buffer
...
This is not functional atm.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fe037dec6e ("anv: expose VK_EXT_descriptor_buffer")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28708 >
2024-04-16 06:50:43 +00:00
Lionel Landwerlin
c94cd1235f
anv: implement VK_EXT_image_compression_control
...
Limited to vkd3d right now, there are specific use cases there.
We don't want any app to disable compression, it should be mostly
transparent and we better be aware of potential bugs.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
db6ee2e1bb
vulkan: track compression control flags on vk_image
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
0e5c44a609
drirc: rename hasvk only option
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
73c31e9483
anv: move all format props checks to anv_get_image_format_properties()
...
We can remove anv_GetPhysicalDeviceImageFormatProperties() to reuse
the runtime entry point.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Lionel Landwerlin
d83aaf4e05
anv: reuse vk_common_GetImageSubresourceLayout
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Tapani Pälli
62d96a6546
anv: add dirty tracking for push constant data
...
This allows us to skip allocating state if it exists already. There are
different scenarios where this can help: when updating only descriptors
(not push constant data) and after blorp or simple shader run.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10898
Signed-off-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/28689 >
2024-04-16 07:23:52 +03:00
Erik Kurzinger
899263ecfc
wsi/x11: support explicit sync
...
This adds support to the X11 WSI for explicit synchronization using DRM
syncobjs. It relies on versions 1.4 of the DRI3 and Present extensions.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27226 >
2024-04-16 02:40:01 +00:00
Kenneth Graunke
e637c63239
intel/brw: Make an fs_builder::SYNC helper
...
We always want a null destination, so this saves some typing.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
d5b8cec7a2
intel/brw: Replace FS_OPCODE_LINTERP with BRW_OPCODE_PLN
...
We no longer support the old LINE+MAC lowering, and we already lower
this to MAD in NIR on Gfx11+, so the LINTERP virtual opcode always
corresponds the PLN. The only catch is that LINTERP's operands are
reversed from PLN, so we have to switch them.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
12b0e03bd2
intel/brw: Use SHADER_OPCODE_SEND for coherent framebuffer reads
...
We already have a logical opcode and lower to what is basically a send
instruction. We just weren't using SHADER_OPCODE_SEND, instead having
extra redundant infrastructure for no real gain.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
46a7ee772e
intel/brw: Drop default size of 1 from bld.vgrf() calls
...
This isn't necessary as 1 is the default value for the parameter.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
217d56e9b1
intel/brw: Delete fs_visitor::vgrf helper
...
Just use fs_builder::vgrf instead of the older glsl_type-based one.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
f29a56a4ac
intel/brw: Delete if_depth_in_loop
...
This was only used prior to Sandybridge.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Kenneth Graunke
bd6a430c94
intel/brw: Drop gfx7 scratch message setup code
...
Nothing uses this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28705 >
2024-04-16 02:14:49 +00:00
Paulo Zanoni
a791805d10
anv/sparse: rework anv_free_sparse_bindings() error handling
...
None of the callers of anv_free_sparse_bindings() check for its return
result, and they also don't have a way to propagate it up the stack.
So just don't return error codes that won't be checked. Instead,
add an assertion so at least we can detect failures in our CI or
development runs.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
95dc34cd97
anv/sparse: replace device->using_sparse with device->num_sparse_resources
...
The device->using_sparse variable is only used at cmd_buffer_barrier()
to decide if we need to apply the heavier-weight flushes that are only
applicable to sparse resources. The big problem here is that we need
to apply the flushes to the non-image and non-buffer memory barriers,
so we were trying to limit those only to applications that ever submit
a sparse resource to the sparse queue.
The reason why we were applying this only to devices that ever
submitted sparse resources is that dxvk games have this thing where
during startup they create and then delete tiny sparse resources, so
switching device->using_sparse to true at resource creation would make
basically every dxvk game start applying the heavier-weight
workaround.
The problem with all that is that even if an application creates a
sparse resource but doesn't ever bind them, the resource should still
behave as an unbound resource (because they are bound with a NULL
bind), so the flushes affecting them should happen. This case is
exercised by vkd3d-proton/test_buffer_feedback_instructions_sm51.
In order to satisfy all the above cases and only really apply the
heavier-weight flushes to applications actually using sparse
resources, let's just count the number of sparse resources that
currently exist and then apply the workaround only if it's not zero.
That covers the dxvk case since dxvk deletes the resources as soon as
they create, so num_sparse_resources goes back to 0.
Testcase: vkd3d-proton/test_buffer_feedback_instructions_sm51
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10960
Fixes: 6368c1445f ("anv/sparse: add the initial code for Sparse Resources")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
0c1dbfe899
anv/sparse: remove unused dump_vk_sparse_memory_bind()
...
This went unused a while ago. If we decide we want it again we can
just add it back.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
ba3b1c2d12
anv/sparse: adjust sparse_bind_image_memory debug messages
...
Since we moved the dump_anv_vm_bind() call to anv_sparse_bind(), that
BEGIN/END block stopped making sense, so just keep the first set of
messages.
Also wrap everything around a single INTEL_DEBUG() check so we'll only
run this check once when debug is disabled (we don't care about
running the check multiple times if it's enabled).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
f73385f8ff
anv/sparse: remove unnecessary popcount assertions
...
In both cases we end up calling anv_image_aspect_to_plane(), which
already includes the same assertion.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Paulo Zanoni
2f5638cf2e
anv/sparse: remove useless isl_surf_get_tile_info() call
...
If isl_surf_get_tile_info() returned the struct instead of having it
passed as a pointer, gcc would have detected this. I can write patches
for that if we want it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28724 >
2024-04-16 01:52:28 +00:00
Yiwei Zhang
831da93d76
venus: clean up legacy descriptor update template bits
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:42 +00:00
Yiwei Zhang
5223cf2b11
venus: use STACK_ARRAY to simplify set template update and push
...
No regression in related vkoverhead benches.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:42 +00:00
Yiwei Zhang
7e01ffe733
venus: simplify need and ignore rules for desc image info
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
378db530ae
venus: optimize set update template data population
...
also avoids not-always-valid void * ptr arithmatic
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
498f1d7eb1
venus: simplify push descriptor update with template
...
No need to track is_push_descriptor in templ. No need to conditionally
decide to use set or NULL handle since we pass NULL handle from the cmd
side. Also fixed the arg type mismatch in the template helper.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
4c6b9e2fbe
venus: fix to drop an extra ;
...
Fixes: 32283b9703 ("Refactor and add template support for iub")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00
Yiwei Zhang
be84424738
venus: avoid the redundant template entry
...
offset to count would give count number of entries
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28686 >
2024-04-16 01:30:41 +00:00