diff --git a/src/asahi/compiler/agx_compiler.h b/src/asahi/compiler/agx_compiler.h index 9625244fc1b..e5cbfaf95e0 100644 --- a/src/asahi/compiler/agx_compiler.h +++ b/src/asahi/compiler/agx_compiler.h @@ -240,6 +240,9 @@ enum agx_dim { AGX_DIM_TEX_CUBE_ARRAY = 7 }; +/* Forward declare for branch target */ +struct agx_block; + typedef struct { /* Must be first */ struct list_head link; @@ -263,6 +266,7 @@ typedef struct { enum agx_format format; enum agx_round round; enum agx_lod_mode lod_mode; + struct agx_block *target; }; /* Invert icond/fcond */ diff --git a/src/asahi/compiler/agx_opcodes.py b/src/asahi/compiler/agx_opcodes.py index ac4941aeb96..43ba78d490f 100644 --- a/src/asahi/compiler/agx_opcodes.py +++ b/src/asahi/compiler/agx_opcodes.py @@ -88,6 +88,7 @@ ICOND = immediate("icond") FCOND = immediate("fcond") NEST = immediate("nest") INVERT_COND = immediate("invert_cond") +TARGET = immediate("target", "agx_block *") FUNOP = lambda x: (x << 28) FUNOP_MASK = FUNOP((1 << 14) - 1)