Useful for testing API, builtin library, and device completeness of not-yet-supported versions.
Signed-off-by: Aaron Watry <awa...@gmail.com> (v1) Reviewed-by: Pierre Moreau <pierre.mor...@free.fr> (v2) Reviewed-by: Francisco Jerez <curroje...@riseup.net> Cc: Jan Vesely <jan.ves...@rutgers.edu> Cc: Emil Velikov <emil.l.veli...@gmail.com> v3: mark CL version overrides as static and const v2: Make version_string in platform const in case --- Emil, hopefully this is along the lines of what you wanted. I believe that function-scoped static const variables are only evaluated/initialized once. --Aaron src/gallium/state_trackers/clover/api/platform.cpp | 10 +++++++--- src/gallium/state_trackers/clover/core/device.cpp | 9 +++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/gallium/state_trackers/clover/api/platform.cpp b/src/gallium/state_trackers/clover/api/platform.cpp index ed86163311..23e524a630 100644 --- a/src/gallium/state_trackers/clover/api/platform.cpp +++ b/src/gallium/state_trackers/clover/api/platform.cpp @@ -23,6 +23,7 @@ #include "api/util.hpp" #include "core/platform.hpp" #include "git_sha1.h" +#include "util/u_debug.h" using namespace clover; @@ -57,14 +58,17 @@ clover::GetPlatformInfo(cl_platform_id d_platform, cl_platform_info param, buf.as_string() = "FULL_PROFILE"; break; - case CL_PLATFORM_VERSION: - buf.as_string() = "OpenCL 1.1 Mesa " PACKAGE_VERSION + case CL_PLATFORM_VERSION: { + static const std::string version_string = std::string( + debug_get_option("CLOVER_PLATFORM_VERSION_OVERRIDE", "1.1")); + + buf.as_string() = "OpenCL " + version_string + " Mesa " PACKAGE_VERSION #ifdef MESA_GIT_SHA1 " (" MESA_GIT_SHA1 ")" #endif ; break; - + } case CL_PLATFORM_NAME: buf.as_string() = "Clover"; break; diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp index 71cf4bf60a..b3a3903bcd 100644 --- a/src/gallium/state_trackers/clover/core/device.cpp +++ b/src/gallium/state_trackers/clover/core/device.cpp @@ -25,6 +25,7 @@ #include "core/platform.hpp" #include "pipe/p_screen.h" #include "pipe/p_state.h" +#include "util/u_debug.h" using namespace clover; @@ -268,10 +269,14 @@ device::endianness() const { std::string device::device_version() const { - return "1.1"; + static const std::string device_version = std::string( + debug_get_option("CLOVER_DEVICE_VERSION_OVERRIDE", "1.1")); + return device_version; } std::string device::device_clc_version() const { - return "1.1"; + static const std::string device_clc_version = std::string( + debug_get_option("CLOVER_DEVICE_CLC_VERSION_OVERRIDE", "1.1")); + return device_clc_version; } -- 2.14.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev