broadcom/compiler: track if a shader uses global intrinsics

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275>
This commit is contained in:
Iago Toral Quiroga
2022-06-27 14:09:47 +02:00
parent fa03d9c8be
commit 90054e9c5d
3 changed files with 7 additions and 0 deletions

View File

@@ -531,6 +531,9 @@ ntq_emit_tmu_general(struct v3d_compile *c, nir_intrinsic_instr *instr,
if (!is_load)
c->tmu_dirty_rcl = true;
if (is_global)
c->has_global_address = true;
bool has_index = !is_shared_or_scratch && !is_global;
int offset_src;

View File

@@ -904,6 +904,7 @@ struct v3d_compile {
enum v3d_compilation_result compilation_result;
bool tmu_dirty_rcl;
bool has_global_address;
};
struct v3d_uniform_list {
@@ -933,6 +934,8 @@ struct v3d_prog_data {
bool tmu_dirty_rcl;
bool has_control_barrier;
bool has_global_address;
};
struct v3d_vs_prog_data {

View File

@@ -859,6 +859,7 @@ v3d_set_prog_data(struct v3d_compile *c,
prog_data->compile_strategy_idx = c->compile_strategy_idx;
prog_data->tmu_dirty_rcl = c->tmu_dirty_rcl;
prog_data->has_control_barrier = c->s->info.uses_control_barrier;
prog_data->has_global_address = c->has_global_address;
v3d_set_prog_data_uniforms(c, prog_data);