[Mesa-dev] [PATCH v10 04/20] clover: Add an helper for checking if an IR is supported

Pierre Moreau pierre.morrow at free.fr
Tue Jan 8 21:10:53 UTC 2019


Reviewed-by: Aaron Watry <awatry at gmail.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>

Changes since:
* v2:
  - Dropped supported_irs() (Francisco Jerez)
  - Changed supports_ir() argument type to `enum pipe_shader_ir`
    (Francisco Jerez)

Signed-off-by: Pierre Moreau <pierre.morrow at free.fr>
---
 src/gallium/state_trackers/clover/core/device.cpp | 6 ++++++
 src/gallium/state_trackers/clover/core/device.hpp | 1 +
 2 files changed, 7 insertions(+)

diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
index 0d911e37514..62d5221bf83 100644
--- a/src/gallium/state_trackers/clover/core/device.cpp
+++ b/src/gallium/state_trackers/clover/core/device.cpp
@@ -280,3 +280,9 @@ device::device_clc_version() const {
          debug_get_option("CLOVER_DEVICE_CLC_VERSION_OVERRIDE", "1.1");
    return device_clc_version;
 }
+
+bool
+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);
+}
diff --git a/src/gallium/state_trackers/clover/core/device.hpp b/src/gallium/state_trackers/clover/core/device.hpp
index 85cd031676d..ebe15f28e93 100644
--- a/src/gallium/state_trackers/clover/core/device.hpp
+++ b/src/gallium/state_trackers/clover/core/device.hpp
@@ -82,6 +82,7 @@ namespace clover {
       enum pipe_shader_ir ir_format() const;
       std::string ir_target() const;
       enum pipe_endian endianness() const;
+      bool supports_ir(enum pipe_shader_ir ir) const;
 
       friend class command_queue;
       friend class root_resource;
-- 
2.20.1



More information about the mesa-dev mailing list