radv/llvm: reduce the ESGS itemsize by using NIR IO assigned locations
There is no longer gaps in the ESGS ring. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7022>
This commit is contained in:
@@ -2677,8 +2677,7 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
|
||||
radv_nir_shader_info_pass(nir[MESA_SHADER_FRAGMENT],
|
||||
pipeline->layout,
|
||||
&keys[MESA_SHADER_FRAGMENT],
|
||||
&infos[MESA_SHADER_FRAGMENT],
|
||||
radv_use_llvm_for_stage(pipeline->device, MESA_SHADER_FRAGMENT));
|
||||
&infos[MESA_SHADER_FRAGMENT]);
|
||||
|
||||
/* TODO: These are no longer used as keys we should refactor this */
|
||||
keys[MESA_SHADER_VERTEX].vs_common_out.export_prim_id =
|
||||
@@ -2729,8 +2728,7 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
|
||||
for (int i = 0; i < 2; i++) {
|
||||
radv_nir_shader_info_pass(combined_nir[i],
|
||||
pipeline->layout, &key,
|
||||
&infos[MESA_SHADER_TESS_CTRL],
|
||||
radv_use_llvm_for_stage(pipeline->device, MESA_SHADER_TESS_CTRL));
|
||||
&infos[MESA_SHADER_TESS_CTRL]);
|
||||
}
|
||||
|
||||
keys[MESA_SHADER_TESS_EVAL].tes.num_patches =
|
||||
@@ -2753,8 +2751,7 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
|
||||
radv_nir_shader_info_pass(combined_nir[i],
|
||||
pipeline->layout,
|
||||
&keys[pre_stage],
|
||||
&infos[MESA_SHADER_GEOMETRY],
|
||||
radv_use_llvm_for_stage(pipeline->device, MESA_SHADER_GEOMETRY));
|
||||
&infos[MESA_SHADER_GEOMETRY]);
|
||||
}
|
||||
|
||||
filled_stages |= (1 << pre_stage);
|
||||
@@ -2779,8 +2776,7 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
|
||||
|
||||
radv_nir_shader_info_init(&infos[i]);
|
||||
radv_nir_shader_info_pass(nir[i], pipeline->layout,
|
||||
&keys[i], &infos[i],
|
||||
radv_use_llvm_for_stage(pipeline->device, i));
|
||||
&keys[i], &infos[i]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||
@@ -3047,8 +3043,7 @@ VkResult radv_create_shaders(struct radv_pipeline *pipeline,
|
||||
|
||||
radv_nir_shader_info_pass(nir[MESA_SHADER_GEOMETRY],
|
||||
pipeline->layout, &key,
|
||||
&info,
|
||||
radv_use_llvm_for_stage(pipeline->device, MESA_SHADER_GEOMETRY));
|
||||
&info);
|
||||
info.wave_size = 64; /* Wave32 not supported. */
|
||||
info.ballot_bit_size = 64;
|
||||
|
||||
|
Reference in New Issue
Block a user