Reviewed-by: Francisco Jerez <curroje...@riseup.net> Reviewed-by: Aaron Watry <awa...@gmail.com> Signed-off-by: Pierre Moreau <pierre.mor...@free.fr> --- src/gallium/state_trackers/clover/api/device.cpp | 11 +---------- src/gallium/state_trackers/clover/core/device.cpp | 14 ++++++++++++++ src/gallium/state_trackers/clover/core/device.hpp | 1 + 3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/gallium/state_trackers/clover/api/device.cpp b/src/gallium/state_trackers/clover/api/device.cpp index 5a4f94c1141..ca6b90ba271 100644 --- a/src/gallium/state_trackers/clover/api/device.cpp +++ b/src/gallium/state_trackers/clover/api/device.cpp @@ -326,16 +326,7 @@ clGetDeviceInfo(cl_device_id d_dev, cl_device_info param, break; case CL_DEVICE_EXTENSIONS: - buf.as_string() = - "cl_khr_byte_addressable_store" - " cl_khr_global_int32_base_atomics" - " cl_khr_global_int32_extended_atomics" - " cl_khr_local_int32_base_atomics" - " cl_khr_local_int32_extended_atomics" - + std::string(dev.has_int64_atomics() ? " cl_khr_int64_base_atomics" : "") - + std::string(dev.has_int64_atomics() ? " cl_khr_int64_extended_atomics" : "") - + std::string(dev.has_doubles() ? " cl_khr_fp64" : "") - + std::string(dev.has_halves() ? " cl_khr_fp16" : ""); + buf.as_string() = dev.supported_extensions(); break; case CL_DEVICE_PLATFORM: diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp index bd67bab5bc8..21de0e3d61c 100644 --- a/src/gallium/state_trackers/clover/core/device.cpp +++ b/src/gallium/state_trackers/clover/core/device.cpp @@ -282,3 +282,17 @@ device::supports_ir(enum pipe_shader_ir ir) const { return pipe->get_shader_param(pipe, PIPE_SHADER_COMPUTE, PIPE_SHADER_CAP_SUPPORTED_IRS) & (1 << ir); } + +std::string +device::supported_extensions() const { + return + "cl_khr_byte_addressable_store" + " cl_khr_global_int32_base_atomics" + " cl_khr_global_int32_extended_atomics" + " cl_khr_local_int32_base_atomics" + " cl_khr_local_int32_extended_atomics" + + std::string(has_int64_atomics() ? " cl_khr_int64_base_atomics" : "") + + std::string(has_int64_atomics() ? " cl_khr_int64_extended_atomics" : "") + + std::string(has_doubles() ? " cl_khr_fp64" : "") + + std::string(has_halves() ? " cl_khr_fp16" : ""); +} diff --git a/src/gallium/state_trackers/clover/core/device.hpp b/src/gallium/state_trackers/clover/core/device.hpp index ebe15f28e93..a7084e863f4 100644 --- a/src/gallium/state_trackers/clover/core/device.hpp +++ b/src/gallium/state_trackers/clover/core/device.hpp @@ -83,6 +83,7 @@ namespace clover { std::string ir_target() const; enum pipe_endian endianness() const; bool supports_ir(enum pipe_shader_ir ir) const; + std::string supported_extensions() const; friend class command_queue; friend class root_resource; -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev