i965/nir: Lower nir compute shader shared variables
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -5739,6 +5739,8 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
|
||||
nir_shader *shader = nir_shader_clone(mem_ctx, src_shader);
|
||||
shader = brw_nir_apply_sampler_key(shader, compiler->devinfo, &key->tex,
|
||||
true);
|
||||
brw_nir_lower_cs_shared(shader);
|
||||
prog_data->base.total_shared += shader->num_shared;
|
||||
shader = brw_postprocess_nir(shader, compiler->devinfo, true);
|
||||
|
||||
prog_data->local_size[0] = shader->info.cs.local_size[0];
|
||||
|
@@ -377,6 +377,14 @@ brw_nir_lower_uniforms(nir_shader *nir, bool is_scalar)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
brw_nir_lower_cs_shared(nir_shader *nir)
|
||||
{
|
||||
nir_assign_var_locations(&nir->shared, &nir->num_shared,
|
||||
type_size_scalar_bytes);
|
||||
nir_lower_io(nir, nir_var_shared, type_size_scalar_bytes);
|
||||
}
|
||||
|
||||
#define OPT(pass, ...) ({ \
|
||||
bool this_progress = false; \
|
||||
NIR_PASS(this_progress, nir, pass, ##__VA_ARGS__); \
|
||||
|
@@ -95,6 +95,7 @@ void brw_nir_lower_fs_inputs(nir_shader *nir);
|
||||
void brw_nir_lower_vue_outputs(nir_shader *nir, bool is_scalar);
|
||||
void brw_nir_lower_tcs_outputs(nir_shader *nir, const struct brw_vue_map *vue);
|
||||
void brw_nir_lower_fs_outputs(nir_shader *nir);
|
||||
void brw_nir_lower_cs_shared(nir_shader *nir);
|
||||
|
||||
nir_shader *brw_postprocess_nir(nir_shader *nir,
|
||||
const struct brw_device_info *devinfo,
|
||||
|
Reference in New Issue
Block a user