Commit 2c3f3651 authored by Marek Olšák's avatar Marek Olšák

radeonsi: fix passing address32_hi to LLVM for high values

The old function treats high values as negative, which LLVM interprets as 0.
parent b3b6b00a
......@@ -202,11 +202,11 @@ ac_dump_module(LLVMModuleRef module)
ac_llvm_add_target_dep_function_attr(LLVMValueRef F,
const char *name, int value)
const char *name, unsigned value)
char str[16];
snprintf(str, sizeof(str), "%i", value);
snprintf(str, sizeof(str), "0x%x", value);
LLVMAddTargetDependentFunctionAttr(F, name, str);
......@@ -87,7 +87,7 @@ LLVMBuilderRef ac_create_builder(LLVMContextRef ctx,
ac_llvm_add_target_dep_function_attr(LLVMValueRef F,
const char *name, int value);
const char *name, unsigned value);
static inline unsigned
ac_get_load_intr_attribs(bool can_speculate)
......@@ -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",
if (ctx->screen->info.address32_hi) {
if (max_workgroup_size) {
si_llvm_add_attribute(ctx->main_fn, "amdgpu-max-work-group-size",
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment