summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/clover/core/program.cpp
diff options
context:
space:
mode:
authorAaron Watry <awatry@gmail.com>2018-02-10 14:03:13 -0600
committerAaron Watry <awatry@gmail.com>2018-03-05 20:09:46 -0600
commitdd81ca3883845abb4939a8007b51e802315c3421 (patch)
tree857b2400ecf07c4cb65f41d894cc1bb20ad84301 /src/gallium/state_trackers/clover/core/program.cpp
parent71b3d681d88435b7397ad3fe896eb1fe7621b86a (diff)
clover/llvm: Use device in llvm compilation instead of copying fields
Copying the individual fields from the device when compiling/linking will lead to an unnecessarily large number of fields getting passed around. v3: Rebase on current master v2: Use device in function args before making additional changes in following patches Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Pierre Moreau <pierre.morrow@free.fr> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Diffstat (limited to 'src/gallium/state_trackers/clover/core/program.cpp')
-rw-r--r--src/gallium/state_trackers/clover/core/program.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/clover/core/program.cpp b/src/gallium/state_trackers/clover/core/program.cpp
index ae4b50a8797..4e74fccd973 100644
--- a/src/gallium/state_trackers/clover/core/program.cpp
+++ b/src/gallium/state_trackers/clover/core/program.cpp
@@ -53,8 +53,8 @@ program::compile(const ref_vector<device> &devs, const std::string &opts,
try {
const module m = (dev.ir_format() == PIPE_SHADER_IR_TGSI ?
tgsi::compile_program(_source, log) :
- llvm::compile_program(_source, headers,
- dev.ir_target(), opts, log));
+ llvm::compile_program(_source, headers, dev,
+ opts, log));
_builds[&dev] = { m, opts, log };
} catch (...) {
_builds[&dev] = { module(), opts, log };
@@ -78,8 +78,7 @@ program::link(const ref_vector<device> &devs, const std::string &opts,
try {
const module m = (dev.ir_format() == PIPE_SHADER_IR_TGSI ?
tgsi::link_program(ms) :
- llvm::link_program(ms, dev.ir_format(),
- dev.ir_target(), opts, log));
+ llvm::link_program(ms, dev, opts, log));
_builds[&dev] = { m, opts, log };
} catch (...) {
_builds[&dev] = { module(), opts, log };