mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
clover: Add a function for retrieving a device's preferred ir v3
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
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
c4c51153bc
commit
613323b256
2 changed files with 11 additions and 8 deletions
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue