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:
Alyssa Rosenzweig
2021-05-23 17:17:16 -04:00
committed by Alyssa Rosenzweig
parent 21cf528e76
commit ad4dfb3321
3 changed files with 13 additions and 0 deletions

View File

@@ -265,6 +265,9 @@ typedef struct {
enum agx_lod_mode lod_mode;
};
/* Invert icond/fcond */
bool invert_cond : 1;
/* TODO: Handle tex ops more efficient */
enum agx_dim dim : 3;

View File

@@ -87,6 +87,7 @@ SCOREBOARD = immediate("scoreboard")
ICOND = immediate("icond")
FCOND = immediate("fcond")
NEST = immediate("nest")
INVERT_COND = immediate("invert_cond")
FUNOP = lambda x: (x << 28)
FUNOP_MASK = FUNOP((1 << 14) - 1)

View File

@@ -176,6 +176,15 @@ agx_print_instr(agx_instr *I, FILE *fp)
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");
}