Signed-off-by: Pierre Moreau <[email protected]>
---
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 158c9aa696..52ac5229a3 100644
--- a/src/gallium/state_trackers/clover/core/device.cpp
+++ b/src/gallium/state_trackers/clover/core/device.cpp
@@ -224,6 +224,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>(
@@ -235,3 +241,8 @@ enum pipe_endian
device::endianness() const {
return (enum pipe_endian)pipe->get_param(pipe, PIPE_CAP_ENDIANNESS);
}
+
+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 94a61d1050..065e788fd3 100644
--- a/src/gallium/state_trackers/clover/core/device.hpp
+++ b/src/gallium/state_trackers/clover/core/device.hpp
@@ -74,9 +74,12 @@ namespace clover {
std::string device_name() const;
std::string vendor_name() 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.12.2
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev