Samuel Pitoiset
ffbad81305
radv: simplify re-using cache entries in radv_pipeline_cache_insert_shaders()
...
If entry->shaders[i] is NULL, shaders[i] should be also NULL, so the
else condition is a no-op.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13823 >
2021-11-17 08:15:53 +01:00
Bas Nieuwenhuizen
68b7b4fb38
radv: Don't crash if VkExternalImageFormatProperties isn't provided.
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5623
Stable: 21.2 21.3
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13786 >
2021-11-16 10:23:37 +00:00
Bas Nieuwenhuizen
6e3266709a
radv: Add more checking of cache sizes.
...
Hopefully prevents things.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13789 >
2021-11-16 00:58:08 +00:00
Bas Nieuwenhuizen
9494c566c2
radv: Fix memory corruption loading RT pipeline cache entries.
...
Oops. Forgot to account for the size here.
Fixes: ca2d96db51 ("radv: Add caching for RT pipelines.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13789 >
2021-11-16 00:58:08 +00:00
Daniel Schürmann
7876886bdc
radv: use nir_fold_16bit_sampler_conversions()
...
for now only for texture dest and if there is no rounding mode required.
Totals from 2 (0.00% of 150170) affected shaders: (GFX10.3)
CodeSize: 7980 -> 7948 (-0.40%)
Instrs: 1441 -> 1422 (-1.32%)
Latency: 7703 -> 7626 (-1.00%)
InvThroughput: 2336 -> 2302 (-1.46%)
VClause: 34 -> 36 (+5.88%)
Copies: 57 -> 58 (+1.75%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13592 >
2021-11-15 18:28:20 +00:00
Samuel Pitoiset
e94a899c0e
radv: fix a sync issue on GFX9+ by clearing the upload BO fence
...
If the same cmdbuf is submitted more than once, they were waiting on
the same fence value. Fix this by clearing the value when beginning
a new command buffer.
This might fix spurious GPU hangs, especially on GFX9.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5401
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13777 >
2021-11-15 09:59:53 +01:00
Rhys Perry
2d07bcad66
radv: lower load_local_invocation_index with 1D workgroups
...
For 1D workgroups, we can just load from an input VGPR.
fossil-db (Sienna Cichlid):
Totals from 226 (0.18% of 128647) affected shaders:
CodeSize: 1200476 -> 1195696 (-0.40%); split: -0.49%, +0.09%
Instrs: 223817 -> 223328 (-0.22%); split: -0.29%, +0.07%
Latency: 2552394 -> 2549606 (-0.11%); split: -0.15%, +0.04%
InvThroughput: 533989 -> 532670 (-0.25%); split: -0.27%, +0.02%
VClause: 5191 -> 5188 (-0.06%)
SClause: 7637 -> 7636 (-0.01%)
Copies: 18165 -> 18182 (+0.09%); split: -0.22%, +0.31%
Branches: 10446 -> 10442 (-0.04%)
PreSGPRs: 8049 -> 8041 (-0.10%); split: -0.17%, +0.07%
PreVGPRs: 7785 -> 7767 (-0.23%); split: -0.32%, +0.09%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757 >
2021-11-12 18:59:51 +00:00
James Park
0aaaee09a4
radv: Match function definitions to declarations
...
Fixes compiler errors for 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749 >
2021-11-12 09:46:10 +00:00
Danylo Piliaiev
deb23612f7
vulkan/util: Handle depth-only formats in vk_att_ref_stencil_layout
...
From VUID-VkAttachmentReference2-attachment-04755:
"If attachment is not VK_ATTACHMENT_UNUSED, and the format of the
referenced attachment is a depth/stencil format which includes both
depth and stencil aspects, and layout is
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain must include
a VkAttachmentReferenceStencilLayout structure."
We did not check that there even could be a stencil layout
before fetching it.
Fixes a few tests from:
dEQP-VK.image.depth_stencil_descriptor.depth_read_only_optimal.*
Fixes: 979ea394e5 "vulkan/util: Move
helper functions for depth/stencil images to vk_iamge"
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13740 >
2021-11-11 17:17:16 +00:00
Samuel Pitoiset
3e7bac80ce
ac/rgp: add support for dumping SPM data
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13704 >
2021-11-11 10:05:49 +00:00
James Park
183e705a15
vulkan, radv: Support backslash in ICD paths
...
Vulkan loader wants backslash for paths on Windows. Need to jump through
hoops because Meson does not support backslashes in commands.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13461 >
2021-11-10 09:48:41 +00:00
Samuel Pitoiset
379fab74d2
radv/sqtt: fix GPU hangs when capturing from the compute queue
...
S_008D20_FINISH_DONE is a mask of queues and 1 means "wait on the gfx
queue until the value is not 0" which can never happen when the driver
captures from compute. Instead, use the full mask of possible queues.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13694 >
2021-11-10 08:24:54 +01:00
Bas Nieuwenhuizen
bbd091d1fa
radv: Always use linker script when possible.
...
Also without LLVM. Useful for Android with statically linked libelf.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13164 >
2021-11-09 20:51:14 +00:00
Bas Nieuwenhuizen
66713d33fe
radv: Remove android build warning.
...
Shadowed variable.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13164 >
2021-11-09 20:51:14 +00:00
Hyunjun Ko
979ea394e5
vulkan/util: Move helper functions for depth/stencil images to vk_iamge
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12785 >
2021-11-09 16:12:04 +00:00
Hyunjun Ko
2a0253b9b5
radv: Fix to honor the spec to get stencil layout.
...
Fixes: 3ef89b245e ("radv: fix separate depth/stencil layout in render pass")
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12785 >
2021-11-09 16:12:04 +00:00
Samuel Pitoiset
1f36f6b83f
radv/winsys: use same IBs padding as the kernel
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13703 >
2021-11-09 11:05:32 +00:00
Samuel Pitoiset
e04101c34e
radv: only emit PGM_LO for the vertex prolog
...
Shaders are allocated in the 32-bit address space.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13551 >
2021-11-09 10:13:38 +00:00
Samuel Pitoiset
ca7c748f45
radv: do not expose buffer features for depth/stencil formats
...
The Vulkan spec got clarified recently and it's invalid (hw can support
it though). Fixes new CTS dEQP-VK.api.buffer.invalid_buffer_features.*.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13701 >
2021-11-09 09:13:38 +00:00
Samuel Pitoiset
891e6f009b
radv/sqtt: stop calling radv_cs_add_buffer() for the thread trace BO
...
It's resident, so global.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13717 >
2021-11-09 08:22:11 +00:00
Samuel Pitoiset
ed70230df6
radv/sqtt: reserve a VMID for better profiling
...
To avoid capturing other processes work. PAL always requests a VMID
when capturing with SQTT too.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5051
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13695 >
2021-11-09 08:35:36 +01:00
Samuel Pitoiset
984091531e
radv: remove unused parameter in radv_emit_subpass_barrier()
...
It got introduced by "radv: optimize subpass barrier flushes for
imageless framebuffers" but never used in the final version.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13702 >
2021-11-08 18:10:49 +00:00
Samuel Pitoiset
6b002d2549
Revert "radv: only enable VK_EXT_display_control for vrcompositor (SteamVR)"
...
It's fixed now.
This reverts commit db7ad0c170 .
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13682 >
2021-11-05 08:27:54 +01:00
Tapani Pälli
01fb24d50e
radv: setup syncobj fd via wsi_device_setup_syncobj_fd
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305 >
2021-11-04 16:57:29 +00:00
Timur Kristóf
b59614619b
radv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13440 >
2021-11-04 13:32:07 +00:00
Joshua Ashton
af8fa2644e
radv: Split off cmd_buffer variant of descriptor set template updates
...
Assumes cmd_buffer != NULL for this path to eliminate the checks in the generic code.
Benchmarks:
I made a microbenchmark based on Bas' vulkan microbench suite.
https://gitlab.freedesktop.org/bnieuwenhuizen/vulkan_microbench/-/merge_requests/1
In this benchmark, this improves vkDescriptorTemplateUpdate performance consistently by 36%.
-------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------
DescriptorTemplateUpdate 81.2 ns 81.2 ns 8573169
->
-------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------
DescriptorTemplateUpdate 52.9 ns 52.9 ns 13306065
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342 >
2021-11-04 05:50:54 +00:00
Joshua Ashton
4865cb6514
radv: Split off cmd_buffer variant of descriptor set updates
...
Assumes cmd_buffer != NULL for this path to eliminate the checks in the generic code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342 >
2021-11-04 05:50:48 +00:00
Joshua Ashton
7b0826db56
radv: Always inline descriptor writes
...
Improves performance, see next commit for benchmarks.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342 >
2021-11-04 05:50:47 +00:00
Samuel Pitoiset
e15e3a8e86
radv: optimize subpass barrier flushes for imageless framebuffers
...
The driver should always know the attachments at this point. This
should reduce the number of L2 cache flushes for imageless framebuffers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13291 >
2021-11-03 08:26:43 +01:00
Samuel Pitoiset
db7ad0c170
radv: only enable VK_EXT_display_control for vrcompositor (SteamVR)
...
One CTS test is still failing and the fix isn't upstream yet.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13623 >
2021-11-02 08:08:33 +00:00
Bas Nieuwenhuizen
d66514aacc
radv: Disable coherent L2 optimization on cards with noncoherent L2.
...
With high likelihood we are forgetting to set the noncoherent bits
somewhere but I don't have the HW to debug. To avoid user pain
disable this optimization on these GPUs.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5505
Fixes: fd8210f27e ("radv: Try to do a better job of dealing with L2 coherent images.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13620 >
2021-11-01 23:48:43 +00:00
Samuel Pitoiset
9b80f4d5f2
radv: rename radv_shader_variant to radv_shader
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13548 >
2021-11-01 20:04:45 +00:00
Samuel Pitoiset
3839f3a486
radv: stop reporting SQTT/RGP support as experimental
...
It can be considered stable these days. This also now reports the
buffer size and if instruction timing is enabled/disabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13477 >
2021-11-01 17:32:50 +00:00
Samuel Pitoiset
74e625f057
radv: enable SQTT instruction timing by default
...
It seems stable enough to turn it on by default. This replaces
RADV_THREAD_TRACE_PIPELINE by RADV_THREAD_TRACE_INSTRUCTION_TIMING
which is enabled by default.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13477 >
2021-11-01 17:32:50 +00:00
Samuel Pitoiset
7fd414ec84
radv: remove useless checks about GFX7 for SQTT
...
It's only enabled on GFX8+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13477 >
2021-11-01 17:32:50 +00:00
Samuel Pitoiset
b35fd1bff6
radv: move freeing the trigger SQTT file at a better place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13477 >
2021-11-01 17:32:50 +00:00
Jason Ekstrand
4108fda426
vulkan: Move all the common object code to runtime/
...
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Rhys Perry
49d290bcf7
radv: don't use a separate cache entry for GS copy shaders
...
This seems simpler and probably faster.
This also fixes a warning for these CTS tests:
dEQP-VK.pipeline.creation_feedback.graphics_tests.vertex_stage_geometry_stage_delayed_destroy_fragment_stage_delayed_destroy
dEQP-VK.pipeline.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage
because we no longer set found_in_application_cache=false for pipelines
with NGG GS.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13528 >
2021-10-27 13:34:56 +00:00
Samuel Pitoiset
704340f0f6
radv: fix invalid wait_dst_stage_mask type
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13354 >
2021-10-27 07:24:35 +00:00
Bas Nieuwenhuizen
1fe375e7cf
radv: Add bufferDeviceAddressMultiDevice support.
...
We don't support multiple devices so this is a nop. However, Baldurs Gate 3 enables
this and with the new more complete checks this causes device creation to fail.
Fixes: 2e5718c957 ("vulkan: provide common functions to check device features")
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5509
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13482 >
2021-10-27 01:47:58 +00:00
Dave Airlie
f42a4f6451
radv: fence->user_ptr and ctx->fence_map are now totally unused.
...
Garbage collect them.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13525 >
2021-10-26 22:22:22 +00:00
Samuel Pitoiset
1cd43ff030
radv: lower the viewport index to zero when the VGT stage doesn't export it
...
This is allowed and the fragment shader should read zero.
No fossils db changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13222 >
2021-10-26 08:37:12 +02:00
Samuel Pitoiset
db82d90451
radv: report error messages when the driver can't be initialized
...
Not only with RADV_DEBUG=startup.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13343 >
2021-10-25 14:13:46 +02:00
Samuel Pitoiset
4765edb4e0
radv: fix build errors with Android
...
Fixes: 49c3a88fad ("radv: implement VK_KHR_format_feature_flags2")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5518
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13450 >
2021-10-25 06:45:47 +00:00
Samuel Pitoiset
ae2881c0f5
radv: remove old RADV_TRACE_FILE warning
...
It has been replaced by RADV_DEBUG=hang a year ago.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13452 >
2021-10-25 08:08:52 +02:00
Samuel Pitoiset
b6a69dbb40
radv: re-emit prolog inputs when the nontrivial divisors state changed
...
If the application first uses nontrivial divisors, the driver emits
the vertex shader VA to the upload BO rather than directly via the
user SGPRs locations. But, if the vertex input dynamic state changes,
the driver might select a different VS prolog that no longer needs
nontrivial divisors.
In this case, the driver needs to re-emit the prolog inputs because
otherwise the VS prolog will jump to the PC that is emitted via the
user SGPR locations, and the previous one was somewhere in the
upload BO...
This fixes a GPU hang with Bioshock and Zink.
Fixes: d9c7a17542 ("radv: enable VK_EXT_vertex_input_dynamic_state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13377 >
2021-10-22 09:47:50 +02:00
Samuel Pitoiset
8ec6824335
radv,aco: decouple shader_info/options from radv_shader_args
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13287 >
2021-10-22 07:10:40 +00:00
Vinson Lee
670fd8123b
radv: Fix memory leak on error path.
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable prolog going out of scope leaks the storage it points to
Fixes: 80841196b2 ("radv: implement dynamic vertex input state using vertex shader prologs")
Suggested-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13402 >
2021-10-21 07:14:40 +00:00
Samuel Pitoiset
8304392c35
radv: add an assertion to prevent GPU hangs when VRS isn't supported
...
Just hit this case with a buggy CTS test.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13361 >
2021-10-21 08:07:54 +02:00
Samuel Pitoiset
19c91a120d
radv: do not remove PSIZ for streamout shaders
...
It might still be read later from the streamout buffer.
Fixes a regression with
ext_transform_feedback-builtin-varyings gl_PointSize and Zink.
Fixes: 92e1981a80 ("radv: Remove PSIZ output when it isn't needed.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13413 >
2021-10-19 12:29:40 +00:00