Mesa (master): radv: introduce RADV_DEBUG=llvm option
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 25 14:14:52 UTC 2020
Module: Mesa
Branch: master
Commit: b78f64507e9edf315208147811479146947270fe
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b78f64507e9edf315208147811479146947270fe
Author: Daniel Schürmann <daniel at schuermann.dev>
Date: Fri Jun 12 17:55:00 2020 +0100
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 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445>
---
docs/envvars.rst | 2 ++
src/amd/vulkan/radv_debug.h | 1 +
src/amd/vulkan/radv_device.c | 5 +++++
3 files changed, 8 insertions(+)
diff --git a/docs/envvars.rst b/docs/envvars.rst
index 5c9e851da8b..bebc1e1a48d 100644
--- a/docs/envvars.rst
+++ b/docs/envvars.rst
@@ -510,6 +510,8 @@ RADV driver environment variables
``RADV_DEBUG``
a comma-separated list of named flags, which do various things:
+ ``llvm``
+ enable LLVM compiler backend
``allbos``
force all allocated buffers to be referenced in submissions
``allentrypoints``
diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h
index 63605035815..2935f6a79a7 100644
--- a/src/amd/vulkan/radv_debug.h
+++ b/src/amd/vulkan/radv_debug.h
@@ -57,6 +57,7 @@ enum {
RADV_DEBUG_DUMP_META_SHADERS = 0x4000000,
RADV_DEBUG_NO_MEMORY_CACHE = 0x8000000,
RADV_DEBUG_DISCARD_TO_DEMOTE = 0x10000000,
+ RADV_DEBUG_LLVM = 0x20000000,
};
enum {
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 534fd5fd47a..88f21692235 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -507,6 +507,7 @@ static const struct debug_control radv_debug_options[] = {
{"allentrypoints", RADV_DEBUG_ALL_ENTRYPOINTS},
{"metashaders", RADV_DEBUG_DUMP_META_SHADERS},
{"nomemorycache", RADV_DEBUG_NO_MEMORY_CACHE},
+ {"llvm", RADV_DEBUG_LLVM},
{NULL, 0}
};
@@ -677,6 +678,10 @@ VkResult radv_CreateInstance(
instance->perftest_flags = parse_debug_string(getenv("RADV_PERFTEST"),
radv_perftest_options);
+ if (instance->debug_flags & RADV_DEBUG_LLVM) {
+ instance->perftest_flags &= ~RADV_PERFTEST_ACO;
+ }
+
if (instance->perftest_flags & RADV_PERFTEST_ACO)
fprintf(stderr, "WARNING: Experimental compiler backend enabled. Here be dragons! Incorrect rendering, GPU hangs and/or resets are likely\n");
More information about the mesa-commit
mailing list