MDolenc said:
I also always thought that vertex shaders 1.x are already floating point, aren't they?
Whoops…, my bad, the float precision should be in the PS table not in the VS table. It will be updated soon!
MDolenc said:
And what kind of "per channel masking" does NV30 and VS3.0 have that others can't match? VS1.x can do any kind of swizzle and can mask destination registers, so what can NV30 and VS3.0 do more?
"Per channel masking" here is the shorter form of "per channel condition codes & write masks". Per channel conditional masking seems more clear.
MDolenc said:
And you also got a bit messy with call nesting and dynamic and static flow control didn't you?
Would you mind giving me more clear description or classification here?
MDolenc said:
Any hardware that will want to support VS2.0 will have to provide at least 12 temp registers, 16 integer registers and 16 boolean registers (that's 44 registers at any time) so NV30 will not be even a VS2.0 part ?
Please give your link or source here to prove NV30 does have 16 integer registers or boolean registers.
MDolenc said:
And that "sampler" row is quite a laugh. It's not a bug it's a feature! Or was it the other way around?
Seems I have noted it would/could be used in the tessellator. If I misunderstand it, please give more details here.
MDolenc said:
When both _abs and negate (-) are present, the _abs happen first in NV30 and PS3.0. Aren't we still talking about VS here.
It will be updated soon.
MDolenc said:
When will we see drivers from ATI that will expose 160 instruction slots?
It got a confirmation.
MDolenc said:
And how many constants and instruction slots will NV30 expose? They said somewhere that each constant costs one instruction slot, so instruction count can greatly vary based on how many constants will we use, right?
1024 instructions
512 constants or uniform parameters
- Each constant counts as one instruction
- NVIDIA Programmable Graphics Technology, P.15
It also got a confirmation. Besides, in the table we just list 1024 as Max Instruction Number.
MDolenc said:
Didn't we come to conclusion that Radeon 9700 doesn't support arbitrary swizzles some time ago?
My source told me that R300 supports it. BUT, if you can give evidence that R300 does NOT support it. I will revise it.
MDolenc said:
Exactly... INSTRUCTIONS. Instruction slots are different. In PS.1.x there is instruction co-pairing and even if you say:
mul r0.rgb, t0, v0
+ add r1.a, r1, c2
This still occupies one instruction slot (but contains two instructions).
Are you sure that such pairing instruction in PS1.x occupies one instruction slot and counts as two instructions? And so does the instruction in the R300 PS?
Thank you for your good comments.