diff options
author | Marek Olšák <[email protected]> | 2018-02-25 00:33:28 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2018-03-07 13:55:49 -0500 |
commit | 2c3f3651c4b871e4c9116fe3d8c2e447ae1d9141 (patch) | |
tree | 04346fff29a4c8527197e5bd8529dcf15f07f4a0 /src/gallium/drivers/radeonsi | |
parent | b3b6b00ac8b7cda04ebbad71f256a57071714cf5 (diff) |
radeonsi: fix passing address32_hi to LLVM for high values
The old function treats high values as negative, which LLVM interprets as 0.
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 2e57eca6e54..d95e69f81ad 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -4456,8 +4456,11 @@ static void si_create_function(struct si_shader_context *ctx, *fninfo->assign[i] = LLVMGetParam(ctx->main_fn, i); } - si_llvm_add_attribute(ctx->main_fn, "amdgpu-32bit-address-high-bits", - ctx->screen->info.address32_hi); + if (ctx->screen->info.address32_hi) { + ac_llvm_add_target_dep_function_attr(ctx->main_fn, + "amdgpu-32bit-address-high-bits", + ctx->screen->info.address32_hi); + } if (max_workgroup_size) { si_llvm_add_attribute(ctx->main_fn, "amdgpu-max-work-group-size", |