mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-14 19:31:25 +00:00
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>
50 lines
2.0 KiB
Plaintext
50 lines
2.0 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Google Tint Compiler; 0
|
|
; Bound: 26
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol_1
|
|
OpName %tint_pointsize "tint_pointsize"
|
|
OpName %tint_symbol_1 "tint_symbol_1"
|
|
OpName %VertexOutputs "VertexOutputs"
|
|
OpMemberName %VertexOutputs 0 "position"
|
|
OpName %tint_symbol_2 "tint_symbol_2"
|
|
OpName %tint_symbol "tint_symbol"
|
|
OpName %main "main"
|
|
OpDecorate %tint_pointsize BuiltIn PointSize
|
|
OpDecorate %tint_symbol_1 BuiltIn Position
|
|
OpMemberDecorate %VertexOutputs 0 Offset 0
|
|
%float = OpTypeFloat 32
|
|
%_ptr_Output_float = OpTypePointer Output %float
|
|
%4 = OpConstantNull %float
|
|
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
|
%v4float = OpTypeVector %float 4
|
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
|
%8 = OpConstantNull %v4float
|
|
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
|
%void = OpTypeVoid
|
|
%VertexOutputs = OpTypeStruct %v4float
|
|
%9 = OpTypeFunction %void %VertexOutputs
|
|
%16 = OpTypeFunction %void
|
|
%float_1 = OpConstant %float 1
|
|
%float_2 = OpConstant %float 2
|
|
%float_3 = OpConstant %float 3
|
|
%float_4 = OpConstant %float 4
|
|
%24 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
|
%25 = OpConstantComposite %VertexOutputs %24
|
|
%tint_symbol_2 = OpFunction %void None %9
|
|
%tint_symbol = OpFunctionParameter %VertexOutputs
|
|
%14 = OpLabel
|
|
%15 = OpCompositeExtract %v4float %tint_symbol 0
|
|
OpStore %tint_symbol_1 %15
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%main = OpFunction %void None %16
|
|
%18 = OpLabel
|
|
OpStore %tint_pointsize %float_1
|
|
%20 = OpFunctionCall %void %tint_symbol_2 %25
|
|
OpReturn
|
|
OpFunctionEnd
|