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:
@@ -148,6 +148,7 @@ void brw_nir_lower_patch_vertices_in_to_uniform(nir_shader *nir);
|
||||
|
||||
void brw_nir_analyze_ubo_ranges(const struct brw_compiler *compiler,
|
||||
nir_shader *nir,
|
||||
const struct brw_vs_prog_key *vs_key,
|
||||
struct brw_ubo_range out_ranges[4]);
|
||||
|
||||
bool brw_nir_opt_peephole_ffma(nir_shader *shader);
|
||||
|
Reference in New Issue
Block a user