iris/program: Don't try to push ubo ranges for compute
We only can push constants for compute shaders from one range. Gallium glsl-to-nir (src/mesa/state_tracker/st_glsl_to_nir.cpp) lowers all uniform accesses to a ubo. Unfortunately we also load the subgroup-id as a uniform in the compiler. Since we use the 1 push range for this subgroup-id, we then lose the ability to actually push the ubo with all the normal user uniform values. In other words, there is lots of room for performance improvement, but at least retrieving the uniforms as pull-constants is functional for now. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:

committed by
Kenneth Graunke

parent
c7cfa4000f
commit
ea416d0b5d
@@ -429,7 +429,8 @@ iris_setup_uniforms(const struct brw_compiler *compiler,
|
||||
}
|
||||
|
||||
// XXX: vs clip planes?
|
||||
brw_nir_analyze_ubo_ranges(compiler, nir, NULL, prog_data->ubo_ranges);
|
||||
if (nir->info.stage != MESA_SHADER_COMPUTE)
|
||||
brw_nir_analyze_ubo_ranges(compiler, nir, NULL, prog_data->ubo_ranges);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user