Advertisement
Guest User

Untitled

a guest
Jul 31st, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. control[12], Vec4 Addition ALU
  2.  
  3. iooo ooMM mmmm dddd CCaa aaaa aaAA AADD bbbb bbbb BBBB
  4.  
  5. i - whether to get Argument 1 from the vector multiplication ALU (above)
  6. o - opcode:
  7. 00000 - arg0 + arg1
  8. 00100 - fract(arg1)
  9. 01000 - notEqual(arg0, arg1)
  10. 01100 - floor(arg1)
  11. 01101 - ceil(arg1)
  12. 01011 - equal(arg0, arg1)
  13. 01001 - lessThan(arg0, arg1)
  14. 01010 - lessThanEqual(arg0, arg1)
  15. 01111 - max(arg0, arg1)
  16. 01110 - min(arg0, arg1)
  17. 10000 - sum3 - dest.xyzw = sum of first 3 components of arg1
  18. 10001 - sum4 - dest.xyzw = sum of all components of arg1
  19. Note: for sum3 and sum4, the output is broadcast to all channels -
  20. you can use the write mask to select which component to write to
  21. 10100 - dFdx(arg0, arg1)
  22. 10101 - dFdy(arg0, arg1)
  23. Note: dFdx(x) is actually implemented as dFdx(-x, x) (same for dFdy)
  24. See "Speculation on derivatives" above
  25. 11111 - arg1 (passthrough)
  26. m - Mask, same as varying fetch opcode
  27. d - Destination register
  28. C - Argument 0 modifier
  29. a - Argument 0 Swizzle descriptor
  30. A - Argument 0 Source
  31. D - Argument 1 modifier
  32. b - Argument 1 Swizzle descriptor
  33. B - Argument 1 Source
  34. M - output modifier:
  35. 00 - don't round
  36. 01 - saturate - clamp(output, 0.0, 1.0)
  37. 10 - max(0.0, output)
  38. 11 - round to integer
  39.  
  40. Modifiers:
  41. bit 0 - absolute value
  42. bit 1 - negate
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement