Hi,
I've been reading up on ATI ISAs and learning things about how to make shaders. But it might be easier to use the format required to use largely distributed drivers. U guys think if I supplied all of the pixel coordinates and such in code, there is a way to learn how to use some of these common drivers very efficiently? Here's some of what I've been doing from the Assembly syntax documents:
ShaderType = 3
TargetChip = b
NumClauseTemps = 4
00 ALU: ADDR(1) CNT(5)
0 x: MOV T1, MEM*
1 x: MOV R0.x, MEM*
y: MOV R0.y, MEM*
z: MOV R0.z, MEM*
w: MOV R0.w, 0
01 VTX: ADDR(2) CNT(4)
2 VFETCH R1.x, R0.x
3 VFETCH R1.y, R0.y
4 VFETCH R1.z, R0.z
5 VFETCH R1.w, R0.w
02 TEX: ADDR(3) CNT(3)
6 FETCH4 R2.x, R0.x, T1
7 FETCH4 R2.y, R0.y, T1
8 FETCH4 R2.z, R0.y, T1
03 EXP: POS0, R1.x
04 EXP: POS1, R1.y
05 EXP: POS2, R1.z
06 EXP: POS3, R1.w
07 EXP: POS4, R2.x
08 EXP: POS5, R2.y
09 EXP: POS6, R2.z
END_OF_PROGRAM
ShaderType = 1
00 ALU: ADDR(1) CNT(5)
0 x: MOV T1, MEM*
1 x: MOV R0.x, MEM*
y: MOV R0.y, MEM*
z: MOV R0.z, MEM*
w: MOV R0.w, 0
01 EXP: PIX0, R0.x
02 EXP: PIX1, R0.y
03 EXP: PIX2, R0.z
04 EXP: PIX3, R0.w
END_OF_PROGRAM
Trying to get down the memory reads and writes which I think are broken up between scratch buffers, reduction buffers, and scatter reads and writes.
What would be a good way to learn how to handle a graphics driver? Writing some shaders for a bunch of cards would take long. Ok.
Cheers,
Denat