mirror of https://github.com/google/oss-fuzz.git
460 lines
5.1 KiB
Plaintext
460 lines
5.1 KiB
Plaintext
# Adapted from sksl.lex, SkSLBuiltinTypes.cpp, SkSLIntrinsicList.h, and sksl module files
|
|
|
|
# positive float literals
|
|
" 0.1"
|
|
" 1.2"
|
|
" 2.3"
|
|
|
|
# negative float literals
|
|
" -3.4"
|
|
" -4.5"
|
|
" -5.6"
|
|
|
|
# exponential float literals
|
|
" 1e2"
|
|
" 2e3"
|
|
" -3e4"
|
|
" -4e5"
|
|
|
|
# positive int literals
|
|
" 0"
|
|
" 1"
|
|
" 2"
|
|
|
|
# unsigned int literals
|
|
" 3u"
|
|
" 4u"
|
|
|
|
# negative int literals
|
|
" -5"
|
|
" -6"
|
|
|
|
# hexadecimal prefix
|
|
" 0x"
|
|
|
|
# bad octal
|
|
" 08"
|
|
|
|
# unsigned bad octal
|
|
" 09u"
|
|
|
|
# keywords
|
|
" true"
|
|
" false"
|
|
" if ("
|
|
" @if ("
|
|
" else"
|
|
" for ("
|
|
" while ("
|
|
" do {"
|
|
" switch ("
|
|
" @switch ("
|
|
" case"
|
|
" default:"
|
|
" break;"
|
|
" continue;"
|
|
" discard;"
|
|
" return"
|
|
" in"
|
|
" out"
|
|
" inout"
|
|
" uniform"
|
|
" const"
|
|
" flat"
|
|
" noperspective"
|
|
" inline"
|
|
" noinline"
|
|
" sk_has_side_effects"
|
|
" struct"
|
|
" layout ("
|
|
" location="
|
|
" offset="
|
|
" binding="
|
|
" index="
|
|
" set="
|
|
" builtin"
|
|
" input_attachment_index"
|
|
" origin_upper_left"
|
|
" blend_support_all_equations"
|
|
" push_constant"
|
|
" color"
|
|
" highp"
|
|
" mediump"
|
|
" lowp"
|
|
" $es3"
|
|
" main("
|
|
" #extension"
|
|
" : disable"
|
|
" : require"
|
|
" : enable"
|
|
" : warn"
|
|
|
|
# reserved words are all treated the same, and always invalidate the whole
|
|
# program, so we only include a handful of them in the dictionary
|
|
" attribute"
|
|
" varying"
|
|
" precision"
|
|
#"invariant "
|
|
#"asm "
|
|
#"class "
|
|
#"union "
|
|
#"enum "
|
|
#"typedef "
|
|
#"template "
|
|
#"this "
|
|
#"packed "
|
|
#"goto "
|
|
#"volatile "
|
|
#"public "
|
|
#"static "
|
|
#"extern "
|
|
#"external "
|
|
#"interface "
|
|
#"long "
|
|
#"double "
|
|
#"fixed "
|
|
#"unsigned "
|
|
#"superp "
|
|
#"input "
|
|
#"output "
|
|
#"sizeof "
|
|
#"cast "
|
|
#"namespace "
|
|
#"using "
|
|
#"gl_reservedWord "
|
|
|
|
# a selection of swizzles
|
|
".x "
|
|
".xx "
|
|
".xxx "
|
|
".xxxx "
|
|
".y "
|
|
".yy "
|
|
".yyy "
|
|
".yyyy "
|
|
".x0 "
|
|
".x00 "
|
|
".x000 "
|
|
".1y "
|
|
".11y "
|
|
".111y "
|
|
".r "
|
|
".rg "
|
|
".rgb "
|
|
".rgba "
|
|
".abgr "
|
|
".ga "
|
|
".xy01 "
|
|
".1xw0 "
|
|
|
|
# array indexing
|
|
"[0]"
|
|
"[1]"
|
|
"[2]"
|
|
"[3]"
|
|
"[4]"
|
|
"[-1]"
|
|
"[12345]"
|
|
"[-12345]"
|
|
|
|
# symbol tokens
|
|
"("
|
|
")"
|
|
"{"
|
|
"}"
|
|
"["
|
|
"]"
|
|
"."
|
|
","
|
|
"++"
|
|
"--"
|
|
"+"
|
|
"-"
|
|
"*"
|
|
"/"
|
|
"%"
|
|
"<<"
|
|
">>"
|
|
"|"
|
|
"^"
|
|
"&"
|
|
"~"
|
|
"||"
|
|
"^^"
|
|
"&&"
|
|
"!"
|
|
"?"
|
|
":"
|
|
"="
|
|
"=="
|
|
"!="
|
|
">"
|
|
"<"
|
|
">="
|
|
"<="
|
|
"+="
|
|
"-="
|
|
"*="
|
|
"/="
|
|
"%="
|
|
"<<="
|
|
">>="
|
|
"|="
|
|
"^="
|
|
"&="
|
|
";"
|
|
"//"
|
|
"/*"
|
|
"*/"
|
|
|
|
# types
|
|
" void"
|
|
" float"
|
|
" float2"
|
|
" float3"
|
|
" float4"
|
|
" vec2"
|
|
" vec3"
|
|
" vec4"
|
|
" half"
|
|
" half2"
|
|
" half3"
|
|
" half4"
|
|
" int"
|
|
" int2"
|
|
" int3"
|
|
" int4"
|
|
" uint"
|
|
" uint2"
|
|
" uint3"
|
|
" uint4"
|
|
" short"
|
|
" short2"
|
|
" short3"
|
|
" short4"
|
|
" ushort"
|
|
" ushort2"
|
|
" ushort3"
|
|
" ushort4"
|
|
" bool"
|
|
" bool2"
|
|
" bool3"
|
|
" bool4"
|
|
" $floatLiteral"
|
|
" $intLiteral"
|
|
" float2x2"
|
|
" float3x2"
|
|
" float4x2"
|
|
" float2x3"
|
|
" float3x3"
|
|
" float4x3"
|
|
" float2x4"
|
|
" float3x4"
|
|
" float4x4"
|
|
" half2x2"
|
|
" half3x2"
|
|
" half4x2"
|
|
" half2x3"
|
|
" half3x3"
|
|
" half4x3"
|
|
" half2x4"
|
|
" half3x4"
|
|
" half4x4"
|
|
" mat2"
|
|
" mat3"
|
|
" mat4"
|
|
" mat2x2"
|
|
" mat3x2"
|
|
" mat4x2"
|
|
" mat2x3"
|
|
" mat3x3"
|
|
" mat4x3"
|
|
" mat2x4"
|
|
" mat3x4"
|
|
" mat4x4"
|
|
" colorFilter"
|
|
" shader"
|
|
" blender"
|
|
|
|
# types that aren't accepted in a runtime effect; skip most of them
|
|
" texture2D"
|
|
" sampler2D"
|
|
" sampler"
|
|
#" texture1D"
|
|
#" texture3D"
|
|
#" textureExternalOES"
|
|
#" texture2DRect"
|
|
#" itexture2D"
|
|
#" sampler1D"
|
|
#" sampler3D"
|
|
#" samplerExternalOES"
|
|
#" sampler2DRect"
|
|
#" isampler2D"
|
|
#" subpassInput"
|
|
#" subpassInputMS"
|
|
#" subpassInputMS"
|
|
|
|
# generic types shouldn't be accepted; skip most of them
|
|
" $genType"
|
|
" $sk_Caps"
|
|
#" $genHType"
|
|
#" $genIType"
|
|
#" $genUType"
|
|
#" $genBType"
|
|
#" $mat"
|
|
#" $hmat"
|
|
#" $squareMat"
|
|
#" $squareHMat"
|
|
#" $vec"
|
|
#" $hvec"
|
|
#" $ivec"
|
|
#" $uvec"
|
|
#" $svec"
|
|
#" $usvec"
|
|
#" $bvec"
|
|
|
|
# sksl_frag
|
|
" sk_FragCoord"
|
|
" sk_Clockwise"
|
|
" sk_FragColor"
|
|
" sk_LastFragColor"
|
|
" sk_SecondaryFragColor"
|
|
|
|
# sksl_gpu
|
|
" blend_clear("
|
|
" blend_src("
|
|
" blend_dst("
|
|
" blend_src_over("
|
|
" blend_dst_over("
|
|
" blend_src_in("
|
|
" blend_dst_in("
|
|
" blend_src_out("
|
|
" blend_dst_out("
|
|
" blend_src_atop("
|
|
" blend_dst_atop("
|
|
" blend_xor("
|
|
" blend_plus("
|
|
" blend_modulate("
|
|
" blend_screen("
|
|
" blend_overlay("
|
|
" blend_darken("
|
|
" blend_lighten("
|
|
" blend_color_dodge("
|
|
" blend_color_burn("
|
|
" blend_hard_light("
|
|
" blend_soft_light("
|
|
" blend_difference("
|
|
" blend_exclusion("
|
|
" blend_multiply("
|
|
" blend_hue("
|
|
" blend_saturation("
|
|
" blend_color("
|
|
" blend_luminosity("
|
|
" unpremul("
|
|
" proj("
|
|
" cross_length_2d("
|
|
|
|
# sksl_public
|
|
".eval("
|
|
|
|
# sksl_vert
|
|
" sk_PerVertex"
|
|
" sk_VertexID"
|
|
" sk_InstanceID"
|
|
|
|
# SkSLIntrinsicList
|
|
" abs("
|
|
" acosh("
|
|
" acos("
|
|
" all("
|
|
" any("
|
|
" asinh("
|
|
" asin("
|
|
" atanh("
|
|
" atan("
|
|
" bitCount("
|
|
" ceil("
|
|
" clamp("
|
|
" cosh("
|
|
" cos("
|
|
" cross("
|
|
" degrees("
|
|
" determinant("
|
|
" dFdx("
|
|
" dFdy("
|
|
" distance("
|
|
" dot("
|
|
" equal("
|
|
" eval("
|
|
" exp2("
|
|
" exp("
|
|
" faceforward("
|
|
" findLSB("
|
|
" findMSB("
|
|
" floatBitsToInt("
|
|
" floatBitsToUint("
|
|
" floor("
|
|
" fma("
|
|
" fract("
|
|
" frexp("
|
|
" fwidth("
|
|
" greaterThanEqual("
|
|
" greaterThan("
|
|
" intBitsToFloat("
|
|
" inversesqrt("
|
|
" inverse("
|
|
" isinf("
|
|
" isnan("
|
|
" ldexp("
|
|
" length("
|
|
" lessThanEqual("
|
|
" lessThan("
|
|
" log2("
|
|
" log("
|
|
" makeSampler2D("
|
|
" matrixCompMult("
|
|
" matrixInverse("
|
|
" max("
|
|
" min("
|
|
" mix("
|
|
" modf("
|
|
" mod("
|
|
" normalize("
|
|
" notEqual("
|
|
" not ("
|
|
" outerProduct("
|
|
" packDouble2x32("
|
|
" packHalf2x16("
|
|
" packSnorm2x16("
|
|
" packSnorm4x8("
|
|
" packUnorm2x16("
|
|
" packUnorm4x8("
|
|
" pow("
|
|
" radians("
|
|
" reflect("
|
|
" refract("
|
|
" roundEven("
|
|
" round("
|
|
" sample("
|
|
" saturate("
|
|
" sign("
|
|
" sinh("
|
|
" sin("
|
|
" smoothstep("
|
|
" sqrt("
|
|
" step("
|
|
" subpassLoad("
|
|
" tanh("
|
|
" tan("
|
|
" transpose("
|
|
" trunc("
|
|
" uintBitsToFloat("
|
|
" unpackDouble2x32("
|
|
" unpackHalf2x16("
|
|
" unpackSnorm2x16("
|
|
" unpackSnorm4x8("
|
|
" unpackUnorm2x16("
|
|
" unpackUnorm4x8("
|
|
" toLinearSrgb("
|
|
" fromLinearSrgb("
|