diff options
Diffstat (limited to 'src/gallium/drivers/r600/r600_opcodes.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_opcodes.h | 264 |
1 files changed, 139 insertions, 125 deletions
diff --git a/src/gallium/drivers/r600/r600_opcodes.h b/src/gallium/drivers/r600/r600_opcodes.h index 024b3a7808d..bc000ed6c5b 100644 --- a/src/gallium/drivers/r600/r600_opcodes.h +++ b/src/gallium/drivers/r600/r600_opcodes.h @@ -2,39 +2,53 @@ #ifndef R600_OPCODES_H #define R600_OPCODES_H -#define V_SQ_CF_WORD1_SQ_CF_INST_NOP 0x00000000 -#define V_SQ_CF_WORD1_SQ_CF_INST_TEX 0x00000001 -#define V_SQ_CF_WORD1_SQ_CF_INST_VTX 0x00000002 -#define V_SQ_CF_WORD1_SQ_CF_INST_VTX_TC 0x00000003 -#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START 0x00000004 -#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END 0x00000005 -#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10 0x00000006 -#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL 0x00000007 -#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE 0x00000008 -#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK 0x00000009 -#define V_SQ_CF_WORD1_SQ_CF_INST_JUMP 0x0000000A -#define V_SQ_CF_WORD1_SQ_CF_INST_PUSH 0x0000000B -#define V_SQ_CF_WORD1_SQ_CF_INST_PUSH_ELSE 0x0000000C -#define V_SQ_CF_WORD1_SQ_CF_INST_ELSE 0x0000000D -#define V_SQ_CF_WORD1_SQ_CF_INST_POP 0x0000000E -#define V_SQ_CF_WORD1_SQ_CF_INST_POP_JUMP 0x0000000F -#define V_SQ_CF_WORD1_SQ_CF_INST_POP_PUSH 0x00000010 -#define V_SQ_CF_WORD1_SQ_CF_INST_POP_PUSH_ELSE 0x00000011 -#define V_SQ_CF_WORD1_SQ_CF_INST_CALL 0x00000012 -#define V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS 0x00000013 -#define V_SQ_CF_WORD1_SQ_CF_INST_RETURN 0x00000014 -#define V_SQ_CF_WORD1_SQ_CF_INST_EMIT_VERTEX 0x00000015 -#define V_SQ_CF_WORD1_SQ_CF_INST_EMIT_CUT_VERTEX 0x00000016 -#define V_SQ_CF_WORD1_SQ_CF_INST_CUT_VERTEX 0x00000017 -#define V_SQ_CF_WORD1_SQ_CF_INST_KILL 0x00000018 +#define R600_S_SQ_CF_WORD1_CF_INST(x) (((x) & 0x7F) << 23) +#define R600_G_SQ_CF_WORD1_CF_INST(x) (((x) >> 23) & 0x7F) +#define R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) & 0x7F) << 23) +#define R600_G_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) >> 23) & 0x7F) +#define R600_S_SQ_CF_ALU_WORD1_CF_INST(x) (((x) & 0xF) << 26) +#define R600_G_SQ_CF_ALU_WORD1_CF_INST(x) (((x) >> 26) & 0xF) -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU 0x00000008 -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE 0x00000009 -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER 0x0000000A -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER 0x0000000B -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE 0x0000000D -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK 0x0000000E -#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER 0x0000000F +#define EG_S_SQ_CF_WORD1_CF_INST(x) (((x) & 0xFF) << 22) +#define EG_G_SQ_CF_WORD1_CF_INST(x) (((x) >> 22) & 0xFF) +#define EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) & 0xFF) << 22) +#define EG_G_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) >> 22) & 0xFF) +#define EG_S_SQ_CF_ALU_WORD1_CF_INST(x) (((x) & 0xF) << 26) +#define EG_G_SQ_CF_ALU_WORD1_CF_INST(x) (((x) >> 26) & 0xF) + +#define V_SQ_CF_WORD1_SQ_CF_INST_NOP R600_S_SQ_CF_WORD1_CF_INST(0x00000000) +#define V_SQ_CF_WORD1_SQ_CF_INST_TEX R600_S_SQ_CF_WORD1_CF_INST(0x00000001) +#define V_SQ_CF_WORD1_SQ_CF_INST_VTX R600_S_SQ_CF_WORD1_CF_INST(0x00000002) +#define V_SQ_CF_WORD1_SQ_CF_INST_VTX_TC R600_S_SQ_CF_WORD1_CF_INST(0x00000003) +#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START R600_S_SQ_CF_WORD1_CF_INST(0x00000004) +#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END R600_S_SQ_CF_WORD1_CF_INST(0x00000005) +#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10 R600_S_SQ_CF_WORD1_CF_INST(0x00000006) +#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL R600_S_SQ_CF_WORD1_CF_INST(0x00000007) +#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE R600_S_SQ_CF_WORD1_CF_INST(0x00000008) +#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK R600_S_SQ_CF_WORD1_CF_INST(0x00000009) +#define V_SQ_CF_WORD1_SQ_CF_INST_JUMP R600_S_SQ_CF_WORD1_CF_INST(0x0000000A) +#define V_SQ_CF_WORD1_SQ_CF_INST_PUSH R600_S_SQ_CF_WORD1_CF_INST(0x0000000B) +#define V_SQ_CF_WORD1_SQ_CF_INST_PUSH_ELSE R600_S_SQ_CF_WORD1_CF_INST(0x0000000C) +#define V_SQ_CF_WORD1_SQ_CF_INST_ELSE R600_S_SQ_CF_WORD1_CF_INST(0x0000000D) +#define V_SQ_CF_WORD1_SQ_CF_INST_POP R600_S_SQ_CF_WORD1_CF_INST(0x0000000E) +#define V_SQ_CF_WORD1_SQ_CF_INST_POP_JUMP R600_S_SQ_CF_WORD1_CF_INST(0x0000000F) +#define V_SQ_CF_WORD1_SQ_CF_INST_POP_PUSH R600_S_SQ_CF_WORD1_CF_INST(0x00000010) +#define V_SQ_CF_WORD1_SQ_CF_INST_POP_PUSH_ELSE R600_S_SQ_CF_WORD1_CF_INST(0x00000011) +#define V_SQ_CF_WORD1_SQ_CF_INST_CALL R600_S_SQ_CF_WORD1_CF_INST(0x00000012) +#define V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS R600_S_SQ_CF_WORD1_CF_INST(0x00000013) +#define V_SQ_CF_WORD1_SQ_CF_INST_RETURN R600_S_SQ_CF_WORD1_CF_INST(0x00000014) +#define V_SQ_CF_WORD1_SQ_CF_INST_EMIT_VERTEX R600_S_SQ_CF_WORD1_CF_INST(0x00000015) +#define V_SQ_CF_WORD1_SQ_CF_INST_EMIT_CUT_VERTEX R600_S_SQ_CF_WORD1_CF_INST(0x00000016) +#define V_SQ_CF_WORD1_SQ_CF_INST_CUT_VERTEX R600_S_SQ_CF_WORD1_CF_INST(0x00000017) +#define V_SQ_CF_WORD1_SQ_CF_INST_KILL R600_S_SQ_CF_WORD1_CF_INST(0x00000018) + +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU R600_S_SQ_CF_ALU_WORD1_CF_INST(0x00000008) +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE R600_S_SQ_CF_ALU_WORD1_CF_INST(0x00000009) +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000A) +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000B) +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000D) +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000E) +#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000F) #define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD 0x00000000 #define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL 0x00000001 @@ -161,77 +175,77 @@ #define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT_INT 0x0000001D #define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE_INT 0x0000001E -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0 0x00000020 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1 0x00000021 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2 0x00000022 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3 0x00000023 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_SCRATCH 0x00000024 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_REDUCTION 0x00000025 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING 0x00000026 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT 0x00000027 -#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE 0x00000028 +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000020) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000021) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000022) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000023) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_SCRATCH R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000024) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_REDUCTION R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000025) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000026) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000027) +#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000028) /* cayman doesn't have VTX */ -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_NOP 0x00000000 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_TEX 0x00000001 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_TC 0x00000001 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_VTX 0x00000002 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_2 0x00000002 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_GDS 0x00000003 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START 0x00000004 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END 0x00000005 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10 0x00000006 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL 0x00000007 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE 0x00000008 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK 0x00000009 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMP 0x0000000A -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_PUSH 0x0000000B -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_12 0x0000000C /* resvd */ -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE 0x0000000D -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_POP 0x0000000E -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_15 0x0000000F -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_16 0x00000010 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_17 0x00000011 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL 0x00000012 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS 0x00000013 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RETURN 0x00000014 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_EMIT_VERTEX 0x00000015 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_EMIT_CUT_VERTEX 0x00000016 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CUT_VERTEX 0x00000017 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_KILL 0x00000018 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_25 0x00000019 -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_WAIT_ACK 0x0000001a -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_TC_ACK 0x0000001b -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_VC_ACK 0x0000001c -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_28 0x0000001c -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMPTABLE 0x0000001d -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_GLOBAL_WAVE_SYNC 0x0000001e -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT 0x0000001f +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_NOP EG_S_SQ_CF_WORD1_CF_INST(0x00000000) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_TEX EG_S_SQ_CF_WORD1_CF_INST(0x00000001) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_TC EG_S_SQ_CF_WORD1_CF_INST(0x00000001) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_VTX EG_S_SQ_CF_WORD1_CF_INST(0x00000002) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_2 EG_S_SQ_CF_WORD1_CF_INST(0x00000002) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_GDS EG_S_SQ_CF_WORD1_CF_INST(0x00000003) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START EG_S_SQ_CF_WORD1_CF_INST(0x00000004) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END EG_S_SQ_CF_WORD1_CF_INST(0x00000005) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10 EG_S_SQ_CF_WORD1_CF_INST(0x00000006) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL EG_S_SQ_CF_WORD1_CF_INST(0x00000007) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE EG_S_SQ_CF_WORD1_CF_INST(0x00000008) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK EG_S_SQ_CF_WORD1_CF_INST(0x00000009) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMP EG_S_SQ_CF_WORD1_CF_INST(0x0000000A) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_PUSH EG_S_SQ_CF_WORD1_CF_INST(0x0000000B) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_12 EG_S_SQ_CF_WORD1_CF_INST(0x0000000C) /* resvd */ +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE EG_S_SQ_CF_WORD1_CF_INST(0x0000000D) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_POP EG_S_SQ_CF_WORD1_CF_INST(0x0000000E) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_15 EG_S_SQ_CF_WORD1_CF_INST(0x0000000F) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_16 EG_S_SQ_CF_WORD1_CF_INST(0x00000010) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_17 EG_S_SQ_CF_WORD1_CF_INST(0x00000011) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL EG_S_SQ_CF_WORD1_CF_INST(0x00000012) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS EG_S_SQ_CF_WORD1_CF_INST(0x00000013) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RETURN EG_S_SQ_CF_WORD1_CF_INST(0x00000014) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_EMIT_VERTEX EG_S_SQ_CF_WORD1_CF_INST(0x00000015) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_EMIT_CUT_VERTEX EG_S_SQ_CF_WORD1_CF_INST(0x00000016) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CUT_VERTEX EG_S_SQ_CF_WORD1_CF_INST(0x00000017) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_KILL EG_S_SQ_CF_WORD1_CF_INST(0x00000018) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_25 EG_S_SQ_CF_WORD1_CF_INST(0x00000019) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_WAIT_ACK EG_S_SQ_CF_WORD1_CF_INST(0x0000001a) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_TC_ACK EG_S_SQ_CF_WORD1_CF_INST(0x0000001b) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_VC_ACK EG_S_SQ_CF_WORD1_CF_INST(0x0000001c) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_28 EG_S_SQ_CF_WORD1_CF_INST(0x0000001c) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMPTABLE EG_S_SQ_CF_WORD1_CF_INST(0x0000001d) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_GLOBAL_WAVE_SYNC EG_S_SQ_CF_WORD1_CF_INST(0x0000001e) +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT EG_S_SQ_CF_WORD1_CF_INST(0x0000001f) /* cayman extras */ -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_END 0x00000020 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_LDS_DEALLOC 0x00000021 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_PUSH_WQM 0x00000022 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_POP_WQM 0x00000023 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_ELSE_WQM 0x00000024 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_JUMP_ANY 0x00000025 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE 0x00000026 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE_WQM 0x00000027 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT 0x00000028 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT_AND_SLEEP 0x00000029 -#define CM_V_SQ_CF_WORD1_SQ_CF_INST_SET_PRIORITY 0x00000030 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_END EG_S_SQ_CF_WORD1_CF_INST(0x00000020) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_LDS_DEALLOC EG_S_SQ_CF_WORD1_CF_INST(0x00000021) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_PUSH_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000022) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_POP_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000023) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_ELSE_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000024) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_JUMP_ANY EG_S_SQ_CF_WORD1_CF_INST(0x00000025) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE EG_S_SQ_CF_WORD1_CF_INST(0x00000026) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000027) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT EG_S_SQ_CF_WORD1_CF_INST(0x00000028) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT_AND_SLEEP EG_S_SQ_CF_WORD1_CF_INST(0x00000029) +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_SET_PRIORITY EG_S_SQ_CF_WORD1_CF_INST(0x00000030) -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU 0x00000008 -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE 0x00000009 -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER 0x0000000A -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER 0x0000000B -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_EXTENDED 0x0000000C -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE 0x0000000D /* different on CAYMAN */ -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK 0x0000000E /* different on CAYMAN */ -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER 0x0000000F +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU EG_S_SQ_CF_ALU_WORD1_CF_INST(0x00000008) +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x00000009) +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000A) +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000B) +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_EXTENDED EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000C) +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000D) /* different on CAYMAN */ +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000E) /* different on CAYMAN */ +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000F) -#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_REACTIVATE_BEFORE 0x0000000D -#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_VALID_PIXEL_MODE 0x0000000E +#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_REACTIVATE_BEFORE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000D) +#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_VALID_PIXEL_MODE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000E) #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD 0x00000000 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL 0x00000001 @@ -380,34 +394,34 @@ #define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE_INT 0x0000001E #define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT 0x0000001F -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF0 0x00000040 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF1 0x00000041 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF2 0x00000042 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF3 0x00000043 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF0 0x00000044 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF1 0x00000045 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF2 0x00000046 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF3 0x00000047 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF0 0x00000048 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF1 0x00000049 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF2 0x0000004A -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF3 0x0000004B -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF0 0x0000004C -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF1 0x0000004D -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF2 0x0000004E -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF3 0x0000004F -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_SCRATCH 0x00000050 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING 0x00000052 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT 0x00000053 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE 0x00000054 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_EXPORT 0x00000055 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT 0x00000056 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT_CACHELESS 0x00000057 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING1 0x00000058 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING2 0x00000059 -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING3 0x0000005A -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_EXPORT_COMBINED 0x0000005B -#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT_COMBINED_CACHELESS 0x0000005C +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000040) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000041) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000042) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000043) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000044) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000045) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000046) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000047) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000048) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000049) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004A) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004B) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004C) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004D) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004E) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004F) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_SCRATCH EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000050) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000052) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000053) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000054) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_EXPORT EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000055) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000056) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT_CACHELESS EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000057) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000058) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000059) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000005A) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_EXPORT_COMBINED EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000005B) +#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT_COMBINED_CACHELESS EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000005C) #define BC_INST(bc, x) ((bc)->chip_class >= EVERGREEN ? EG_##x : x) |