33fb008669
Because SkSL is much more permissive than GLSL about literal types, we don't actually need to treat values any differently when the `u` suffix is added. That is, `uint x = 4000000000;` already worked fine. When we encounter the `u`, we just ignore it. This also means that a literal like `-100u` would be accepted without complaint (although you'd get a range error if you tried `uint x = -100u;`). The value-add here is that it removes a speed bump when porting GLSL code to SkSL. The Filament example shader used the `u` suffix anywhere that bitwise ops were present; finding and removing all of them was a chore. Also of note: the `u` suffix was only added to GLSL in ES3, but we "support" it everywhere. (We could go out of our way to detect it in ES2 and flag an error, but that benefits no one.) Change-Id: I4bf643612c8cf17710e9bad50a0c16f5936bbe88 Bug: skia:12634 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/471756 Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
16 lines
253 B
Plaintext
16 lines
253 B
Plaintext
uniform half4 colorGreen;
|
|
|
|
half4 main(float2 coords) {
|
|
uint u1 = 0x0;
|
|
u1++;
|
|
uint u2 = 0X1234abcdu;
|
|
u2++;
|
|
uint u3 = 0x7ffffffeU;
|
|
u3++;
|
|
uint u4 = 0Xfffffffe;
|
|
u4++;
|
|
ushort u5 = 0xfffe;
|
|
u5++;
|
|
return colorGreen;
|
|
}
|