dawn-cmake/test
Stephen White a924ffe70c GLSL: fix sample_index, sample_mask and bitcasts
In GLSL, gl_SampleID and gl_SampleMask[In] require the
GL_OES_sample_variables extension, so output:

"#extension GL_OES_sample_variables : require"

in the header if those builtins is used.

Note that extensions must be inserted before the default precision
declaration, but helpers must be inserted after it, so we set a flag
and emit extensions, then the precision declaration, then helpers.

Further fixes:
- use gl_SampleMaskIn for input builtins, gl_SampleMask for output,
  necessitating the addition of a storage class to GLSLBuiltinToString()
- fix the handling of gl_SampleMaskIn: it's array<i32> in GLSL, not
  array<u32> as in SPIR-V
- centralize conversions for GLSL builtins used as input variables in
  FromGLSLBuiltin()
- implement bitcasts on assignment to GLSL builtin output variables,
  centralized in ToGLSLBuiltin()
- update the extension handling in the GLSL writer to check for both
  sample_index and sample_mask.
- call UnwrapRef() in GLSL's EmitBitcast(). In the test case, we were
  not recognizing the argument as a uint, yielding float() instead of
  uintBitsToFloat().

Bug: tint:1408, tint:1412, tint:1414

Change-Id: Ie01541eb6e7cdf4e21347341f988bff916346797
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/78920
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2022-02-04 16:41:33 +00:00
..
access GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
array reader/spirv: Decompose arrays with strides 2022-02-04 15:39:34 +00:00
benchmark GLSL: fix textureLoad() and textureStore(), depth textures, and more. 2022-02-03 22:39:13 +00:00
buffer GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
bug GLSL: fix sample_index, sample_mask and bitcasts 2022-02-04 16:41:33 +00:00
builtins GLSL: fix textureLoad() and textureStore(), depth textures, and more. 2022-02-03 22:39:13 +00:00
expressions GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
identifiers/underscore GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
layout/storage/mat2x2 reader/spirv: Decompose arrays with strides 2022-02-04 15:39:34 +00:00
let GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
loops GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
ptr_ref reader/spirv: Always run the cleanup transforms 2022-02-01 09:09:12 +00:00
samples GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
shader_io GLSL: fix sample_index, sample_mask and bitcasts 2022-02-04 16:41:33 +00:00
shadowing GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
statements Fix PromoteSideEffectsToDeclTest converting for loop to loop with nested hoisted lets 2022-02-02 14:33:32 +00:00
struct GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
types GLSL: fix textureLoad() and textureStore(), depth textures, and more. 2022-02-03 22:39:13 +00:00
unittest/reader/spirv GLSL: fix sample_index, sample_mask and bitcasts 2022-02-04 16:41:33 +00:00
var GLSL: move entry point handling to CanonicalizeEntryPointIO transform. 2022-01-28 22:36:58 +00:00
vk-gl-cts Rename 'intrinsic' to 'builtin' 2022-02-02 23:07:11 +00:00
BUILD.gn reader/spirv: Decompose arrays with strides 2022-02-04 15:39:34 +00:00
extract-spvasm.py Add --dump-spirv option to tint_unittests 2021-05-05 09:46:31 +00:00
test-all.sh main: Replace --dawn-validation with --validate 2021-06-02 21:02:34 +00:00