Tom Stellard <tstel...@gmail.com> writes: > A device now has two function for getting information about the IR > it needs to return. > > ir_format() => returns the preferred IR > ir_target() => returns the triple for the target that is understood by > clang/llvm. > > v2: > - renamed ir_target() to ir_format() > - renamed llvm_triple() to ir_target() > > v3: > - Remove unnecessary include > - Do proper conversion from std::vector<char> to std::string > --- > src/gallium/state_trackers/clover/core/device.cpp | 18 ++++++++++-------- > src/gallium/state_trackers/clover/core/device.hpp | 1 + > 2 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/src/gallium/state_trackers/clover/core/device.cpp > b/src/gallium/state_trackers/clover/core/device.cpp > index 69b1b4a..2ab735d 100644 > --- a/src/gallium/state_trackers/clover/core/device.cpp > +++ b/src/gallium/state_trackers/clover/core/device.cpp > @@ -160,16 +160,18 @@ _cl_device_id::vendor_name() const { > return pipe->get_vendor(pipe); > } > > +enum pipe_shader_ir > +_cl_device_id::ir_format() const { > + return (enum pipe_shader_ir) pipe->get_shader_param(pipe, > + PIPE_SHADER_COMPUTE, > + > PIPE_SHADER_CAP_PREFERRED_IR); > +} > + > std::string > _cl_device_id::ir_target() const { > - switch (pipe->get_shader_param(pipe, PIPE_SHADER_COMPUTE, > - PIPE_SHADER_CAP_PREFERRED_IR)) { > - case PIPE_SHADER_IR_TGSI: > - return "tgsi"; > - default: > - assert(0); > - return ""; > - } > + std::vector<char> target = get_compute_param<char>(pipe, > + > PIPE_COMPUTE_CAP_IR_TARGET); > + return { target.data() }; > } > > device_registry::device_registry() { > diff --git a/src/gallium/state_trackers/clover/core/device.hpp > b/src/gallium/state_trackers/clover/core/device.hpp > index d106352..9408083 100644 > --- a/src/gallium/state_trackers/clover/core/device.hpp > +++ b/src/gallium/state_trackers/clover/core/device.hpp > @@ -60,6 +60,7 @@ public: > std::vector<size_t> max_block_size() const; > std::string device_name() const; > std::string vendor_name() const; > + enum pipe_shader_ir ir_format() const; > std::string ir_target() const; > > friend struct _cl_command_queue;
Reviewed-by: Francisco Jerez <curroje...@riseup.net>
pgpQ45U511Tou.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev