From 505ec3a530f1ffd85f384cda9a472a0bae56c8e4 Mon Sep 17 00:00:00 2001 From: Pierre Moreau Date: Tue, 3 Oct 2017 21:07:45 +0200 Subject: clover: Add an helper for checking if an IR is supported Reviewed-by: Aaron Watry Reviewed-by: Karol Herbst Reviewed-by: Francisco Jerez --- src/gallium/state_trackers/clover/core/device.cpp | 6 ++++++ src/gallium/state_trackers/clover/core/device.hpp | 1 + 2 files changed, 7 insertions(+) (limited to 'src/gallium') diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp index 1fae465dae4..010bae81403 100644 --- a/src/gallium/state_trackers/clover/core/device.cpp +++ b/src/gallium/state_trackers/clover/core/device.cpp @@ -272,3 +272,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; -- cgit v1.2.3