Commit Graph

170266 Commits

Author SHA1 Message Date
Marek Olšák 787ddadf73 util: add mesa_pin_threads environment variable that sets a static affinity mask
This is required for deterministic benchmark results.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247>
2024-01-29 19:40:46 +00:00
Marek Olšák ea08690d1c st/mesa: rename ST_L3_PINNING_DISABLED -> ST_THREAD_SCHEDULER_DISABLED
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247>
2024-01-29 19:40:46 +00:00
Marek Olšák 386822c1b0 gallium: rename PIPE_.._PIN_THREADS_TO_L3_CACHE -> .._UPDATE_THREAD_SCHEDULING
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247>
2024-01-29 19:40:46 +00:00
Marek Olšák d230434ae3 mesa,gallium: move the thread scheduler to src/util
The only change in behavior is that setting the affinity mask is skipped
when it has no effect, which happens when the app thread hasn't been moved
under a different L3 cache by the kernel (the sched_state variable tracks
that). This improves performance because setting the affinity mask incurs
measurable CPU overhead even if it has no effect.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27247>
2024-01-29 19:40:46 +00:00
Collabora's Gfx CI Team 1c29869c20 Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598
https://gitlab.freedesktop.org/mesa/piglit/-/compare/f7db20b03de6896d013826c0a731bc4417c1a5a0...e9316bcd12544aaf7e753ce37fe50d64165d9598

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25449>
2024-01-29 18:27:07 +00:00
Jesse Natalie 24f14bfacc dzn: Add missing blit source barriers for enhanced barriers
I was under the impression these would never be needed, since the source
should already be in the right GENERIC_READ layout, but when resolving
rendering attachments with a blit, the source is still in the layout that
it was in at the end of rendering.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313>
2024-01-29 17:46:11 +00:00
Jesse Natalie f91ac2ff41 dzn: Add missing condition to immutable sampler init loop
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313>
2024-01-29 17:46:11 +00:00
Jesse Natalie fd89ca82a6 dzn: Add a stencil blit fallback
Not all D3D hardware supports specifying the stencil ref value from the
pixel shader. For such hardware, stencil blits need to do the awful
8-pass one-bit-per-pass discard-to-not-write blit approach.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313>
2024-01-29 17:46:11 +00:00
Jesse Natalie 5cdcb7134a microsoft/compiler: Use double pack/unpack instead of int for reduce ops on doubles
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27313>
2024-01-29 17:46:11 +00:00
David (Ming Qiang) Wu b75ee1a067 frontends/va: make vlVaSyncSurface blocking
According to VA documentation, vaSyncSurface should block,
so this mapping function vlVaSyncSurface is changed to be blocking.
add vlVaSyncSurface2 which can be used as non-blocking version.

Signed-off-by: David (Ming Qiang) Wu <David.Wu3@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27309>
2024-01-29 14:02:47 +00:00
Samuel Pitoiset dc1b16c010 radv: export alpha-to-coverage via MRTZ for ESO on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset 6a2b264526 radv: emit more default states for ESO on GFX10.3+
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset b7fdfdc901 radv: do not ignore RADV_DYNAMIC_FRAGMENT_SHADING_RATE for ESO on GFX10.3+
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset 9a7c551f95 radv: set NGG fields in vgt_shader_key for ESO on GFX10+
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset 70c288558a radv: fix the late scissor emission workaround with ESO on GFX9
graphics_pipeline is NULL when ESO is used.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset 411e23e193 radv: use the non-emitted graphics pipeline for the needed dynamic states
This is similar but it will allow us to re-use the helper for the
late scissor bug on GFX9.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset bbcdd1dc09 radv: refactor gfx103_pipeline_emit_vrs_state()
For using it with ESO.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Samuel Pitoiset e7b4dcd522 radv: refactor gfx103_pipeline_emit_vgt_draw_payload_cntl()
For using it with ESO.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236>
2024-01-29 09:47:01 +00:00
Gert Wollny b9fea5ea6b virgl: Use better reporting for mirror_clamp features
Fixes: 9efe50c83b
    virgl: report MIRROR_CLAMP features better

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27106>
2024-01-29 09:01:26 +00:00
Lionel Landwerlin fe19405c46 vulkan/runtime: handle new dynamic states for attachment remapping
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27307>
2024-01-29 08:24:14 +00:00
Samuel Pitoiset 0105cfd93c radv/ci: enable RADV_PERFTEST=shader_object for vkcts-polaris10-valve
This now runs +571k tests for ESO in ~34 minutes compared to ~30 minutes
without shader_object support. Definitely acceptable for a manual job.

Note that the next VKCTS uprev will reduce the number of ESO tests by
a lot because most of them weren't useful for coverage.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27139>
2024-01-29 07:50:39 +00:00
Samuel Pitoiset c68f96878c radv: fix segfault when getting device vm fault info
pFaultInfo can be NULL.

Fixes: 8097becc7f ("radv: add initial VK_EXT_device_fault support")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27292>
2024-01-29 07:26:28 +00:00
Hans-Kristian Arntzen 2f4d6df372 wsi/common: Allow KHR_present_wait on WL.
The fallback in place ensures a good enough solution.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27275>
2024-01-28 23:14:36 +00:00
Hans-Kristian Arntzen 0d51cd4808 wsi/wl: Improve fallback for present_wait.
When presentation feedback protocol is not supported,
fallback to using frame callbacks.
In some sense, frame callbacks functions like
present complete + latch delay, so it's a reasonable approach, given the
alternative.

Xwl uses frame callback for COMPLETE events, so it's not a new approach.

To guard against lack of forward progress guarantee,
add a timeout for present complete to avoid deadlocking applications.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27275>
2024-01-28 23:14:36 +00:00
Hans-Kristian Arntzen 1af7f41174 wsi/wl: Refactor out code to update current present ID.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27275>
2024-01-28 23:14:36 +00:00
Gert Wollny 820859a6ab r600: lower dround_even also on hardware that supports fp64
Fixes: aed6a39c10
  glsl: Retire dround lowering.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27329>
2024-01-28 22:33:30 +00:00
David Heidelberg 4a23b28623 ci/VK-GL-CTS: add patches to fix dEQP-VK.glsl.derivate crashes
Acked-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27324>
2024-01-28 20:41:37 +01:00
Max R 68b3b1573b d3d10umd: Fix compilation
Commit eb20ef92 changed signature of cso_set_vertex_buffers.
But this change wasn't reflected in d3d10umd.
Update call to cso_set_vertex_buffers to fix it.

Fixes: eb20ef927 ("gallium: remove unbind_trailing_count from set_vertex_buffers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27238>
2024-01-27 18:18:35 +00:00
Faith Ekstrand 55413e33dc nvk: Disable all cbufs in nvk_queue_init_context_draw_state()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27320>
2024-01-27 17:54:19 +00:00
Faith Ekstrand 35bd36c1b0 nvk: Whitespace fixes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27320>
2024-01-27 17:54:19 +00:00
Faith Ekstrand c4254f374f nvk: Do a second submit to check for errors in the sync case
With NVK_DEBUG=push_sync, we signal and immediately wait on a syncobj
to better detect whitch push failed and then print it.  However, the
syncobj wait itself isn't enough to check for errors.  We have to try
pushing again.  Adding an empty push lets us get errors immediately and
print the actually failing pushbuf to stderr.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27320>
2024-01-27 17:54:19 +00:00
Thomas H.P. Andersen 614e4269cf nvk: promote load_store_op_none to KHR
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297>
2024-01-27 17:38:58 +00:00
Thomas H.P. Andersen 132b3a79f4 nvk: promote VK_EXT_line_rasterization to KHR
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297>
2024-01-27 17:38:58 +00:00
Thomas H.P. Andersen da910fc2fd nvk: promote VK_EXT_index_type_uint8 to KHR
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27297>
2024-01-27 17:38:58 +00:00
Echo J 32babbc416 nvk: Set ICD version to 1.3
This should complete the Vulkan 1.3 puzzle

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27319>
2024-01-27 16:19:10 +00:00
Sebastian Wick c467a87e06 radeonsi: Destroy queues before the aux contexts
Otherwise the queue might access the already destroyed aux contexts

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27300>
2024-01-27 14:59:11 +00:00
Faith Ekstrand a0a453e43f nvk: Advertise Vulkan 1.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27317>
2024-01-27 06:30:08 +00:00
Faith Ekstrand 25d40e8e2c nvk: Stop requiring dedicated allocations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27317>
2024-01-27 06:30:08 +00:00
Juston Li 305256e344 venus: handle empty resolved query feedback list
On the off chance the combined list resolves to empty due to resets,
skip adding query feedback by not increasing the total cmd buffer
count for query feedback.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163>
2024-01-26 23:40:52 +00:00
Juston Li df1cd20096 venus: recycle linked query feedback immediately during submission
Instead of just recyling 1 linked query feedback cmd for use and
defering the actualy recycle, recycle all linked cmds found when
setting up submission immediately.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163>
2024-01-26 23:40:52 +00:00
Juston Li decc5d4539 venus: add comments for query feedback batch free list
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163>
2024-01-26 23:40:52 +00:00
Juston Li e2c4bafccc venus: free query batches for VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
When a pool is reset with VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT,
free up all query batches in the pool.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163>
2024-01-26 23:40:52 +00:00
Juston Li aceda1f5f6 venus: acquire mutex when recycling query feedback cmds
Fixes: 5b24ab91e4 ("venus: switch to unconditionally deferred query feedback")

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163>
2024-01-26 23:40:52 +00:00
Juston Li c3417c5bb8 venus: refactor query feedback cmds
The list free_query_feedback_cmds for recycling query feedback cmds was
only used in vn_command_pool when it was a vn_feedback_cmd_pool.

For clarity, refactor and store this list in vn_feedback_cmd_pool
instead and introduce a new struct vn_query_feedback_cmd that references
the feedback cmd and the feedback cmd pool for tracking.

Refactor out the allocation portion of query feedback cmds into its own
function for allocating the new vn_query_feedback_cmd struct.

Fixes: 5b24ab91e4 ("venus: switch to unconditionally deferred query feedback")

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27163>
2024-01-26 23:40:52 +00:00
Lionel Landwerlin 3b9466dd51 anv: fix transfer barriers flushes with compute queue
Transfer operation are implemented differently on the compute engine
and require a different kind of cache flush.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27233>
2024-01-26 20:47:18 +00:00
Ryan Neph 9f99685c1b virgl: use PIPE_MAX_SAMPLERS in bind_samplers_states
Fix incorrect use of PIPE_MAX_SHADER_SAMPLER_VIEWS in
virgl_bind_samplers_states.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27251>
2024-01-26 18:20:13 +00:00
Javier Martinez Canillas 5275df0cfe gallium: Add ssd130x to the list of kmsro drivers
Add an entry point for the ssd130x modesetting driver, to expose a _dri.so
and allow Solomon panels to display the contents rendered by a GPU driver.

Suggested-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27135>
2024-01-26 17:52:45 +00:00
Lionel Landwerlin 9d31680e79 anv: retain ccs image binding address
Memory can be free before images it is bound to. When unmapping the
CCS range in the AUX-TT, we cannot rely on the anv_bo::offset field
because the anv_bo might have been freed.

Just save the mapping address/size and use those values at unmapping
time.

Fixes an assert on CI with :

  dEQP-VK.synchronization.internally_synchronized_objects.pipeline_cache_graphics

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: e519e06f4b ("anv: add missing alignment for AUX-TT mapping")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27304>
2024-01-26 17:29:31 +00:00
Lionel Landwerlin eead86ad8e anv: rename aux_tt image field
We'll add more to the sub-struct

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27304>
2024-01-26 17:29:31 +00:00
Lionel Landwerlin fdc2f0a52e anv: factor out aux-tt binding logic for future reuse
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27304>
2024-01-26 17:29:30 +00:00