Re: [Mesa-dev] [PATCH v3] clover: Allow overriding platform/device version numbers
With Francisco’s comments addressed, Reviewed-by: Pierre MoreauOn 2018-03-04 — 09:13, Aaron Watry wrote: > Useful for testing API, builtin library, and device completeness of > not-yet-supported versions. > > Signed-off-by: Aaron Watry > (v1) Reviewed-by: Pierre Moreau > (v2) Reviewed-by: Francisco Jerez > Cc: Jan Vesely > Cc: Emil Velikov > > 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 signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v3] clover: Allow overriding platform/device version numbers
Aaron Watrywrites: > Useful for testing API, builtin library, and device completeness of > not-yet-supported versions. > > Signed-off-by: Aaron Watry > (v1) Reviewed-by: Pierre Moreau > (v2) Reviewed-by: Francisco Jerez > Cc: Jan Vesely > Cc: Emil Velikov > > 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( The std::string() conversions here and below are redundant, with them removed: Reviewed-by: Francisco Jerez > +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 signature.asc Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v3] clover: Allow overriding platform/device version numbers
On 4 March 2018 at 15:13, Aaron Watrywrote: > Useful for testing API, builtin library, and device completeness of > not-yet-supported versions. > > Signed-off-by: Aaron Watry > (v1) Reviewed-by: Pierre Moreau > (v2) Reviewed-by: Francisco Jerez > Cc: Jan Vesely > Cc: Emil Velikov > > 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. > I believe so as well. FWIW patch is Reviewed-by: Emil Velikov -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH v3] clover: Allow overriding platform/device version numbers
Useful for testing API, builtin library, and device completeness of not-yet-supported versions. Signed-off-by: Aaron Watry(v1) Reviewed-by: Pierre Moreau (v2) Reviewed-by: Francisco Jerez Cc: Jan Vesely Cc: Emil Velikov 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