Re: [Mesa-dev] [PATCH 1/6] tgsi: Add output_type to struct tgsi_opcode_info
Tom, Looks good. Just two minor requests: - I think that it might be easier to read if we had shorthand definitions for TGSI_OUTPUT_XX in tgsi_info.c so that these enums take less space and the opcodes stay aligned. For example: #define NONE TGSI_OUTPUT_NONE #define COMP TGSI_OUTPUT_COMPONENTWISE #define REPL TGSI_OUTPUT_REPLICATE #define OTHR TGSI_OUTPUT_OTHER - Instead of enum tgsi_output_type output_type:3; please use enum tgsi_output_mode output_mode:3; So that the term type stays available for describing the actual output data type (e.g., INT, UINT, FLOAT) in the near future. Jose - Original Message - From: Tom Stellard thomas.stell...@amd.com --- src/gallium/auxiliary/tgsi/tgsi_info.c | 323 src/gallium/auxiliary/tgsi/tgsi_info.h | 34 2 files changed, 195 insertions(+), 162 deletions(-) diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index 5b26d8f..43f4f69 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -31,169 +31,168 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] = { - { 1, 1, 0, 0, 0, 0, ARL, TGSI_OPCODE_ARL }, - { 1, 1, 0, 0, 0, 0, MOV, TGSI_OPCODE_MOV }, - { 1, 1, 0, 0, 0, 0, LIT, TGSI_OPCODE_LIT }, - { 1, 1, 0, 0, 0, 0, RCP, TGSI_OPCODE_RCP }, - { 1, 1, 0, 0, 0, 0, RSQ, TGSI_OPCODE_RSQ }, - { 1, 1, 0, 0, 0, 0, EXP, TGSI_OPCODE_EXP }, - { 1, 1, 0, 0, 0, 0, LOG, TGSI_OPCODE_LOG }, - { 1, 2, 0, 0, 0, 0, MUL, TGSI_OPCODE_MUL }, - { 1, 2, 0, 0, 0, 0, ADD, TGSI_OPCODE_ADD }, - { 1, 2, 0, 0, 0, 0, DP3, TGSI_OPCODE_DP3 }, - { 1, 2, 0, 0, 0, 0, DP4, TGSI_OPCODE_DP4 }, - { 1, 2, 0, 0, 0, 0, DST, TGSI_OPCODE_DST }, - { 1, 2, 0, 0, 0, 0, MIN, TGSI_OPCODE_MIN }, - { 1, 2, 0, 0, 0, 0, MAX, TGSI_OPCODE_MAX }, - { 1, 2, 0, 0, 0, 0, SLT, TGSI_OPCODE_SLT }, - { 1, 2, 0, 0, 0, 0, SGE, TGSI_OPCODE_SGE }, - { 1, 3, 0, 0, 0, 0, MAD, TGSI_OPCODE_MAD }, - { 1, 2, 0, 0, 0, 0, SUB, TGSI_OPCODE_SUB }, - { 1, 3, 0, 0, 0, 0, LRP, TGSI_OPCODE_LRP }, - { 1, 3, 0, 0, 0, 0, CND, TGSI_OPCODE_CND }, - { 0, 0, 0, 0, 0, 0, , 20 }, /* removed */ - { 1, 3, 0, 0, 0, 0, DP2A, TGSI_OPCODE_DP2A }, - { 0, 0, 0, 0, 0, 0, , 22 }, /* removed */ - { 0, 0, 0, 0, 0, 0, , 23 }, /* removed */ - { 1, 1, 0, 0, 0, 0, FRC, TGSI_OPCODE_FRC }, - { 1, 3, 0, 0, 0, 0, CLAMP, TGSI_OPCODE_CLAMP }, - { 1, 1, 0, 0, 0, 0, FLR, TGSI_OPCODE_FLR }, - { 1, 1, 0, 0, 0, 0, ROUND, TGSI_OPCODE_ROUND }, - { 1, 1, 0, 0, 0, 0, EX2, TGSI_OPCODE_EX2 }, - { 1, 1, 0, 0, 0, 0, LG2, TGSI_OPCODE_LG2 }, - { 1, 2, 0, 0, 0, 0, POW, TGSI_OPCODE_POW }, - { 1, 2, 0, 0, 0, 0, XPD, TGSI_OPCODE_XPD }, - { 0, 0, 0, 0, 0, 0, , 32 }, /* removed */ - { 1, 1, 0, 0, 0, 0, ABS, TGSI_OPCODE_ABS }, - { 1, 1, 0, 0, 0, 0, RCC, TGSI_OPCODE_RCC }, - { 1, 2, 0, 0, 0, 0, DPH, TGSI_OPCODE_DPH }, - { 1, 1, 0, 0, 0, 0, COS, TGSI_OPCODE_COS }, - { 1, 1, 0, 0, 0, 0, DDX, TGSI_OPCODE_DDX }, - { 1, 1, 0, 0, 0, 0, DDY, TGSI_OPCODE_DDY }, - { 0, 0, 0, 0, 0, 0, KILP, TGSI_OPCODE_KILP }, - { 1, 1, 0, 0, 0, 0, PK2H, TGSI_OPCODE_PK2H }, - { 1, 1, 0, 0, 0, 0, PK2US, TGSI_OPCODE_PK2US }, - { 1, 1, 0, 0, 0, 0, PK4B, TGSI_OPCODE_PK4B }, - { 1, 1, 0, 0, 0, 0, PK4UB, TGSI_OPCODE_PK4UB }, - { 1, 2, 0, 0, 0, 0, RFL, TGSI_OPCODE_RFL }, - { 1, 2, 0, 0, 0, 0, SEQ, TGSI_OPCODE_SEQ }, - { 1, 2, 0, 0, 0, 0, SFL, TGSI_OPCODE_SFL }, - { 1, 2, 0, 0, 0, 0, SGT, TGSI_OPCODE_SGT }, - { 1, 1, 0, 0, 0, 0, SIN, TGSI_OPCODE_SIN }, - { 1, 2, 0, 0, 0, 0, SLE, TGSI_OPCODE_SLE }, - { 1, 2, 0, 0, 0, 0, SNE, TGSI_OPCODE_SNE }, - { 1, 2, 0, 0, 0, 0, STR, TGSI_OPCODE_STR }, - { 1, 2, 1, 0, 0, 0, TEX, TGSI_OPCODE_TEX }, - { 1, 4, 1, 0, 0, 0, TXD, TGSI_OPCODE_TXD }, - { 1, 2, 1, 0, 0, 0, TXP, TGSI_OPCODE_TXP }, - { 1, 1, 0, 0, 0, 0, UP2H, TGSI_OPCODE_UP2H }, - { 1, 1, 0, 0, 0, 0, UP2US, TGSI_OPCODE_UP2US }, - { 1, 1, 0, 0, 0, 0, UP4B, TGSI_OPCODE_UP4B }, - { 1, 1, 0, 0, 0, 0, UP4UB, TGSI_OPCODE_UP4UB }, - { 1, 3, 0, 0, 0, 0, X2D, TGSI_OPCODE_X2D }, - { 1, 1, 0, 0, 0, 0, ARA, TGSI_OPCODE_ARA }, - { 1, 1, 0, 0, 0, 0, ARR, TGSI_OPCODE_ARR }, - { 0, 1, 0, 0, 0, 0, BRA, TGSI_OPCODE_BRA }, - { 0, 0, 0, 1, 0, 0, CAL, TGSI_OPCODE_CAL }, - { 0, 0, 0, 0, 0, 0, RET, TGSI_OPCODE_RET }, - { 1, 1, 0, 0, 0, 0, SSG, TGSI_OPCODE_SSG }, - { 1, 3, 0, 0, 0, 0, CMP, TGSI_OPCODE_CMP }, - { 1, 1, 0, 0, 0, 0, SCS, TGSI_OPCODE_SCS }, - { 1, 2, 1, 0, 0, 0, TXB, TGSI_OPCODE_TXB }, - { 1, 1, 0, 0, 0, 0, NRM, TGSI_OPCODE_NRM }, - { 1, 2, 0, 0, 0, 0, DIV, TGSI_OPCODE_DIV }, - { 1, 2, 0, 0, 0, 0, DP2, TGSI_OPCODE_DP2 }, - { 1, 2, 1, 0, 0, 0, TXL, TGSI_OPCODE_TXL }, - { 0, 0, 0, 0, 0, 0, BRK, TGSI_OPCODE_BRK }, - { 0, 1, 0, 1, 0, 1, IF, TGSI_OPCODE_IF }, - { 1, 1, 0, 0, 0, 1, , 75 }, /* removed */ - { 0, 1,
[Mesa-dev] [PATCH 1/6] tgsi: Add output_type to struct tgsi_opcode_info
From: Tom Stellard thomas.stell...@amd.com --- src/gallium/auxiliary/tgsi/tgsi_info.c | 323 src/gallium/auxiliary/tgsi/tgsi_info.h | 34 2 files changed, 195 insertions(+), 162 deletions(-) diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index 5b26d8f..43f4f69 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -31,169 +31,168 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] = { - { 1, 1, 0, 0, 0, 0, ARL, TGSI_OPCODE_ARL }, - { 1, 1, 0, 0, 0, 0, MOV, TGSI_OPCODE_MOV }, - { 1, 1, 0, 0, 0, 0, LIT, TGSI_OPCODE_LIT }, - { 1, 1, 0, 0, 0, 0, RCP, TGSI_OPCODE_RCP }, - { 1, 1, 0, 0, 0, 0, RSQ, TGSI_OPCODE_RSQ }, - { 1, 1, 0, 0, 0, 0, EXP, TGSI_OPCODE_EXP }, - { 1, 1, 0, 0, 0, 0, LOG, TGSI_OPCODE_LOG }, - { 1, 2, 0, 0, 0, 0, MUL, TGSI_OPCODE_MUL }, - { 1, 2, 0, 0, 0, 0, ADD, TGSI_OPCODE_ADD }, - { 1, 2, 0, 0, 0, 0, DP3, TGSI_OPCODE_DP3 }, - { 1, 2, 0, 0, 0, 0, DP4, TGSI_OPCODE_DP4 }, - { 1, 2, 0, 0, 0, 0, DST, TGSI_OPCODE_DST }, - { 1, 2, 0, 0, 0, 0, MIN, TGSI_OPCODE_MIN }, - { 1, 2, 0, 0, 0, 0, MAX, TGSI_OPCODE_MAX }, - { 1, 2, 0, 0, 0, 0, SLT, TGSI_OPCODE_SLT }, - { 1, 2, 0, 0, 0, 0, SGE, TGSI_OPCODE_SGE }, - { 1, 3, 0, 0, 0, 0, MAD, TGSI_OPCODE_MAD }, - { 1, 2, 0, 0, 0, 0, SUB, TGSI_OPCODE_SUB }, - { 1, 3, 0, 0, 0, 0, LRP, TGSI_OPCODE_LRP }, - { 1, 3, 0, 0, 0, 0, CND, TGSI_OPCODE_CND }, - { 0, 0, 0, 0, 0, 0, , 20 }, /* removed */ - { 1, 3, 0, 0, 0, 0, DP2A, TGSI_OPCODE_DP2A }, - { 0, 0, 0, 0, 0, 0, , 22 }, /* removed */ - { 0, 0, 0, 0, 0, 0, , 23 }, /* removed */ - { 1, 1, 0, 0, 0, 0, FRC, TGSI_OPCODE_FRC }, - { 1, 3, 0, 0, 0, 0, CLAMP, TGSI_OPCODE_CLAMP }, - { 1, 1, 0, 0, 0, 0, FLR, TGSI_OPCODE_FLR }, - { 1, 1, 0, 0, 0, 0, ROUND, TGSI_OPCODE_ROUND }, - { 1, 1, 0, 0, 0, 0, EX2, TGSI_OPCODE_EX2 }, - { 1, 1, 0, 0, 0, 0, LG2, TGSI_OPCODE_LG2 }, - { 1, 2, 0, 0, 0, 0, POW, TGSI_OPCODE_POW }, - { 1, 2, 0, 0, 0, 0, XPD, TGSI_OPCODE_XPD }, - { 0, 0, 0, 0, 0, 0, , 32 }, /* removed */ - { 1, 1, 0, 0, 0, 0, ABS, TGSI_OPCODE_ABS }, - { 1, 1, 0, 0, 0, 0, RCC, TGSI_OPCODE_RCC }, - { 1, 2, 0, 0, 0, 0, DPH, TGSI_OPCODE_DPH }, - { 1, 1, 0, 0, 0, 0, COS, TGSI_OPCODE_COS }, - { 1, 1, 0, 0, 0, 0, DDX, TGSI_OPCODE_DDX }, - { 1, 1, 0, 0, 0, 0, DDY, TGSI_OPCODE_DDY }, - { 0, 0, 0, 0, 0, 0, KILP, TGSI_OPCODE_KILP }, - { 1, 1, 0, 0, 0, 0, PK2H, TGSI_OPCODE_PK2H }, - { 1, 1, 0, 0, 0, 0, PK2US, TGSI_OPCODE_PK2US }, - { 1, 1, 0, 0, 0, 0, PK4B, TGSI_OPCODE_PK4B }, - { 1, 1, 0, 0, 0, 0, PK4UB, TGSI_OPCODE_PK4UB }, - { 1, 2, 0, 0, 0, 0, RFL, TGSI_OPCODE_RFL }, - { 1, 2, 0, 0, 0, 0, SEQ, TGSI_OPCODE_SEQ }, - { 1, 2, 0, 0, 0, 0, SFL, TGSI_OPCODE_SFL }, - { 1, 2, 0, 0, 0, 0, SGT, TGSI_OPCODE_SGT }, - { 1, 1, 0, 0, 0, 0, SIN, TGSI_OPCODE_SIN }, - { 1, 2, 0, 0, 0, 0, SLE, TGSI_OPCODE_SLE }, - { 1, 2, 0, 0, 0, 0, SNE, TGSI_OPCODE_SNE }, - { 1, 2, 0, 0, 0, 0, STR, TGSI_OPCODE_STR }, - { 1, 2, 1, 0, 0, 0, TEX, TGSI_OPCODE_TEX }, - { 1, 4, 1, 0, 0, 0, TXD, TGSI_OPCODE_TXD }, - { 1, 2, 1, 0, 0, 0, TXP, TGSI_OPCODE_TXP }, - { 1, 1, 0, 0, 0, 0, UP2H, TGSI_OPCODE_UP2H }, - { 1, 1, 0, 0, 0, 0, UP2US, TGSI_OPCODE_UP2US }, - { 1, 1, 0, 0, 0, 0, UP4B, TGSI_OPCODE_UP4B }, - { 1, 1, 0, 0, 0, 0, UP4UB, TGSI_OPCODE_UP4UB }, - { 1, 3, 0, 0, 0, 0, X2D, TGSI_OPCODE_X2D }, - { 1, 1, 0, 0, 0, 0, ARA, TGSI_OPCODE_ARA }, - { 1, 1, 0, 0, 0, 0, ARR, TGSI_OPCODE_ARR }, - { 0, 1, 0, 0, 0, 0, BRA, TGSI_OPCODE_BRA }, - { 0, 0, 0, 1, 0, 0, CAL, TGSI_OPCODE_CAL }, - { 0, 0, 0, 0, 0, 0, RET, TGSI_OPCODE_RET }, - { 1, 1, 0, 0, 0, 0, SSG, TGSI_OPCODE_SSG }, - { 1, 3, 0, 0, 0, 0, CMP, TGSI_OPCODE_CMP }, - { 1, 1, 0, 0, 0, 0, SCS, TGSI_OPCODE_SCS }, - { 1, 2, 1, 0, 0, 0, TXB, TGSI_OPCODE_TXB }, - { 1, 1, 0, 0, 0, 0, NRM, TGSI_OPCODE_NRM }, - { 1, 2, 0, 0, 0, 0, DIV, TGSI_OPCODE_DIV }, - { 1, 2, 0, 0, 0, 0, DP2, TGSI_OPCODE_DP2 }, - { 1, 2, 1, 0, 0, 0, TXL, TGSI_OPCODE_TXL }, - { 0, 0, 0, 0, 0, 0, BRK, TGSI_OPCODE_BRK }, - { 0, 1, 0, 1, 0, 1, IF, TGSI_OPCODE_IF }, - { 1, 1, 0, 0, 0, 1, , 75 }, /* removed */ - { 0, 1, 0, 0, 0, 1, , 76 }, /* removed */ - { 0, 0, 0, 1, 1, 1, ELSE, TGSI_OPCODE_ELSE }, - { 0, 0, 0, 0, 1, 0, ENDIF, TGSI_OPCODE_ENDIF }, - { 1, 0, 0, 0, 1, 0, , 79 }, /* removed */ - { 0, 0, 0, 0, 1, 0, , 80 }, /* removed */ - { 0, 1, 0, 0, 0, 0, PUSHA, TGSI_OPCODE_PUSHA }, - { 1, 0, 0, 0, 0, 0, POPA, TGSI_OPCODE_POPA }, - { 1, 1, 0, 0, 0, 0, CEIL, TGSI_OPCODE_CEIL }, - { 1, 1, 0, 0, 0, 0, I2F, TGSI_OPCODE_I2F }, - { 1, 1, 0, 0, 0, 0, NOT, TGSI_OPCODE_NOT }, - { 1, 1, 0, 0, 0, 0, TRUNC, TGSI_OPCODE_TRUNC }, - { 1, 2, 0, 0, 0, 0, SHL, TGSI_OPCODE_SHL }, - { 0, 0, 0, 0, 0, 0, , 88 }, /* removed */ - { 1, 2, 0, 0, 0, 0, AND, TGSI_OPCODE_AND }, - { 1, 2, 0, 0, 0, 0, OR, TGSI_OPCODE_OR }, - {