Joshua Ashton
4e58d30d98
radv: Add force_emulate_rt perftest option
...
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/12974 >
2021-10-04 11:52:40 +00:00
Joshua Ashton
eb06e6e6cd
radv: Add noatocdithering option to RADV_DEBUG
...
Was useful in testing a difference between D3D and VK ATOC rendering earlier today, would be nice to check this more easily in future.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13069 >
2021-09-28 17:06:36 +00:00
Timur Kristóf
f30e4351de
radv: Support NGG culling with new perftest environment variable.
...
Currently we don't enable it on any chip by default, but
we plan to enable it soon on GFX10.3 when we are comfortable
with its performance.
RADV_PERFTEST=nggc environment variable enables it on GFX10+ GPUs.
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/10525 >
2021-07-13 23:56:33 +00:00
Bas Nieuwenhuizen
c27e3a6248
radv: Add rt perftest flag.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11078 >
2021-06-18 22:16:27 +00:00
Samuel Pitoiset
69ae02151d
radv: remove DFSM
...
DFSM has never been enabled by default because it was slower.
RadeonSI is also dropping support for this because they discovered
that's actually not efficient in practice.
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/10968 >
2021-05-26 17:22:14 +00:00
Samuel Pitoiset
1bbbdfe590
radv: enable DCC stores on RDNA2
...
It seems this gives 2-3% improvements most of the time. This also
enables DCC for concurrent images.
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/10454 >
2021-05-19 07:17:29 +00:00
Samuel Pitoiset
9bcaeddf77
radv: enable TC-compat CMASK on GFX8-9
...
It's already implemented and it works quite fine on GFX10+, so it
should be safe to enable it on GFX8-9.
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/10488 >
2021-04-28 08:01:41 +00:00
Samuel Pitoiset
bba6be03f9
radv: remove RADV_DEBUG=nothreadllvm
...
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/10429 >
2021-04-23 11:26:48 +00:00
Bas Nieuwenhuizen
59c501ca35
radv: Format.
...
Using
find ./src/amd/vulkan -regex '.*/.*\.\(c\|h\|cpp\)' | xargs -P8 -n1 clang-format --style=file -i
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10091 >
2021-04-10 03:31:58 +02:00
Samuel Pitoiset
2ded998a57
radv: allow DCC for storage images on GFX10.3 with RADV_PERFTEST=dccstores
...
It's not enabled by default because it requires performance testing.
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/9919 >
2021-04-05 08:54:55 +00:00
Samuel Pitoiset
92764abc82
radv: add RADV_DEBUG=novrsflatshading option
...
To easily debug if enabling VRS for flat shading is broken.
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/9515 >
2021-03-22 12:36:26 +01:00
Samuel Pitoiset
9d42e71505
radv: add notccompatcmask debug option
...
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/9415 >
2021-03-17 08:55:16 +00:00
Bas Nieuwenhuizen
ff99faf0cf
radv: Add nodisplaydcc option.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9318 >
2021-03-01 14:42:41 +00:00
Bas Nieuwenhuizen
3c9452c3ae
radv: Add sam option.
...
So that people without large BAR can try this out.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9318 >
2021-03-01 14:42:41 +00:00
Samuel Pitoiset
918838cd24
radv: make the trace BO a resident buffer
...
It's always used if RADV_DEBUG=hang is set.
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/9076 >
2021-02-19 08:58:19 +00:00
Samuel Pitoiset
cc39225014
radv: fix printing the debug option names
...
radv_dump_enabled_options() doesn't like holes. While we are at it,
use ull everywhere.
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/8925 >
2021-02-09 13:09:24 +00:00
Dave Airlie
abbca2fa92
radv: remove all entrypoint enabled debug option
...
This was useful back at the dawn of time when apps weren't as
well developed and layers mostly sucked. I don't think it's been
used in a quite a while so remove it, as the new dispatch
layer doesn't support it.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8676 >
2021-02-01 18:54:24 +00:00
Rhys Perry
f17de6a803
radv: add RADV_DEBUG=invariantgeom
...
This can be used to work around a common class of bugs appearing as
flickering.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8104 >
2021-01-12 15:11:49 +00:00
Bas Nieuwenhuizen
f06e91d85a
radv: Use VRAM for upload buffers if entire VRAM is CPU-visible.
...
Not doing this for APUs because spilling is quite likely, due to
overall VRAM pressure.
Also adding a flag to disable for performance debugging.
Finally adds some memset for places where we depended on the memory
being initialized to zero, which we won't get with VRAM anymore.
(I think these places should stop depending on it since it hides
issues with executing the cmdbuffer multiple times, but this
preserves behavior)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7979 >
2021-01-04 13:10:15 +00:00
Samuel Pitoiset
9f3e7a6502
radv: fix using bitfields for debug/perftest options
...
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/7753 >
2020-11-30 08:15:09 +01:00
Samuel Pitoiset
4ffa6acb0d
radv: add RADV_DEBUG=noumr to disable UMR logs during GPU hang detection
...
Sometimes UMR logs can't be dumped and you would get permission
denied, even if the UMR binary has the setuid bit enabled.
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/7706 >
2020-11-23 08:44:52 +01:00
Simon Ser
1cf1ece738
radv: add img debug flag
...
This is similar to AMD_DEBUG=tex, but for radv.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5734 >
2020-11-13 11:32:17 +01:00
Samuel Pitoiset
33c9d4bf31
radv: replace RADV_TRACE_FILE by RADV_DEBUG=hang
...
The trace file will be dumped as part of the hang report into
$HOME/radv_dumps_<pid>/trace.log if a GPU hang is detected.
The old and famous RADV_TRACE_FILE envvar is now deprecated.
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/7233 >
2020-10-23 07:35:00 +00:00
Samuel Pitoiset
48a910d1f9
radv: use the trap handler to detect faulty shaders/instructions
...
It should reliably report the faulty shader but the faulty instruction
is inacurate, especially for memory violations because it's reported
when the addr is processed. It will be improved by emitting more
wait-states.
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/6384 >
2020-08-24 11:08:24 +00:00
Samuel Pitoiset
af3230e39e
radv: add initial trap handler support with RADV_TRAP_HANDLER=1
...
A trap handler is used to handle shader exceptions like memory
violations, divide by zero etc. The trap handler shader code will
help to identify the faulty shader/instruction and to report
more information for better debugging.
This has only been tested on GFX8, though it should work on GFX6-GFX7.
It seems we need a different implemenation for GFX9+.
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/6384 >
2020-08-24 11:08:24 +00:00
Bas Nieuwenhuizen
2fa83dc64d
radv: Add forcecompress debug flag.
...
Enables DCC/HTILE/CMASK/FMASK when supported, not just when we think
it is beneficial.
This is helpful to detect compression bugs with CTS.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6252 >
2020-08-10 16:24:38 +00:00
Simon Ser
9ad19fff3e
radv: use bitshifts for debug enum values
...
Explicit values are getting out of hand.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5735 >
2020-07-08 21:39:09 +00:00
Samuel Pitoiset
26a48d8d35
radv: enable VK_AMD_shader_ballot on GFX6-7 with both compiler backends
...
It gives +1-2 FPS with Doom Eternal on Pitcairn.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5659 >
2020-06-29 07:40:05 +00:00
Samuel Pitoiset
f13d79f519
radv: remove the load/store workaround for Monster Hunter World with LLVM
...
Now that ACO is default, this is pointless.
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/5658 >
2020-06-26 14:42:44 +02:00
Samuel Pitoiset
a30ad8cb23
radv: remove the shader ballot workaround for Youngblood with LLVM
...
Now that ACO is default, this is now pointless.
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/5658 >
2020-06-26 14:42:42 +02:00
Daniel Schürmann
63e1e7209c
radv: enable ACO by default
...
No more dragons have been seen, caution is still required...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:30 +02:00
Daniel Schürmann
b78f64507e
radv: introduce RADV_DEBUG=llvm option
...
This option enables the LLVM compiler backend to be used
for shader compilation
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:23 +02:00
Erik Faye-Lund
cd01d0dee1
radv: update internal reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Daniel Schürmann
bdd7587414
radv: use nir_lower_discard_to_demote to work around game bugs
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4047 >
2020-03-09 12:29:32 +00:00
Samuel Pitoiset
cd6ec2b1ab
radv: implement a dummy winsys for creating devices without AMDGPU
...
To allow developers to test the compiler backends without having
any AMD GPUs. To create a null device, set eg.
RADV_FORCE_FAMILY=polaris10 in your environment.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3872 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3872 >
2020-02-26 08:09:46 +01:00
Samuel Pitoiset
886acbe1c5
radv: remove unnecessary RADV_DEBUG=nobatchchain option
...
It was used in the past but nowadays chained submissions work fine.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3791 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3791 >
2020-02-14 07:48:14 +01:00
Samuel Pitoiset
b2531370c9
radv: remove RADV_DEBUG=nosisched and RADV_PERFTEST=sisched
...
They are no longer useful.
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/3789 >
2020-02-13 08:09:13 +00:00
Samuel Pitoiset
a8024aaaab
radv: make sure to not submit any IBs when RADV_FORCE_FAMILY is set
...
To prevent GPU hangs.
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/3654 >
2020-02-11 07:56:55 +01:00
Samuel Pitoiset
519d9b30de
radv: remove useless RADV_DEBUG=unsafemath debug option
...
This option is useless and shouldn't be used at all.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-11-15 09:07:34 +01:00
Samuel Pitoiset
50b3ec35d2
radv: add a note about perftest/debug options
...
Now that all environment variables are documented, it would be
appreciated if we can keep this up-to-date.
[skip ci]
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-11-06 07:58:33 +01:00
Samuel Pitoiset
5a9d777f5a
radv: fix perftest options
...
RADV_PERFTEST=outooforder has been removed a while ago. This fixes
dumping the options into hang reports.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-10-30 14:49:30 +01:00
Samuel Pitoiset
d4e0bef1bb
radv: fix dumping SPIR-V into hang reports
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-10-30 13:02:08 +00:00
Timothy Arceri
6571000071
radv: add debug option to turn off in memory cache
...
This can be usefull for debugging the on disk cache, but is also
useful in the following patch for secure compiles which will be
used to compile huge pipeline collections. These pipeline
collections can be multiple GBs and the in memory cache grows to
multiple GBs very quickly when they are compiled so we want to
be able to turn off the in memory cache.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-10-26 13:04:12 +11:00
Timur Kristóf
30f0c0ea7d
radv: Add debug option to dump meta shaders.
...
This new option can help debug shader compiler problems when
there are issues with the meta shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-26 13:36:49 +00:00
Daniel Schürmann
a70a998718
radv/aco: Setup alternate path in RADV to support the experimental ACO compiler
...
LLVM remains default and ACO can be enabled with RADV_PERFTEST=aco.
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev >
Co-authored-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-19 12:10:00 +02:00
Bas Nieuwenhuizen
0fa2740059
radv: Disable dfsm by default even on Raven.
...
When actually implementing it, Talos on low is still 3% slower.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-18 21:28:51 +00:00
Andres Rodriguez
bd960390bb
radv: add RADV_DEBUG=allentrypoints
...
This debug option allows vkGet[Instance/Device]ProcAddr() to succeed
even if the extension associated with the requested entrypoint was not
enabled.
This has come in handy in a few instances when debugging VR
applications, so I thought it would be good to have a cleaned up version
upstreamed.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-08-21 17:47:35 +00:00
Samuel Pitoiset
f202ac27a9
radv: add a new debug option called RADV_DEBUG=noshaderballot
...
Shader ballot will be enabled by default for Wolfenstein
Youngblood. This follows what we did for sisched.
Cc: 19.2 <mesa-stable@lists.freedesktop.org
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-08-21 15:14:29 +02:00
Bas Nieuwenhuizen
b9fb90e6d3
Revert "radv/gfx10: Enable DCC for storage images."
...
Quite useless without DCC for LAYOUT_GENERAL.
Fixes: b4dad3afaa Revert "radv: Do not decompress on LAYOUT_GENERAL."
Acked-by: Dave Airlie <airlied@redhat.com >
2019-08-16 01:22:54 +02:00
Bas Nieuwenhuizen
4bb17c08ae
radv/gfx10: Enable DCC for storage images.
...
v2: Hide it behind a perftest flag.
Reviewed-by: Dave Airlie <airlied@redhat.com >
2019-08-07 02:13:07 +02:00