Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --------------------------------------------------------------
- VERT
- DCL IN[0]
- DCL IN[1]
- DCL OUT[0], POSITION
- DCL OUT[1], GENERIC[0]
- 0: MOV OUT[0], IN[0]
- 1: MOV OUT[1], IN[1]
- 2: END
- --------------------------------------------------------------
- bytecode 26 dw -- 5 gprs ---------------------
- shader 0 -- C
- 0000 00000000 84C00000 CALL_FS @0
- 0002 00000005 A01C0000 ALU 8 @10
- 0010 00000001 00600C90 1 MOV R3.x, R1.x
- 0012 00000401 20600C90 MOV R3.y, R1.y
- 0014 00000801 40600C90 MOV R3.z, R1.z
- 0016 80000C01 60600C90 MOV R3.w, R1.w
- 0018 00000002 00800C90 2 MOV R4.x, R2.x
- 0020 00000402 20800C90 MOV R4.y, R2.y
- 0022 00000802 40800C90 MOV R4.z, R2.z
- 0024 80000C02 60800C90 MOV R4.w, R2.w
- 0004 C001A03C 95000688 EXPORT_DONE POS 60 R3.xyzw ES:3
- 0006 C0024000 95000688 EXPORT_DONE PARAM 0 R4.xyzw ES:3
- 0008 00000000 88000000 CF_END @0
- --------------------------------------
- ______________________________________________________________
- --------------------------------------------------------------
- VERT
- DCL IN[0]
- DCL OUT[0], POSITION
- 0: MOV OUT[0], IN[0]
- 1: END
- STREAMOUT
- 0: MEM_STREAM0_BUF0[0..0] <- OUT[0].x
- --------------------------------------------------------------
- bytecode 20 dw -- 3 gprs ---------------------
- shader 1 -- C
- 0000 00000000 84C00000 CALL_FS @0
- 0002 00000006 A00C0000 ALU 4 @12
- 0012 00000001 00400C90 1 MOV R2.x, R1.x
- 0014 00000401 20400C90 MOV R2.y, R1.y
- 0016 00000801 40400C90 MOV R2.z, R1.z
- 0018 80000C01 60400C90 MOV R2.w, R1.w
- 0004 40010000 90001FFF MEM_STREAM0_BUF0 WRITE 0 R2.x___ ES:1
- 0006 C001203C 95000688 EXPORT_DONE POS 60 R2.xyzw ES:3
- 0008 C0004000 95000FFF EXPORT_DONE PARAM 0 R0.____ ES:3
- 0010 00000000 88000000 CF_END @0
- --------------------------------------
- ______________________________________________________________
- --------------------------------------------------------------
- VERT
- DCL IN[0]
- DCL OUT[0], POSITION
- DCL OUT[1], GENERIC[19]
- DCL CONST[0]
- DCL TEMP[0..6], LOCAL
- IMM[0] FLT32 { 0.0000, 0.0000, 0.0000, 0.0000}
- IMM[1] UINT32 {0, 1, 0, 0}
- 0: MOV TEMP[0], IMM[0].xxxx
- 1: MOV TEMP[1].x, IN[0].xxxx
- 2: MOV TEMP[2].x, IMM[1].xxxx
- 3: MOV TEMP[3].x, IMM[1].yyyy
- 4: BGNLOOP :0
- 5: USEQ TEMP[4].x, TEMP[1].xxxx, IMM[1].xxxx
- 6: IF TEMP[4].xxxx :0
- 7: BRK
- 8: ENDIF
- 9: MOV TEMP[3].x, CONST[0].xxxx
- 10: MOV TEMP[5].x, IMM[1].xxxx
- 11: BGNLOOP :0
- 12: USGE TEMP[6].x, TEMP[5].xxxx, CONST[0].xxxx
- 13: IF TEMP[6].xxxx :0
- 14: BRK
- 15: ENDIF
- 16: UADD TEMP[2].x, TEMP[2].xxxx, IMM[1].yyyy
- 17: UADD TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy
- 18: ENDLOOP :0
- 19: MOV TEMP[1].x, IMM[1].xxxx
- 20: ENDLOOP :0
- 21: MOV TEMP[1].z, TEMP[3].xxxx
- 22: MOV TEMP[1].y, TEMP[2].xxxx
- 23: MOV TEMP[1].x, IN[0].xxxx
- 24: MOV OUT[1], TEMP[1]
- 25: MOV OUT[0], TEMP[0]
- 26: END
- STREAMOUT
- 0: MEM_STREAM0_BUF0[0..0] <- OUT[1].x
- 1: MEM_STREAM0_BUF0[1..1] <- OUT[1].y
- 2: MEM_STREAM0_BUF0[2..2] <- OUT[1].z
- --------------------------------------------------------------
- bytecode 102 dw -- 13 gprs ---------------------
- shader 2 -- C
- 0000 00000000 84C00000 CALL_FS @0
- 0002 00000018 A0180000 ALU 7 @48
- 0048 000000F8 00800C90 1 MOV R4.x, 0
- 0050 000000F8 20800C90 MOV R4.y, 0
- 0052 000000F8 40800C90 MOV R4.z, 0
- 0054 800000F8 60800C90 MOV R4.w, 0
- 0056 80000001 00A00C90 2 MOV R5.x, R1.x
- 0058 800000F8 00C00C90 3 MOV R6.x, 0
- 0060 800004FA 00E00C90 4 MOV R7.x, 1
- 0004 00000011 81800000 LOOP_START_DX10 @34
- 0006 0000001F A4040000 ALU_PUSH_BEFORE 2 @62
- 0062 801F0005 01001D10 5 SETE_INT R8.x, R5.x, 0
- 0064 801F00FE 0180229C 6 MP PRED_SETNE_INT R12.x, PV.x, 0
- 0008 00000007 82800001 JUMP @14 POP:1
- 0010 00000010 82400000 LOOP_BREAK @32
- 0012 00000007 83800001 POP @14 POP:1
- 0014 40000021 A0040000 ALU 2 @66 KC0[CB0:0-16]
- 0066 80000080 00E00C90 7 MOV R7.x, KC0[0].x
- 0068 800000F8 01200C90 8 MOV R9.x, 0
- 0016 0000000F 81800000 LOOP_START_DX10 @30
- 0018 40000023 A4040000 ALU_PUSH_BEFORE 2 @70 KC0[CB0:0-16]
- 0070 80100009 01401F90 9 SETGE_UINT R10.x, R9.x, KC0[0].x
- 0072 801F00FE 0180229C 10 MP PRED_SETNE_INT R12.x, PV.x, 0
- 0020 0000000D 82800001 JUMP @26 POP:1
- 0022 0000000E 82400000 LOOP_BREAK @28
- 0024 0000000D 83800001 POP @26 POP:1
- 0026 00000025 A0040000 ALU 2 @74
- 0074 809F4006 00C01A10 11 ADD_INT R6.x, R6.x, 1
- 0076 809F4009 01201A10 12 ADD_INT R9.x, R9.x, 1
- 0028 00000009 81400000 LOOP_END @18
- 0030 00000027 A0000000 ALU 1 @78
- 0078 800000F8 00A00C90 13 MOV R5.x, 0
- 0032 00000003 81400000 LOOP_END @6
- 0034 00000028 A0280000 ALU 11 @80
- 0080 00000001 00B00C90 14 MOV R5.x, R1.x BS:4
- 0082 00000006 20A80C90 MOV R5.y, R6.x BS:2
- 0084 80000007 40A00C90 MOV R5.z, R7.x
- 0086 000000FE 00600C90 15 MOV R3.x, PV.x
- 0088 000004FE 20600C90 MOV R3.y, PV.y
- 0090 000008FE 40600C90 MOV R3.z, PV.z
- 0092 80000C05 60600C90 MOV R3.w, R5.w
- 0094 00000004 00400C90 16 MOV R2.x, R4.x
- 0096 00000404 20400C90 MOV R2.y, R4.y
- 0098 00000804 40400C90 MOV R2.z, R4.z
- 0100 80000C04 60400C90 MOV R2.w, R4.w
- 0036 40018000 90001FFF MEM_STREAM0_BUF0 WRITE 0 R3.x___ ES:1
- 0038 40018000 90002FFF MEM_STREAM0_BUF0 WRITE 0 R3._y__ ES:1
- 0040 40018000 90004FFF MEM_STREAM0_BUF0 WRITE 0 R3.__z_ ES:1
- 0042 C001203C 95000688 EXPORT_DONE POS 60 R2.xyzw ES:3
- 0044 C001C000 95000688 EXPORT_DONE PARAM 0 R3.xyzw ES:3
- 0046 00000000 88000000 CF_END @0
- --------------------------------------
- ______________________________________________________________
- input:
- shift_count 64
- starting_x 0
- actual output:
- iteration_count 1
- shift_reg 1
- expected output:
- iteration_count 0
- shift_reg 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement