- Nov 01, 2023
-
-
Eric Engestrom authored
-
This register seems needed to enable compute shader shader invocations on GFX7. On GFX8+ it's working fine without emitting this register but I think it doesn't hurt. This fixes dEQP-VK.query_pool.statistics_query.*_cq on GFX7. Fixes: a9945216 ("radv: fix COMPUTE_SHADER_INVOCATIONS query on compute queue") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!25957> (cherry picked from commit 17daa08d)
-
Looks like GFX6 always writes the number of compute shader invocations at offset 0 when used on compute queue. This fixes dEQP-VK.query_pool.statistics_query.*_cq on GFX6. Fixes: a9945216 ("radv: fix COMPUTE_SHADER_INVOCATIONS query on compute queue") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!25957> (cherry picked from commit 9a0a77cb)
-
Eric Engestrom authored
-
The following sequence is valid (although weird) but many other drivers (including RADV) were broken: - bind pipeline with some static state - set state command for that static state (to a bad value) - bind the same pipeline again - draw Fixes new dEQP-VK.dynamic_state.*.double_static_bind. Cc: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!25954> (cherry picked from commit e4a1bc70)
-
Apparently the dereferences made tsan report data races on the pipe_screen object. Cc: mesa-stable Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!25944> (cherry picked from commit f7830240)
-
Eric Engestrom authored
-
- Oct 31, 2023
-
-
All commands that make queries available have feedback cmds batched and stored during recording. At submission time, for each batch (SubmitInfo) these feedback cmds are recorded in a cmd buffer that is appended after the last original cmd buffer (but before semaphore/fence feedback). Query reset cmds are deferred as well and also remove any prior feedback cmds for queries its resetting within the batch. Cc: 23.3 <mesa-stable> Signed-off-by: Juston Li <justonli@google.com> Part-of: <mesa/mesa!25413> (cherry picked from commit 5b24ab91)
-
Cc: 23.3 <mesa-stable> Signed-off-by: Juston Li <justonli@google.com> Part-of: <mesa/mesa!25413> (cherry picked from commit 7fbf608f)
-
Link the query feedback cmd lifecycle to a cmd in the batch so that when that last cmd gets reset/freed, we assert its safe to reset the query feedback cmd. The cmd is then placed on the free list for reuse. Some edge cases if the the last cmd is simultaneous or gets resubmitted. Cc: 23.3 <mesa-stable> Signed-off-by: Juston Li <justonli@google.com> Part-of: <mesa/mesa!25413> (cherry picked from commit d2a62678)
-
Add function to alloc a cmd buffer and record all the deferred query feedback cmds into it at submission time. Cc: 23.3 <mesa-stable> Signed-off-by: Juston Li <justonli@google.com> Part-of: <mesa/mesa!25413> (cherry picked from commit 6dcf033d)
-
defered query feedback cmds have similaries with timeline semaphore feedback so refactor out some common functions for reuse Cc: 23.3 <mesa-stable> Signed-off-by: Juston Li <justonli@google.com> Part-of: <mesa/mesa!25413> (cherry picked from commit 99807b3d)
-
rename previous vn_get_cmd_handle as that was getting cmd handles from the temp storage cmd_handle buffer. Cc: 23.3 <mesa-stable> Signed-off-by: Juston Li <justonli@google.com> Part-of: <mesa/mesa!25413> (cherry picked from commit 2ea6f935)
-
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 63e91148 ("anv: Enable VK_VALVE_mutable_descriptor_type") Closes: mesa/mesa#10065 Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <mesa/mesa!25958> (cherry picked from commit cdca0b2c)
-
Eric Engestrom authored
-
- Oct 30, 2023
-
-
PC_PRIMITIVE_CNTL_0 is not set in a draw state and may be changed by 3d blits, so we have to re-emit it a the start of a renderpass. Closes: mesa/mesa#9941 Fixes: 7be8d0f7 ("tu: Use common dirty tracking for PC_PRIMITIVE_CNTL_0") Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <mesa/mesa!25918> (cherry picked from commit cdbb8b54)
-
Only RDNA1-2 are affected because RADV needs to handle the legacy vs NGG path for this query, and the NGG results are stored with 2 extra 64-bit values. Fixes flakes with dEQP-VK.transform_feedback.primitives_generated_query.* since VKCTS 1.3.7.0. Cc: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!25862> (cherry picked from commit 7d96fe85)
-
ldunifa works exactly the same as ldunif: the hw will prefetch the next 4 bytes after a read, so if a buffer is exactly a multiple of a page size and a shader uses ldunifa to read exactly the last 4 bytes the prefetch will read out of bounds and spam the error on the kernel log. Avoid that by allocating extra bytes in this scenario. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Cc: mesa-stable Part-of: <mesa/mesa!25752> (cherry picked from commit 82bef62c)
-
Fixes: a6e9e0f0 ("zink: add set_global_binding") Signed-off-by: Karol Herbst <kherbst@redhat.com> Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!25937> (cherry picked from commit 2f34a1db)
-
Host pointer allocations are all linear laid out, so just tell the drivers in case they don't assume this implicitly. Fixes: 71a9af49 ("rusticl/mem: support read/write/copy ops for images") Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!25937> (cherry picked from commit 7f08036a)
-
Compute contexts don't execute the second half of the function. Fixes: a164e147 - radeonsi: Add perfetto support in radeonsi Closes: mesa/mesa#10043 Tested-by: Mike Lothian <mike@fireburn.co.uk> Tested-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!25873> (cherry picked from commit 276b9b13)
-
Cc: mesa-stable Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <mesa/mesa!25928> (cherry picked from commit 9d73bfc9)
-
VUID-vkCmdDrawMultiIndexedEXT-alphaToCoverageEnable-08919 requires a cbuf0 write for A2C to be active cc: mesa-stable Part-of: <mesa/mesa!25938> (cherry picked from commit 73657787)
-
cc: mesa-stable Part-of: <mesa/mesa!25927> (cherry picked from commit c4283e32)
-
if multiple contexts are accessing this all at once then this needs more locking to avoid unsynchronized cache access cc: mesa-stable Part-of: <mesa/mesa!25929> (cherry picked from commit f8909e7d)
-
This resolves a memory leak when the application drops its last reference to the queue, but never waits explicitly. The problem was, that the queue was refed by QueueState::last and that ref only gets dropped on a blocking wait. This is problematic as non user Event objects also hold a ref on the Queue they are created on, therefore causing a cyclic ref relation. In order to resolve it, just use a weak reference. A failure of upgrading the Weak ref is not an issue as in this case we'd only wait on an already destroyed or processed event. The worker thread already makes sure everything stays in sync. Fixes: 5b3ff7e3 ("rusticl/queue: overhaul of the queue+event handling") Signed-off-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org> Part-of: <mesa/mesa!25926> (cherry picked from commit 9a3af6e1)
-
The range alignment didn't happen through GetDescriptorEXT as it called write_buffer_descriptor directly. So simply move the align from write_buffer_descriptor_impl into write_buffer_descriptor. Fixes: 46e0c775 ("radv: implement VK_EXT_descriptor_buffer") Signed-off-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Georg Lehmann <dadschoorse@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!25837> (cherry picked from commit 1c619b66)
-
I didn't check if it's a valid vulkan SPIR-V opcode and turns out it isn't Fixes: 82eed326 ("zink: support more nir opcodes") Signed-off-by: Karol Herbst <kherbst@redhat.com> Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!25837> (cherry picked from commit 01b6cccc)
-
Cc: mesa-stable Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!25837> (cherry picked from commit abd8ef84)
-
It's kinda pointless to have it too big, it also causes weird shaders to be generated and causes stack overflows in `nir_opt_gcm`. Nothing needs big values here anyway. Cc: mesa-stable Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!25837> (cherry picked from commit 694001ee)
-
It's pointless to advertise more than CL_DEVICE_MAX_MEM_ALLOC_SIZE and also the CTS tests against this. Cc: mesa-stable Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!25837> (cherry picked from commit 9b6ac56d)
-
some drivers require this cc: mesa-stable Part-of: <mesa/mesa!25914> (cherry picked from commit ee103987)
-
this catches duplicated xfb when generated geometry shaders are used cc: mesa-stable Part-of: <mesa/mesa!25914> (cherry picked from commit df74ea77)
-
this matches other resources created with staging blit-like mechanics cc: mesa-stable Part-of: <mesa/mesa!25914> (cherry picked from commit 87e3720b)
-
this is otherwise illegal cc: mesa-stable Part-of: <mesa/mesa!25914> (cherry picked from commit 694ebe8c)
-
exceeding src/dst extents is illegal cc: mesa-stable Part-of: <mesa/mesa!25914> (cherry picked from commit e8b26800)
-
required by spec backport-to: 23.3 Part-of: <mesa/mesa!25914> (cherry picked from commit 009d4a5f)
-
required by spec cc: mesa-stable Part-of: <mesa/mesa!25914> (cherry picked from commit 7035b5a8)
-
Using u2u is always correct for integers, including signed integers, because we're doing a down-cast. It's wrong for floats, though. Fixes: f95665cf ("nir/lower_bit_size: Add support for lowering subgroup ops") Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <mesa/mesa!25894> (cherry picked from commit 5979e741)
-
this can technically be accessed by multiple threads, so ensure access is serialized backport-to: 23.3 Part-of: <mesa/mesa!25924> (cherry picked from commit 782481c4)
-