nir/i965/anv/radv/gallium: make shader info a pointer
When restoring something from shader cache we won't have and don't want to create a nir_shader this change detaches the two. There are other advantages such as being able to reuse the shader info populated by GLSL IR. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -162,7 +162,7 @@ anv_shader_compile_to_nir(struct anv_device *device,
|
||||
nir_validate_shader(nir);
|
||||
|
||||
/* Vulkan uses the separate-shader linking model */
|
||||
nir->info.separate_shader = true;
|
||||
nir->info->separate_shader = true;
|
||||
|
||||
nir = brw_preprocess_nir(compiler, nir);
|
||||
|
||||
@@ -326,8 +326,8 @@ anv_pipeline_compile(struct anv_pipeline *pipeline,
|
||||
if (pipeline->layout && pipeline->layout->stage[stage].has_dynamic_offsets)
|
||||
prog_data->nr_params += MAX_DYNAMIC_BUFFERS * 2;
|
||||
|
||||
if (nir->info.num_images > 0) {
|
||||
prog_data->nr_params += nir->info.num_images * BRW_IMAGE_PARAM_SIZE;
|
||||
if (nir->info->num_images > 0) {
|
||||
prog_data->nr_params += nir->info->num_images * BRW_IMAGE_PARAM_SIZE;
|
||||
pipeline->needs_data_cache = true;
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ anv_pipeline_compile(struct anv_pipeline *pipeline,
|
||||
((struct brw_cs_prog_data *)prog_data)->thread_local_id_index =
|
||||
prog_data->nr_params++; /* The CS Thread ID uniform */
|
||||
|
||||
if (nir->info.num_ssbos > 0)
|
||||
if (nir->info->num_ssbos > 0)
|
||||
pipeline->needs_data_cache = true;
|
||||
|
||||
if (prog_data->nr_params > 0) {
|
||||
@@ -458,12 +458,12 @@ anv_pipeline_compile_vs(struct anv_pipeline *pipeline,
|
||||
|
||||
ralloc_steal(mem_ctx, nir);
|
||||
|
||||
prog_data.inputs_read = nir->info.inputs_read;
|
||||
prog_data.inputs_read = nir->info->inputs_read;
|
||||
|
||||
brw_compute_vue_map(&pipeline->device->info,
|
||||
&prog_data.base.vue_map,
|
||||
nir->info.outputs_written,
|
||||
nir->info.separate_shader);
|
||||
nir->info->outputs_written,
|
||||
nir->info->separate_shader);
|
||||
|
||||
unsigned code_size;
|
||||
const unsigned *shader_code =
|
||||
@@ -548,8 +548,8 @@ anv_pipeline_compile_gs(struct anv_pipeline *pipeline,
|
||||
|
||||
brw_compute_vue_map(&pipeline->device->info,
|
||||
&prog_data.base.vue_map,
|
||||
nir->info.outputs_written,
|
||||
nir->info.separate_shader);
|
||||
nir->info->outputs_written,
|
||||
nir->info->separate_shader);
|
||||
|
||||
unsigned code_size;
|
||||
const unsigned *shader_code =
|
||||
|
Reference in New Issue
Block a user