dawn-cmake/test/intrinsics/gen
Ben Clayton 93e8f527ee wgsl: Deprecate [[access]] decorations
Handle access control on var declarations instead of via [[access]]
decorations. This change does the minimal work to migrate the WGSL
parser over to the new syntax. Additional changes will be needed
to correctly generate defaulted access qualifiers, as well as
validating access usage.

The [[access]] decorations are still supported by the WGSL parser,
with new deprecated warnings, but not for aliases. Example:
   var x : [[access(x)]] alias_to_struct;

Making this work is far more effort than I want to dedicate to backwards
compatibility, and I do not beleive any real-world usage will be doing
this.

Still TODO:
* Adding access control as the optional, third parameter to ptr<>.
* Calculating default accesses for the various storage types.
* Validating usage of variables against the different accesses.

Bug: tint:846
Change-Id: If8ca82e5d16ec319ecd01f9a2cafffd930963bde
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53088
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2021-06-04 20:41:47 +00:00
..
abs tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
acos tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
all tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
any tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
arrayLength wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
asin tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
atan tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
atan2 tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
ceil tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
clamp tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
cos tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
cosh tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
countOneBits tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
cross tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
determinant tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
distance tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
dot tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
dpdx [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
dpdxCoarse [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
dpdxFine [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
dpdy [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
dpdyCoarse [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
dpdyFine [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
exp tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
exp2 tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
faceForward tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
floor tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
fma tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
fract tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
frexp tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
fwidth tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
fwidthCoarse tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
fwidthFine tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
inverseSqrt tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
isFinite tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
isInf tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
isNan tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
isNormal tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
ldexp tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
length tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
log tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
log2 tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
max tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
min tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
mix tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
modf tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
normalize tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
pack2x16float tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
pack2x16snorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
pack2x16unorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
pack4x8snorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
pack4x8unorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
pow tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
reflect tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
reverseBits tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
round tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
select tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
sign tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
sin tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
sinh tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
smoothStep tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
sqrt tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
step tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
storageBarrier [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00
tan tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
tanh tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
textureDimensions wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
textureLoad wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
textureNumLayers wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
textureNumLevels tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
textureNumSamples tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
textureSample [writer]: AppendVector() - support zero value vectors 2021-06-03 15:08:14 +00:00
textureSampleBias [writer]: AppendVector() - support zero value vectors 2021-06-03 15:08:14 +00:00
textureSampleCompare [writer]: AppendVector() - support zero value vectors 2021-06-03 15:08:14 +00:00
textureSampleGrad tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
textureSampleLevel tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
textureStore wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
trunc tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
unpack2x16float tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
unpack2x16snorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
unpack2x16unorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
unpack4x8snorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
unpack4x8unorm tools: Return position from generated vertex shaders 2021-06-04 17:31:48 +00:00
workgroupBarrier [tools]: Generate intrinisic test cases 2021-06-03 11:26:17 +00:00