intel/compiler: Account for built-in uniforms in analyze_ubo_ranges
The original pass only looked for load_uniform intrinsics but there are a number of other places that could end up loading a push constant. One obvious omission was images which always implicitly use a push constant. Legacy VS clip planes also get pushed into the shader. This fixes some new Vulkan CTS tests that test random combinations of bindings and, in particular, test lots of UBOs and images together. Cc: mesa-stable@lists.freedesktop.org Cc: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -465,7 +465,7 @@ anv_pipeline_compile(struct anv_pipeline *pipeline,
|
||||
anv_nir_apply_pipeline_layout(pipeline, layout, nir, prog_data, map);
|
||||
|
||||
if (stage != MESA_SHADER_COMPUTE)
|
||||
brw_nir_analyze_ubo_ranges(compiler, nir, prog_data->ubo_ranges);
|
||||
brw_nir_analyze_ubo_ranges(compiler, nir, NULL, prog_data->ubo_ranges);
|
||||
|
||||
assert(nir->num_uniforms == prog_data->nr_params * 4);
|
||||
|
||||
|
Reference in New Issue
Block a user