nir: Add a deref instruction type
This commit adds a new instruction type to NIR for handling derefs. Nothing uses it yet but this adds the data structure as well as all of the code to validate, print, clone, and [de]serialize them. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Acked-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -52,6 +52,7 @@ static void
|
||||
init_instr(nir_instr *instr, nir_instr_worklist *worklist)
|
||||
{
|
||||
nir_alu_instr *alu_instr;
|
||||
nir_deref_instr *deref_instr;
|
||||
nir_intrinsic_instr *intrin_instr;
|
||||
nir_tex_instr *tex_instr;
|
||||
|
||||
@@ -73,6 +74,12 @@ init_instr(nir_instr *instr, nir_instr_worklist *worklist)
|
||||
mark_and_push(worklist, instr);
|
||||
break;
|
||||
|
||||
case nir_instr_type_deref:
|
||||
deref_instr = nir_instr_as_deref(instr);
|
||||
if (!deref_instr->dest.is_ssa)
|
||||
mark_and_push(worklist, instr);
|
||||
break;
|
||||
|
||||
case nir_instr_type_intrinsic:
|
||||
intrin_instr = nir_instr_as_intrinsic(instr);
|
||||
if (nir_intrinsic_infos[intrin_instr->intrinsic].flags &
|
||||
|
Reference in New Issue
Block a user