[Mesa-dev] [PATCH v2 02/22] clover: Add additional functions to query supported IRs
Pierre Moreau
pierre.morrow at free.fr
Tue Jan 23 00:33:44 UTC 2018
Signed-off-by: Pierre Moreau <pierre.morrow at free.fr>
---
src/gallium/state_trackers/clover/core/device.cpp | 11 +++++++++++
src/gallium/state_trackers/clover/core/device.hpp | 3 +++
2 files changed, 14 insertions(+)
diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
index 9dd7eed3f1..7eaa0ca2cb 100644
--- a/src/gallium/state_trackers/clover/core/device.cpp
+++ b/src/gallium/state_trackers/clover/core/device.cpp
@@ -247,6 +247,12 @@ device::ir_format() const {
pipe, PIPE_SHADER_COMPUTE, PIPE_SHADER_CAP_PREFERRED_IR);
}
+cl_uint
+device::supported_irs() const {
+ return (enum pipe_shader_ir) pipe->get_shader_param(
+ pipe, PIPE_SHADER_COMPUTE, PIPE_SHADER_CAP_SUPPORTED_IRS);
+}
+
std::string
device::ir_target() const {
std::vector<char> target = get_compute_param<char>(
@@ -268,3 +274,8 @@ std::string
device::device_clc_version() const {
return "1.1";
}
+
+bool
+device::supports_ir(cl_uint ir) const {
+ return supported_irs() & (1 << ir);
+}
diff --git a/src/gallium/state_trackers/clover/core/device.hpp b/src/gallium/state_trackers/clover/core/device.hpp
index 85cd031676..eed644e919 100644
--- a/src/gallium/state_trackers/clover/core/device.hpp
+++ b/src/gallium/state_trackers/clover/core/device.hpp
@@ -80,9 +80,12 @@ namespace clover {
std::string device_version() const;
std::string device_clc_version() const;
enum pipe_shader_ir ir_format() const;
+ cl_uint supported_irs() const;
std::string ir_target() const;
enum pipe_endian endianness() const;
+ bool supports_ir(cl_uint ir) const;
+
friend class command_queue;
friend class root_resource;
friend class hard_event;
--
2.16.0
More information about the mesa-dev
mailing list