nir: rename nir_var_shared to nir_var_mem_shared
Signed-off-by: Karol Herbst <kherbst@redhat.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
@@ -1891,7 +1891,7 @@ static LLVMValueRef visit_load_var(struct ac_nir_context *ctx,
|
|||||||
LLVMValueRef ret;
|
LLVMValueRef ret;
|
||||||
unsigned const_index;
|
unsigned const_index;
|
||||||
unsigned stride = 4;
|
unsigned stride = 4;
|
||||||
int mode = nir_var_shared;
|
int mode = nir_var_mem_shared;
|
||||||
|
|
||||||
if (var) {
|
if (var) {
|
||||||
bool vs_in = ctx->stage == MESA_SHADER_VERTEX &&
|
bool vs_in = ctx->stage == MESA_SHADER_VERTEX &&
|
||||||
@@ -1964,7 +1964,7 @@ static LLVMValueRef visit_load_var(struct ac_nir_context *ctx,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case nir_var_shared: {
|
case nir_var_mem_shared: {
|
||||||
LLVMValueRef address = get_src(ctx, instr->src[0]);
|
LLVMValueRef address = get_src(ctx, instr->src[0]);
|
||||||
LLVMValueRef val = LLVMBuildLoad(ctx->ac.builder, address, "");
|
LLVMValueRef val = LLVMBuildLoad(ctx->ac.builder, address, "");
|
||||||
return LLVMBuildBitCast(ctx->ac.builder, val,
|
return LLVMBuildBitCast(ctx->ac.builder, val,
|
||||||
@@ -2103,7 +2103,7 @@ visit_store_var(struct ac_nir_context *ctx,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case nir_var_shared: {
|
case nir_var_mem_shared: {
|
||||||
int writemask = instr->const_index[0];
|
int writemask = instr->const_index[0];
|
||||||
LLVMValueRef address = get_src(ctx, instr->src[0]);
|
LLVMValueRef address = get_src(ctx, instr->src[0]);
|
||||||
LLVMValueRef val = get_src(ctx, instr->src[1]);
|
LLVMValueRef val = get_src(ctx, instr->src[1]);
|
||||||
@@ -3792,7 +3792,7 @@ static void visit_jump(struct ac_llvm_context *ctx,
|
|||||||
static void visit_deref(struct ac_nir_context *ctx,
|
static void visit_deref(struct ac_nir_context *ctx,
|
||||||
nir_deref_instr *instr)
|
nir_deref_instr *instr)
|
||||||
{
|
{
|
||||||
if (instr->mode != nir_var_shared)
|
if (instr->mode != nir_var_mem_shared)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
LLVMValueRef result = NULL;
|
LLVMValueRef result = NULL;
|
||||||
|
@@ -102,7 +102,7 @@ lower_deref_instr(nir_builder *b, nir_intrinsic_instr *instr,
|
|||||||
|
|
||||||
if (var->data.mode != nir_var_uniform &&
|
if (var->data.mode != nir_var_uniform &&
|
||||||
var->data.mode != nir_var_mem_ssbo &&
|
var->data.mode != nir_var_mem_ssbo &&
|
||||||
var->data.mode != nir_var_shared)
|
var->data.mode != nir_var_mem_shared)
|
||||||
return false; /* atomics passed as function arguments can't be lowered */
|
return false; /* atomics passed as function arguments can't be lowered */
|
||||||
|
|
||||||
const unsigned uniform_loc = var->data.location;
|
const unsigned uniform_loc = var->data.location;
|
||||||
|
@@ -147,7 +147,7 @@ nir_shader_add_variable(nir_shader *shader, nir_variable *var)
|
|||||||
exec_list_push_tail(&shader->uniforms, &var->node);
|
exec_list_push_tail(&shader->uniforms, &var->node);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case nir_var_shared:
|
case nir_var_mem_shared:
|
||||||
assert(shader->info.stage == MESA_SHADER_COMPUTE);
|
assert(shader->info.stage == MESA_SHADER_COMPUTE);
|
||||||
exec_list_push_tail(&shader->shared, &var->node);
|
exec_list_push_tail(&shader->shared, &var->node);
|
||||||
break;
|
break;
|
||||||
|
@@ -103,7 +103,7 @@ typedef enum {
|
|||||||
nir_var_mem_ubo = (1 << 5),
|
nir_var_mem_ubo = (1 << 5),
|
||||||
nir_var_system_value = (1 << 6),
|
nir_var_system_value = (1 << 6),
|
||||||
nir_var_mem_ssbo = (1 << 7),
|
nir_var_mem_ssbo = (1 << 7),
|
||||||
nir_var_shared = (1 << 8),
|
nir_var_mem_shared = (1 << 8),
|
||||||
nir_var_all = ~0,
|
nir_var_all = ~0,
|
||||||
} nir_variable_mode;
|
} nir_variable_mode;
|
||||||
|
|
||||||
|
@@ -189,7 +189,7 @@ lower_load(nir_intrinsic_instr *intrin, struct lower_io_state *state,
|
|||||||
case nir_var_uniform:
|
case nir_var_uniform:
|
||||||
op = nir_intrinsic_load_uniform;
|
op = nir_intrinsic_load_uniform;
|
||||||
break;
|
break;
|
||||||
case nir_var_shared:
|
case nir_var_mem_shared:
|
||||||
op = nir_intrinsic_load_shared;
|
op = nir_intrinsic_load_shared;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -228,7 +228,7 @@ lower_store(nir_intrinsic_instr *intrin, struct lower_io_state *state,
|
|||||||
nir_variable_mode mode = var->data.mode;
|
nir_variable_mode mode = var->data.mode;
|
||||||
|
|
||||||
nir_intrinsic_op op;
|
nir_intrinsic_op op;
|
||||||
if (mode == nir_var_shared) {
|
if (mode == nir_var_mem_shared) {
|
||||||
op = nir_intrinsic_store_shared;
|
op = nir_intrinsic_store_shared;
|
||||||
} else {
|
} else {
|
||||||
assert(mode == nir_var_shader_out);
|
assert(mode == nir_var_shader_out);
|
||||||
@@ -261,7 +261,7 @@ static nir_intrinsic_instr *
|
|||||||
lower_atomic(nir_intrinsic_instr *intrin, struct lower_io_state *state,
|
lower_atomic(nir_intrinsic_instr *intrin, struct lower_io_state *state,
|
||||||
nir_variable *var, nir_ssa_def *offset)
|
nir_variable *var, nir_ssa_def *offset)
|
||||||
{
|
{
|
||||||
assert(var->data.mode == nir_var_shared);
|
assert(var->data.mode == nir_var_mem_shared);
|
||||||
|
|
||||||
nir_intrinsic_op op;
|
nir_intrinsic_op op;
|
||||||
switch (intrin->intrinsic) {
|
switch (intrin->intrinsic) {
|
||||||
@@ -407,7 +407,7 @@ nir_lower_io_block(nir_block *block,
|
|||||||
|
|
||||||
if (mode != nir_var_shader_in &&
|
if (mode != nir_var_shader_in &&
|
||||||
mode != nir_var_shader_out &&
|
mode != nir_var_shader_out &&
|
||||||
mode != nir_var_shared &&
|
mode != nir_var_mem_shared &&
|
||||||
mode != nir_var_uniform)
|
mode != nir_var_uniform)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@@ -136,7 +136,7 @@ gather_vars_written(struct copy_prop_var_state *state,
|
|||||||
nir_var_shader_temp |
|
nir_var_shader_temp |
|
||||||
nir_var_function_temp |
|
nir_var_function_temp |
|
||||||
nir_var_mem_ssbo |
|
nir_var_mem_ssbo |
|
||||||
nir_var_shared;
|
nir_var_mem_shared;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ gather_vars_written(struct copy_prop_var_state *state,
|
|||||||
case nir_intrinsic_memory_barrier:
|
case nir_intrinsic_memory_barrier:
|
||||||
written->modes |= nir_var_shader_out |
|
written->modes |= nir_var_shader_out |
|
||||||
nir_var_mem_ssbo |
|
nir_var_mem_ssbo |
|
||||||
nir_var_shared;
|
nir_var_mem_shared;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case nir_intrinsic_emit_vertex:
|
case nir_intrinsic_emit_vertex:
|
||||||
@@ -627,7 +627,7 @@ copy_prop_vars_block(struct copy_prop_var_state *state,
|
|||||||
nir_var_shader_temp |
|
nir_var_shader_temp |
|
||||||
nir_var_function_temp |
|
nir_var_function_temp |
|
||||||
nir_var_mem_ssbo |
|
nir_var_mem_ssbo |
|
||||||
nir_var_shared);
|
nir_var_mem_shared);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -640,7 +640,7 @@ copy_prop_vars_block(struct copy_prop_var_state *state,
|
|||||||
case nir_intrinsic_memory_barrier:
|
case nir_intrinsic_memory_barrier:
|
||||||
apply_barrier_for_modes(copies, nir_var_shader_out |
|
apply_barrier_for_modes(copies, nir_var_shader_out |
|
||||||
nir_var_mem_ssbo |
|
nir_var_mem_ssbo |
|
||||||
nir_var_shared);
|
nir_var_mem_shared);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case nir_intrinsic_emit_vertex:
|
case nir_intrinsic_emit_vertex:
|
||||||
|
@@ -122,7 +122,7 @@ remove_dead_write_vars_local(void *mem_ctx, nir_block *block)
|
|||||||
nir_var_shader_temp |
|
nir_var_shader_temp |
|
||||||
nir_var_function_temp |
|
nir_var_function_temp |
|
||||||
nir_var_mem_ssbo |
|
nir_var_mem_ssbo |
|
||||||
nir_var_shared);
|
nir_var_mem_shared);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ remove_dead_write_vars_local(void *mem_ctx, nir_block *block)
|
|||||||
case nir_intrinsic_memory_barrier: {
|
case nir_intrinsic_memory_barrier: {
|
||||||
clear_unused_for_modes(&unused_writes, nir_var_shader_out |
|
clear_unused_for_modes(&unused_writes, nir_var_shader_out |
|
||||||
nir_var_mem_ssbo |
|
nir_var_mem_ssbo |
|
||||||
nir_var_shared);
|
nir_var_mem_shared);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -419,7 +419,7 @@ get_variable_mode_str(nir_variable_mode mode, bool want_local_global_mode)
|
|||||||
return "system";
|
return "system";
|
||||||
case nir_var_mem_ssbo:
|
case nir_var_mem_ssbo:
|
||||||
return "ssbo";
|
return "ssbo";
|
||||||
case nir_var_shared:
|
case nir_var_mem_shared:
|
||||||
return "shared";
|
return "shared";
|
||||||
case nir_var_shader_temp:
|
case nir_var_shader_temp:
|
||||||
return want_local_global_mode ? "shader_temp" : "";
|
return want_local_global_mode ? "shader_temp" : "";
|
||||||
|
@@ -71,7 +71,7 @@ add_var_use_deref(nir_deref_instr *deref, struct set *live)
|
|||||||
* all means we need to keep it alive.
|
* all means we need to keep it alive.
|
||||||
*/
|
*/
|
||||||
assert(deref->mode == deref->var->data.mode);
|
assert(deref->mode == deref->var->data.mode);
|
||||||
if (!(deref->mode & (nir_var_function_temp | nir_var_shader_temp | nir_var_shared)) ||
|
if (!(deref->mode & (nir_var_function_temp | nir_var_shader_temp | nir_var_mem_shared)) ||
|
||||||
deref_used_for_not_store(deref))
|
deref_used_for_not_store(deref))
|
||||||
_mesa_set_add(live, deref->var);
|
_mesa_set_add(live, deref->var);
|
||||||
}
|
}
|
||||||
@@ -183,7 +183,7 @@ nir_remove_dead_variables(nir_shader *shader, nir_variable_mode modes)
|
|||||||
if (modes & nir_var_system_value)
|
if (modes & nir_var_system_value)
|
||||||
progress = remove_dead_vars(&shader->system_values, live) || progress;
|
progress = remove_dead_vars(&shader->system_values, live) || progress;
|
||||||
|
|
||||||
if (modes & nir_var_shared)
|
if (modes & nir_var_mem_shared)
|
||||||
progress = remove_dead_vars(&shader->shared, live) || progress;
|
progress = remove_dead_vars(&shader->shared, live) || progress;
|
||||||
|
|
||||||
if (modes & nir_var_function_temp) {
|
if (modes & nir_var_function_temp) {
|
||||||
|
@@ -448,7 +448,7 @@ validate_deref_instr(nir_deref_instr *instr, validate_state *state)
|
|||||||
case nir_deref_type_array_wildcard:
|
case nir_deref_type_array_wildcard:
|
||||||
if (instr->mode == nir_var_mem_ubo ||
|
if (instr->mode == nir_var_mem_ubo ||
|
||||||
instr->mode == nir_var_mem_ssbo ||
|
instr->mode == nir_var_mem_ssbo ||
|
||||||
instr->mode == nir_var_shared) {
|
instr->mode == nir_var_mem_shared) {
|
||||||
/* Shared variables and UBO/SSBOs have a bit more relaxed rules
|
/* Shared variables and UBO/SSBOs have a bit more relaxed rules
|
||||||
* because we need to be able to handle array derefs on vectors.
|
* because we need to be able to handle array derefs on vectors.
|
||||||
* Fortunately, nir_lower_io handles these just fine.
|
* Fortunately, nir_lower_io handles these just fine.
|
||||||
|
@@ -1702,7 +1702,7 @@ vtn_storage_class_to_mode(struct vtn_builder *b,
|
|||||||
break;
|
break;
|
||||||
case SpvStorageClassWorkgroup:
|
case SpvStorageClassWorkgroup:
|
||||||
mode = vtn_variable_mode_workgroup;
|
mode = vtn_variable_mode_workgroup;
|
||||||
nir_mode = nir_var_shared;
|
nir_mode = nir_var_mem_shared;
|
||||||
break;
|
break;
|
||||||
case SpvStorageClassAtomicCounter:
|
case SpvStorageClassAtomicCounter:
|
||||||
mode = vtn_variable_mode_uniform;
|
mode = vtn_variable_mode_uniform;
|
||||||
@@ -1974,7 +1974,7 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val,
|
|||||||
* SPIR-V.
|
* SPIR-V.
|
||||||
*/
|
*/
|
||||||
var->var->type = glsl_get_bare_type(var->type->type);
|
var->var->type = glsl_get_bare_type(var->type->type);
|
||||||
var->var->data.mode = nir_var_shared;
|
var->var->data.mode = nir_var_mem_shared;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user