agx: Add invert_cond (ccn) to IR
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
This commit is contained in:

committed by
Alyssa Rosenzweig

parent
21cf528e76
commit
ad4dfb3321
@@ -265,6 +265,9 @@ typedef struct {
|
|||||||
enum agx_lod_mode lod_mode;
|
enum agx_lod_mode lod_mode;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Invert icond/fcond */
|
||||||
|
bool invert_cond : 1;
|
||||||
|
|
||||||
/* TODO: Handle tex ops more efficient */
|
/* TODO: Handle tex ops more efficient */
|
||||||
enum agx_dim dim : 3;
|
enum agx_dim dim : 3;
|
||||||
|
|
||||||
|
@@ -87,6 +87,7 @@ SCOREBOARD = immediate("scoreboard")
|
|||||||
ICOND = immediate("icond")
|
ICOND = immediate("icond")
|
||||||
FCOND = immediate("fcond")
|
FCOND = immediate("fcond")
|
||||||
NEST = immediate("nest")
|
NEST = immediate("nest")
|
||||||
|
INVERT_COND = immediate("invert_cond")
|
||||||
|
|
||||||
FUNOP = lambda x: (x << 28)
|
FUNOP = lambda x: (x << 28)
|
||||||
FUNOP_MASK = FUNOP((1 << 14) - 1)
|
FUNOP_MASK = FUNOP((1 << 14) - 1)
|
||||||
|
@@ -176,6 +176,15 @@ agx_print_instr(agx_instr *I, FILE *fp)
|
|||||||
fprintf(fp, "n=%u", I->nest);
|
fprintf(fp, "n=%u", I->nest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((info.immediates & AGX_IMMEDIATE_INVERT_COND) && I->invert_cond) {
|
||||||
|
if (print_comma)
|
||||||
|
fprintf(fp, ", ");
|
||||||
|
else
|
||||||
|
print_comma = true;
|
||||||
|
|
||||||
|
fprintf(fp, "inv");
|
||||||
|
}
|
||||||
|
|
||||||
fprintf(fp, "\n");
|
fprintf(fp, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user