John Kessenich
|
69aa9c1b84
Fixes to scanning:
|
11 tahun lalu |
John Kessenich
|
ef84d10e4c
Add semantic check for precision qualifier on wrong kind of type. Added a few more tests.
|
11 tahun lalu |
John Kessenich
|
41a36bbb2f
Track separate precision defaults for each kind of sampler, give initial defaults as per spec. Also make fragment floats have no default. Modify/add tests to adapt to these changes.
|
11 tahun lalu |
John Kessenich
|
2d0f1e5424
Add precision qualifier propagation for swizzling, texture lookups, built-in funtions mapped to operators, comma op, and more robustly propagate for all binary/unary ops.
|
11 tahun lalu |
John Kessenich
|
c2ff7702be
For all keywords already present, get correct when they could be identifiers, are reserved words, or are keywords, for all versions of ESSL and GLSL.
|
11 tahun lalu |
John Kessenich
|
ad3663be1f
Add ES 300 built-ins trunc, round, roundEven, modf, isnan, isinf, floatBitsToInt, floatBitsToUint, intBitsToFloat, uintBitsToFloat, packSnorm2x16, unpackSnorm2x16, packUnorm2x16, unpackUnorm2x16, packHalf2x16, and unpackHalf2x16, and new form of min, max, clamp, and mix.
|
11 tahun lalu |
John Kessenich
|
ebeeece6a7
Add uint type (big change). For both int/uint, add the operators >>, <<, &, |, and ^. Also added unsigned literals and uint precision support. Also fixed how int/uint literal underflow/overflow is handled.
|
11 tahun lalu |
John Kessenich
|
e406f1c71c
Put in basic propagation algorithm for precision qualifiers. Some corner cases are document as TODO.
|
11 tahun lalu |
John Kessenich
|
868933d668
Add precision.frag test.
|
11 tahun lalu |