Lucas Fryzek
a43fa85fab
anv: Remove special CROS_GRALLOC path from format logic
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36866 >
2025-08-22 23:40:32 +00:00
Faith Ekstrand
59f85e678f
vulkan/wsi: Take a vk_queue in wsi_common_queue_present()
...
The common entrypoint wrapper already depends on vk_queue, as do all the
drivers that implement drv_QueuePresentKHR() so there's no point in
passing through Vulkan API types anymore.
The one functional change here is that ANV is no longer forcing the
queue index to be zero, which I suspect was a mistake in the first
place.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36827 >
2025-08-22 23:05:02 +00:00
Faith Ekstrand
81325cf887
vulkan,anv,hasvk: Drop vk_queue_wait_before_present()
...
This helper existed to ensure that drivers waited for semaphores to
materialize before processing a QueuePresent(). However, most drivers
never called this and they were kind-of fine. Now that we have explicit
and dma-buf sync built into WSI, this wait happens as part
GetSemaphoreFd when we fetch the sync file from the semaphore.
It's also less racy to just rely on GetSemaphoreFd() because, even
though we were stalling the submit thread prior to present, the present
itself does one or more submits and those may go to the thread and
potentially race with the window system. The GetSemaphoreFd(), however,
happens at the right time to ensure we actually stall before handing
off to the window system.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36827 >
2025-08-22 23:05:02 +00:00
Faith Ekstrand
650debdf40
anv: Stop picking our own blit queue
...
This reverts commit 1f0fdcb619 ("anv: always pick graphics queue to
execute prime blits on.") which was added to avoid prime blits on video
queues. However, this was fixed properly in d7938de8fe ("vulkan/wsi:
don't support present with queues where blit is unsupported") which
made us stop advertising presentation on video queues entirely. We no
longer need the code in ANV.
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36827 >
2025-08-22 23:05:01 +00:00
Faith Ekstrand
e0c30b0fc2
anv,hasvk: Use vk_drm_syncobj_copy_payloads
...
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36827 >
2025-08-22 23:05:00 +00:00
Iván Briano
07057e270c
anv, hasvk: allow using a 3D image as a resolve target
...
This is allowed by the specification, as the following VUIDs state:
VUID-vkCmdResolveImage-srcImage-04446
If dstImage is of type VK_IMAGE_TYPE_3D, then for each element of
pRegions, srcSubresource.layerCount must be 1
VUID-vkCmdResolveImage-srcImage-04447
If dstImage is of type VK_IMAGE_TYPE_3D, then for each element of
pRegions, dstSubresource.baseArrayLayer must be 0 and
dstSubresource.layerCount must be 1
New tests coming for it: dEQP-VK.pipeline.*.multisample.3d.*
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36895 >
2025-08-21 20:53:42 +00:00
Lionel Landwerlin
1bab95551a
anv: fix uninitialized return value
...
We don't go through the loop when there are no queues.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 884df891d7 ("anv: allow device creation with no queue")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36910 >
2025-08-21 16:07:56 +00:00
Calder Young
c7e48f79b7
brw,anv: Reduce UBO robustness size alignment to 16 bytes
...
Instead of being encoded as a contiguous 64-bit mask of individual registers,
the robustness information is now encoded as a vector of up to 4 bytes that
represent the limits of each of the pushed UBO ranges in 16 byte units.
Some buggy Direct3D workloads are known to depend on a robustness alignment
as low as 16 bytes to work properly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36455 >
2025-08-21 09:04:55 +00:00
Yiwei Zhang
fc2c490975
anv: advertise present_id/wait behind ANV_USE_WSI_PLATFORM
...
wsi_common_vk_instance_supports_present_wait returns true for all
supported wsi platforms here, so we can unconditionally advertise them
behind ANV_USE_WSI_PLATFORM like the other wsi extensions (also to not
tangle with Android).
v2: guard presentId2 and presentWait2 features as well
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Acked-by: Daniel Stone <daniels@collabora.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36835 >
2025-08-21 07:53:15 +00:00
Iván Briano
20f546d6c1
anv: fix capture/replay of sparse images with descriptor buffer
...
We were not implementing vkGetImageOpaqueCaptureDescriptorDataEXT,
relying on the common implementation that does nothing. That works well
enough for regular images because the fixed address needed for
capture/replay is handled by the memory allocation path, but for sparse
images we initialize the sparse bindings at image creation time.
Here we implement the function to retrieve the addresses of all the
used bindings for the image, then use all of them at creation time.
Also, set the correct alloc_flags for this to work.
Fixes: 43b57ee8a5 ("anv: add capture/replay support for image with descriptor buffers")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35872 >
2025-08-20 21:08:10 +00:00
Nataraj Deshpande
f67edacf8b
anv: add feature flags for linearly tiled ASTC images
...
In case of emulated ASTC on supported platforms, currently returning
0 for linear tiled images causes vpGetPhysicalDeviceProfileSupport
failure during AndroidBaselineProfile test. The patch handles it
similar to linearly-tiled images that are used for transfers.
Fixes android.graphics.cts.VulkanFeaturesTest#testAndroidBaselineProfile2021Support.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36798 >
2025-08-20 15:28:50 +00:00
Lionel Landwerlin
ed471927e5
vulkan/runtime: use a pipeline flag for unaligned dispatches
...
The problem with the current flag is that it seems to belong to
VkShaderCreateFlagsEXT, not VkPipelineShaderStageCreateFlagBits.
Also it is completely skipped by the vk_pipeline.c code.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 7b634ebb63 ("vulkan/runtime: Add VK_SHADER_CREATE_UNALIGNED_DISPATCH_BIT_MESA flag")
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36828 >
2025-08-20 11:17:52 +00:00
Faith Ekstrand
57aceb96aa
anv: Dead code anv_bo_sync
...
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Faith Ekstrand
7ebe93aa9f
anv/wsi: Stop requesting signal_*_with_memory
...
Now that we require the dma-buf sync file import/export path, these
legacy paths should never be invoked so we can stop requesting them.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Faith Ekstrand
affee04bd9
anv: Require Linux 6.0 for dma-buf sync file import/export
...
This also implies all the other syncobj features we care about so those
become dead code. We'll delete them in following commits.
We don't need a check for Xe because the Xe driver was merged into Linux
6.8 while dma-buf sync file import/export landed in 6.0.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Faith Ekstrand
8044f16bd6
anv/i915: Require HAS_EXEC_TIMELINE_FENCES
...
i915 has had support for timeline syncobjs for a long time. We might as
well require it at this point.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Faith Ekstrand
cb5a2eafd5
anv/i915: Require HAS_EXEC_CAPTURE
...
This feature is almost as old as the Vulkan driver itself. We've
required newer kernels for a long time. There's no point in having this
feature bit kicking around.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Faith Ekstrand
f28eb1bae6
anv/i915: Require HAS_EXEC_ASYNC
...
This feature is as old as the Vulkan driver itself. We've required
newer kernels for a long time. There's no point in having this feature
bit kicking around.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Faith Ekstrand
94931fd4f4
anv: Set the Shader capability when compiling the FP64 shader
...
Otherwise the SPIR-V parser prints a warning the first time the driver
is loaded after a fresh compile.
Fixes: 91b62e9868 ("anv: Use spirv_capabilities for the float64 shader")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36783 >
2025-08-16 00:04:46 -04:00
Lionel Landwerlin
381cb2cabd
anv: fix R64* vertex buffer format support
...
Disabled by mistake :(
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 5c7397c751 ("anv: add mapping for VBO formats in format mapping")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36771 >
2025-08-14 08:34:00 +00:00
Iván Briano
35190aac91
anv: dirty descriptor state on CmdSetDescriptorBufferOffets
...
Calling vkCmdBindDescriptorBuffersEXT() does not invalidate previously
set descriptor sets. Move the state dirtying to
vkCmdSetDescriptorBufferOffets.
Fixes: ab7641b8dc ("anv: implement descriptor buffer binding")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36768 >
2025-08-14 07:05:31 +00:00
Iván Briano
382b8e3aa2
anv: check for pending_db_mode when dirtying descriptor mode
...
If an application switches back and forth between descriptor sets and
descriptor buffers before executing a draw/dispatch, we could end up in
a wrong state due to pending_db_mode not getting updated.
Fixes: ab7641b8dc ("anv: implement descriptor buffer binding")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36768 >
2025-08-14 07:05:31 +00:00
Lionel Landwerlin
99cf8273f6
anv: stop using descriptor layouts for descriptor buffers push sizes
...
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/36757 >
2025-08-13 12:01:49 +00:00
Karol Herbst
beadc1f93a
anv/i915: print bo->map when dumping exec buffers bos
...
This makes it easier to verify if the host allocation a user-ptr bo is
assigned to still exists. The kernel rejects command submissions with
user-ptr bos pointing to non-mapped host memory, so this makes it easier
to debug those.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36701 >
2025-08-13 08:30:43 +00:00
Karol Herbst
8d8f5558eb
anv: do not map from_host_ptr bos in image_bind_address
...
Rusticl running on zink might end up creating an 1D image from a host_ptr
and zink might bind it with VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT.
That ended up hitting an assert inside anv_device_map_bo.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36701 >
2025-08-13 08:30:43 +00:00
Lionel Landwerlin
a973fb1bb0
anv: fix missing meson dep
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13627
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36737 >
2025-08-13 08:10:39 +00:00
Lionel Landwerlin
9a6065852d
anv: Do not consider task as prerasterization
...
What drivers state programming in the 3D pipeline is the mesh shader.
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/36734 >
2025-08-13 06:24:44 +00:00
Sagar Ghuge
cac3b4f404
anv: Mask off excessive invocations
...
For unaligned invocations, don't launch two COMPUTE_WALKER, instead we
can mask off excessive invocations in the shader itself at nir level and
launch one additional workgroup.
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/36245 >
2025-08-12 23:17:02 +00:00
Sagar Ghuge
7b634ebb63
vulkan/runtime: Add VK_SHADER_CREATE_UNALIGNED_DISPATCH_BIT_MESA flag
...
Drivers that doesn't support direct unaligned dispatches, they can use
the shader creation flag to lower unaligned dispatches.
Suggested-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36245 >
2025-08-12 23:17:02 +00:00
Sagar Ghuge
349de5b0be
anv: Use vk_get_bvh_build_pipeline_spv helper
...
Took inspiration from RADV driver changes. This allow us to get rid of
our local helper get_pipeline_spv().
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/36245 >
2025-08-12 23:17:02 +00:00
Robert Mader
3f995bf817
anv: Enable G8_B8_R8_3PLANE_422 and G8_B8_R8_3PLANE_444 formats
...
They are well supported and useful for efficient playback of software
decoded videos - e.g. when allocating buffers with udmabuf or dma heaps
and then importing them into Vulkan.
Signed-off-by: Robert Mader <robert.mader@posteo.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35273 >
2025-08-12 19:16:29 +00:00
Faith Ekstrand
6ece4f3fa0
vulkan: Add a vk_video_session_finish() helper
...
It's always better if init/finish come in pairs.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36646 >
2025-08-11 20:34:56 +00:00
Faith Ekstrand
e0b25e78ff
anv: Delete anv_video_session_params
...
It's just a dummy wrapper around the common struct.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36646 >
2025-08-11 20:34:56 +00:00
Faith Ekstrand
9d6f65db9a
vulkan: Add handle casts for vk_video_session[_parameters]
...
This also allows us to simplify the interface to
vk_video_session_parameters_create().
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36646 >
2025-08-11 20:34:56 +00:00
Faith Ekstrand
f8086c6472
vulkan/video: Switch vk_video_session_parameters to create/destroy
...
These are never created on the stack or deep inside other objects so it
makes sense to use create/destroy instead of init/finish.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36646 >
2025-08-11 20:34:56 +00:00
Lionel Landwerlin
3d85580779
anv: subclass vk_pipeline
...
We'll have to handle RT pipelines inside of Anv because the runtime
doesn't have support for that.
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/36711 >
2025-08-11 11:14:53 +00:00
Lionel Landwerlin
44aaf88425
anv: rework gfx state emission (again)
...
Previously we had 2 stages :
runtime -> precomputed values -> packing/emission
With this change we use 3 stages :
runtime -> precomputed values -> packing -> emission
Now blorp & other changes to the pipeline should not retrigger
repacking of instructions.
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/36711 >
2025-08-11 11:14:53 +00:00
Lionel Landwerlin
5a2fb0da32
anv: actually use the COMPUTE_WALKER_BODY prepacked field
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36711 >
2025-08-11 11:14:52 +00:00
Lionel Landwerlin
9c8571794a
anv: use a local variable for batch
...
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/36711 >
2025-08-11 11:14:52 +00:00
Lionel Landwerlin
f2eea4ec6d
anv: remove pipeline_stage unused field
...
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/36711 >
2025-08-11 11:14:52 +00:00
Lionel Landwerlin
e7aeed1f09
anv: pass active stages to push descriptor flushing
...
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/36711 >
2025-08-11 11:14:51 +00:00
Caio Oliveira
e8fe6273f9
anv: Advertise VK_KHR_shader_untyped_pointers
...
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36681 >
2025-08-08 22:41:15 +00:00
Lionel Landwerlin
4838b85d6c
anv: move 3DSTATE_TE::TessellationDistributionMode to dynamic path
...
Again another field that depends on shaders bound.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:07:01 +00:00
Lionel Landwerlin
ca0a509b6b
anv: move 3DSTATE_VFG emission to dynamic path
...
A bunch of fields are fixed and other depends on what stages are
bound.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:07:01 +00:00
Lionel Landwerlin
5a8e295a97
anv: move 3DSTATE_CLIP emission to dynamic path
...
This instruction has a bunch of fixed fields and the rest depends on
the shader stages enabled. With the pipeline object going away, we
can't keep this on the pipeline.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:07:00 +00:00
Lionel Landwerlin
c8305dfe0e
anv: move SBE emission to dynamic path
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:07:00 +00:00
Lionel Landwerlin
33abaf2d0e
anv: simplify SBE emission
...
Using 3DSTATE_SBE_SWIZ for providing the implicit PrimitiveID value
(when not written by the previous stage) seems to be the legacy way of
doing things on Gfx7 and prior.
On Gfx8+ we got this new
3DSTATE_SBE::PrimitiveIDOverrideAttributeSelect to get the HW to write
the value wherever we want.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:06:59 +00:00
Lionel Landwerlin
7b8a6af222
anv: move 3DSTATE_SF dynamic emission path
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:06:59 +00:00
Lionel Landwerlin
20721419e5
anv: move primitive_replication emission to dynamic path
...
The pipeline object going away, we won't have a place to keep this. We
can make the diff/emission efficient enough that it won't matter much.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:06:58 +00:00
Lionel Landwerlin
6d863fda2d
anv/brw: move sample_shading_enable to wm_prog_data
...
The vulkan runtime doesn´t store this parameter in the dynamic state
(since it's not a dynamic state). Just capture it at compile time and
leave on the wm_prog_data.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36665 >
2025-08-08 14:06:58 +00:00