dawn-cmake/test/shader_io/fragment_output_builtins.wgsl.expected.spvasm
James Price bb0496e52a test: Add E2E test coverage for shader IO
This provides much more complete coverage than what we have in the
unit tests. We now test:
- All builtins, for all stages, both struct and non-struct
- Multiple location attributes for vertex and fragment stages, both
  struct and non-struct
- Mixing builtins and location attributes, whilst mixing struct and
  non-struct
- A few "interesting" cases of IO structs being shared between
  different functions, stages, and with an SSBO variable

There are 7 skipped tests for MSL due to two different MSL bugs which
will be fixed in upcoming patches.

Change-Id: I8b802591762c8ff018e01bf37838551e353162b1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53120
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: James Price <jrprice@google.com>
2021-06-03 09:38:34 +00:00

65 lines
2.6 KiB
Plaintext

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 32
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main1 "main1" %tint_symbol_1
OpEntryPoint Fragment %main2 "main2" %tint_symbol_4
OpExecutionMode %main1 OriginUpperLeft
OpExecutionMode %main1 DepthReplacing
OpExecutionMode %main2 OriginUpperLeft
OpName %tint_symbol_1 "tint_symbol_1"
OpName %tint_symbol_4 "tint_symbol_4"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %main1 "main1"
OpName %tint_symbol_5 "tint_symbol_5"
OpName %tint_symbol_3 "tint_symbol_3"
OpName %main2 "main2"
OpDecorate %tint_symbol_1 BuiltIn FragDepth
OpDecorate %_arr_uint_uint_1 ArrayStride 4
OpDecorate %tint_symbol_4 BuiltIn SampleMask
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_symbol_1 = OpVariable %_ptr_Output_float Output %4
%uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1
%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
%_ptr_Output__arr_uint_uint_1 = OpTypePointer Output %_arr_uint_uint_1
%10 = OpConstantNull %_arr_uint_uint_1
%tint_symbol_4 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %10
%void = OpTypeVoid
%11 = OpTypeFunction %void %float
%16 = OpTypeFunction %void
%float_1 = OpConstant %float 1
%21 = OpTypeFunction %void %uint
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%_ptr_Output_uint = OpTypePointer Output %uint
%tint_symbol_2 = OpFunction %void None %11
%tint_symbol = OpFunctionParameter %float
%15 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%main1 = OpFunction %void None %16
%18 = OpLabel
%19 = OpFunctionCall %void %tint_symbol_2 %float_1
OpReturn
OpFunctionEnd
%tint_symbol_5 = OpFunction %void None %21
%tint_symbol_3 = OpFunctionParameter %uint
%24 = OpLabel
%28 = OpAccessChain %_ptr_Output_uint %tint_symbol_4 %int_0
OpStore %28 %tint_symbol_3
OpReturn
OpFunctionEnd
%main2 = OpFunction %void None %16
%30 = OpLabel
%31 = OpFunctionCall %void %tint_symbol_5 %uint_1
OpReturn
OpFunctionEnd