nir/gather_info: flag fbfetch on subpass image loads
might not be able to determine which output is being read, but these are definitely fbfetch uses (from lavapipe) Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16346>
This commit is contained in:

committed by
Marge Bot

parent
359e60cf5e
commit
5c24eb721a
@@ -525,6 +525,18 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader,
|
||||
shader->info.writes_memory = true;
|
||||
break;
|
||||
}
|
||||
case nir_intrinsic_image_deref_load: {
|
||||
nir_deref_instr *deref = nir_src_as_deref(instr->src[0]);
|
||||
nir_variable *var = nir_deref_instr_get_variable(deref);
|
||||
enum glsl_sampler_dim dim = glsl_get_sampler_dim(glsl_without_array(var->type));
|
||||
if (dim != GLSL_SAMPLER_DIM_SUBPASS &&
|
||||
dim != GLSL_SAMPLER_DIM_SUBPASS_MS)
|
||||
break;
|
||||
|
||||
var->data.fb_fetch_output = true;
|
||||
shader->info.fs.uses_fbfetch_output = true;
|
||||
break;
|
||||
}
|
||||
|
||||
case nir_intrinsic_load_input:
|
||||
case nir_intrinsic_load_per_vertex_input:
|
||||
|
Reference in New Issue
Block a user