mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 05:27:49 +00:00
spirv: Use generic transform to process shader IO
The refactored CanonicalizeEntryPointIO transform makes it much easier to handle SPIR-V style IO as well, and doing this removes a lot of duplicated code. Remove all of the SPIR-V transform code for shader IO and vertex point size. Bug: tint:920 Change-Id: Id1b97517619b4d2fd09b45d5aee848259f3dfa77 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60840 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: James Price <jrprice@google.com> Auto-Submit: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
committed by
Tint LUCI CQ
parent
11e172ab64
commit
11c6fcdb51
@@ -1,43 +1,57 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 24
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint GLCompute %main "main" %local_invocation_id_1 %local_invocation_index_1 %global_invocation_id_1 %workgroup_id_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %local_invocation_id_1 "local_invocation_id_1"
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %global_invocation_id_1 "global_invocation_id_1"
|
||||
OpName %workgroup_id_1 "workgroup_id_1"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %local_invocation_id "local_invocation_id"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %global_invocation_id "global_invocation_id"
|
||||
OpName %workgroup_id "workgroup_id"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationId
|
||||
OpDecorate %tint_symbol_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %tint_symbol_2 BuiltIn GlobalInvocationId
|
||||
OpDecorate %tint_symbol_3 BuiltIn WorkgroupId
|
||||
OpDecorate %local_invocation_id_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %global_invocation_id_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %workgroup_id_1 BuiltIn WorkgroupId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%local_invocation_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_v3uint Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v3uint Input
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%global_invocation_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%workgroup_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%main = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%14 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%15 = OpLoad %uint %14
|
||||
%16 = OpLoad %uint %tint_symbol_1
|
||||
%17 = OpIAdd %uint %15 %16
|
||||
%18 = OpAccessChain %_ptr_Input_uint %tint_symbol_2 %uint_0
|
||||
%19 = OpLoad %uint %18
|
||||
%20 = OpIAdd %uint %17 %19
|
||||
%21 = OpAccessChain %_ptr_Input_uint %tint_symbol_3 %uint_0
|
||||
%22 = OpLoad %uint %21
|
||||
%23 = OpIAdd %uint %20 %22
|
||||
%9 = OpTypeFunction %void %v3uint %uint %v3uint %v3uint
|
||||
%23 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %9
|
||||
%local_invocation_id = OpFunctionParameter %v3uint
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%global_invocation_id = OpFunctionParameter %v3uint
|
||||
%workgroup_id = OpFunctionParameter %v3uint
|
||||
%16 = OpLabel
|
||||
%17 = OpCompositeExtract %uint %local_invocation_id 0
|
||||
%18 = OpIAdd %uint %17 %local_invocation_index
|
||||
%19 = OpCompositeExtract %uint %global_invocation_id 0
|
||||
%20 = OpIAdd %uint %18 %19
|
||||
%21 = OpCompositeExtract %uint %workgroup_id 0
|
||||
%22 = OpIAdd %uint %20 %21
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %23
|
||||
%25 = OpLabel
|
||||
%27 = OpLoad %v3uint %local_invocation_id_1
|
||||
%28 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpLoad %v3uint %global_invocation_id_1
|
||||
%30 = OpLoad %v3uint %workgroup_id_1
|
||||
%26 = OpFunctionCall %void %main_inner %27 %28 %29 %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 29
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint GLCompute %main "main" %local_invocation_id_1 %local_invocation_index_1 %global_invocation_id_1 %workgroup_id_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %main "main"
|
||||
OpName %local_invocation_id_1 "local_invocation_id_1"
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %global_invocation_id_1 "global_invocation_id_1"
|
||||
OpName %workgroup_id_1 "workgroup_id_1"
|
||||
OpName %ComputeInputs "ComputeInputs"
|
||||
OpMemberName %ComputeInputs 0 "local_invocation_id"
|
||||
OpMemberName %ComputeInputs 1 "local_invocation_index"
|
||||
OpMemberName %ComputeInputs 2 "global_invocation_id"
|
||||
OpMemberName %ComputeInputs 3 "workgroup_id"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationId
|
||||
OpDecorate %tint_symbol_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %tint_symbol_2 BuiltIn GlobalInvocationId
|
||||
OpDecorate %tint_symbol_3 BuiltIn WorkgroupId
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs "inputs"
|
||||
OpName %main "main"
|
||||
OpDecorate %local_invocation_id_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %global_invocation_id_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %workgroup_id_1 BuiltIn WorkgroupId
|
||||
OpMemberDecorate %ComputeInputs 0 Offset 0
|
||||
OpMemberDecorate %ComputeInputs 1 Offset 12
|
||||
OpMemberDecorate %ComputeInputs 2 Offset 16
|
||||
@@ -28,30 +30,37 @@
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%local_invocation_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_v3uint Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v3uint Input
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%global_invocation_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%workgroup_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%ComputeInputs = OpTypeStruct %v3uint %uint %v3uint %v3uint
|
||||
%main = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%14 = OpLoad %v3uint %tint_symbol
|
||||
%15 = OpLoad %uint %tint_symbol_1
|
||||
%16 = OpLoad %v3uint %tint_symbol_2
|
||||
%17 = OpLoad %v3uint %tint_symbol_3
|
||||
%18 = OpCompositeConstruct %ComputeInputs %14 %15 %16 %17
|
||||
%19 = OpCompositeExtract %v3uint %18 0
|
||||
%9 = OpTypeFunction %void %ComputeInputs
|
||||
%25 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %9
|
||||
%inputs = OpFunctionParameter %ComputeInputs
|
||||
%14 = OpLabel
|
||||
%15 = OpCompositeExtract %v3uint %inputs 0
|
||||
%16 = OpCompositeExtract %uint %15 0
|
||||
%17 = OpCompositeExtract %uint %inputs 1
|
||||
%18 = OpIAdd %uint %16 %17
|
||||
%19 = OpCompositeExtract %v3uint %inputs 2
|
||||
%20 = OpCompositeExtract %uint %19 0
|
||||
%21 = OpCompositeExtract %uint %18 1
|
||||
%22 = OpIAdd %uint %20 %21
|
||||
%23 = OpCompositeExtract %v3uint %18 2
|
||||
%24 = OpCompositeExtract %uint %23 0
|
||||
%25 = OpIAdd %uint %22 %24
|
||||
%26 = OpCompositeExtract %v3uint %18 3
|
||||
%27 = OpCompositeExtract %uint %26 0
|
||||
%28 = OpIAdd %uint %25 %27
|
||||
%21 = OpIAdd %uint %18 %20
|
||||
%22 = OpCompositeExtract %v3uint %inputs 3
|
||||
%23 = OpCompositeExtract %uint %22 0
|
||||
%24 = OpIAdd %uint %21 %23
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %25
|
||||
%27 = OpLabel
|
||||
%29 = OpLoad %v3uint %local_invocation_id_1
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%31 = OpLoad %v3uint %global_invocation_id_1
|
||||
%32 = OpLoad %v3uint %workgroup_id_1
|
||||
%33 = OpCompositeConstruct %ComputeInputs %29 %30 %31 %32
|
||||
%28 = OpFunctionCall %void %main_inner %33
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,55 +1,69 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 30
|
||||
; Bound: 37
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol %tint_symbol_4 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint GLCompute %main "main" %local_invocation_id_1 %local_invocation_index_1 %global_invocation_id_1 %workgroup_id_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %main "main"
|
||||
OpName %local_invocation_id_1 "local_invocation_id_1"
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %global_invocation_id_1 "global_invocation_id_1"
|
||||
OpName %workgroup_id_1 "workgroup_id_1"
|
||||
OpName %ComputeInputs0 "ComputeInputs0"
|
||||
OpMemberName %ComputeInputs0 0 "local_invocation_id"
|
||||
OpName %ComputeInputs1 "ComputeInputs1"
|
||||
OpMemberName %ComputeInputs1 0 "workgroup_id"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationId
|
||||
OpDecorate %tint_symbol_2 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %tint_symbol_3 BuiltIn GlobalInvocationId
|
||||
OpDecorate %tint_symbol_4 BuiltIn WorkgroupId
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs0 "inputs0"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %global_invocation_id "global_invocation_id"
|
||||
OpName %inputs1 "inputs1"
|
||||
OpName %main "main"
|
||||
OpDecorate %local_invocation_id_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %global_invocation_id_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %workgroup_id_1 BuiltIn WorkgroupId
|
||||
OpMemberDecorate %ComputeInputs0 0 Offset 0
|
||||
OpMemberDecorate %ComputeInputs1 0 Offset 0
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%local_invocation_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v3uint Input
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_v3uint Input
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%global_invocation_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%workgroup_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%ComputeInputs0 = OpTypeStruct %v3uint
|
||||
%ComputeInputs1 = OpTypeStruct %v3uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%main = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%14 = OpLoad %v3uint %tint_symbol
|
||||
%15 = OpCompositeConstruct %ComputeInputs0 %14
|
||||
%17 = OpLoad %v3uint %tint_symbol_4
|
||||
%18 = OpCompositeConstruct %ComputeInputs1 %17
|
||||
%19 = OpCompositeExtract %v3uint %15 0
|
||||
%9 = OpTypeFunction %void %ComputeInputs0 %uint %v3uint %ComputeInputs1
|
||||
%27 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %9
|
||||
%inputs0 = OpFunctionParameter %ComputeInputs0
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%global_invocation_id = OpFunctionParameter %v3uint
|
||||
%inputs1 = OpFunctionParameter %ComputeInputs1
|
||||
%18 = OpLabel
|
||||
%19 = OpCompositeExtract %v3uint %inputs0 0
|
||||
%20 = OpCompositeExtract %uint %19 0
|
||||
%21 = OpLoad %uint %tint_symbol_2
|
||||
%22 = OpIAdd %uint %20 %21
|
||||
%24 = OpAccessChain %_ptr_Input_uint %tint_symbol_3 %uint_0
|
||||
%25 = OpLoad %uint %24
|
||||
%26 = OpIAdd %uint %22 %25
|
||||
%27 = OpCompositeExtract %v3uint %18 0
|
||||
%28 = OpCompositeExtract %uint %27 0
|
||||
%29 = OpIAdd %uint %26 %28
|
||||
%21 = OpIAdd %uint %20 %local_invocation_index
|
||||
%22 = OpCompositeExtract %uint %global_invocation_id 0
|
||||
%23 = OpIAdd %uint %21 %22
|
||||
%24 = OpCompositeExtract %v3uint %inputs1 0
|
||||
%25 = OpCompositeExtract %uint %24 0
|
||||
%26 = OpIAdd %uint %23 %25
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %27
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %v3uint %local_invocation_id_1
|
||||
%32 = OpCompositeConstruct %ComputeInputs0 %31
|
||||
%33 = OpLoad %uint %local_invocation_index_1
|
||||
%34 = OpLoad %v3uint %global_invocation_id_1
|
||||
%35 = OpLoad %v3uint %workgroup_id_1
|
||||
%36 = OpCompositeConstruct %ComputeInputs1 %35
|
||||
%30 = OpFunctionCall %void %main_inner %32 %33 %34 %36
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,53 +1,68 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 29
|
||||
; Bound: 37
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1 %tint_symbol %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint Fragment %main "main" %position_1 %front_facing_1 %sample_index_1 %sample_mask_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %position_1 "position_1"
|
||||
OpName %front_facing_1 "front_facing_1"
|
||||
OpName %sample_index_1 "sample_index_1"
|
||||
OpName %sample_mask_1 "sample_mask_1"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %position "position"
|
||||
OpName %front_facing "front_facing"
|
||||
OpName %sample_index "sample_index"
|
||||
OpName %sample_mask "sample_mask"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol BuiltIn FragCoord
|
||||
OpDecorate %tint_symbol_1 BuiltIn FrontFacing
|
||||
OpDecorate %tint_symbol_2 BuiltIn SampleId
|
||||
OpDecorate %position_1 BuiltIn FragCoord
|
||||
OpDecorate %front_facing_1 BuiltIn FrontFacing
|
||||
OpDecorate %sample_index_1 BuiltIn SampleId
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_3 BuiltIn SampleMask
|
||||
OpDecorate %sample_mask_1 BuiltIn SampleMask
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v4float Input
|
||||
%position_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Input_bool = OpTypePointer Input %bool
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_bool Input
|
||||
%front_facing_1 = OpVariable %_ptr_Input_bool Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_uint Input
|
||||
%sample_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
|
||||
%_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%sample_mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%void = OpTypeVoid
|
||||
%15 = OpTypeFunction %void
|
||||
%15 = OpTypeFunction %void %v4float %bool %uint %uint
|
||||
%26 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%main = OpFunction %void None %15
|
||||
%18 = OpLabel
|
||||
%19 = OpLoad %bool %tint_symbol_1
|
||||
OpSelectionMerge %20 None
|
||||
OpBranchConditional %19 %21 %20
|
||||
%21 = OpLabel
|
||||
%22 = OpLoad %v4float %tint_symbol
|
||||
%23 = OpLoad %uint %tint_symbol_2
|
||||
%26 = OpAccessChain %_ptr_Input_uint %tint_symbol_3 %int_0
|
||||
%27 = OpLoad %uint %26
|
||||
%28 = OpIAdd %uint %23 %27
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
%main_inner = OpFunction %void None %15
|
||||
%position = OpFunctionParameter %v4float
|
||||
%front_facing = OpFunctionParameter %bool
|
||||
%sample_index = OpFunctionParameter %uint
|
||||
%sample_mask = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpSelectionMerge %23 None
|
||||
OpBranchConditional %front_facing %24 %23
|
||||
%24 = OpLabel
|
||||
%25 = OpIAdd %uint %sample_index %sample_mask
|
||||
OpBranch %23
|
||||
%23 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %26
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %v4float %position_1
|
||||
%31 = OpLoad %bool %front_facing_1
|
||||
%32 = OpLoad %uint %sample_index_1
|
||||
%35 = OpAccessChain %_ptr_Input_uint %sample_mask_1 %int_0
|
||||
%36 = OpLoad %uint %35
|
||||
%29 = OpFunctionCall %void %main_inner %30 %31 %32 %36
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,28 +1,30 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 40
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint Fragment %main "main" %position_1 %front_facing_1 %sample_index_1 %sample_mask_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %main "main"
|
||||
OpName %position_1 "position_1"
|
||||
OpName %front_facing_1 "front_facing_1"
|
||||
OpName %sample_index_1 "sample_index_1"
|
||||
OpName %sample_mask_1 "sample_mask_1"
|
||||
OpName %FragmentInputs "FragmentInputs"
|
||||
OpMemberName %FragmentInputs 0 "position"
|
||||
OpMemberName %FragmentInputs 1 "front_facing"
|
||||
OpMemberName %FragmentInputs 2 "sample_index"
|
||||
OpMemberName %FragmentInputs 3 "sample_mask"
|
||||
OpDecorate %tint_symbol BuiltIn FragCoord
|
||||
OpDecorate %tint_symbol_1 BuiltIn FrontFacing
|
||||
OpDecorate %tint_symbol_2 BuiltIn SampleId
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs "inputs"
|
||||
OpName %main "main"
|
||||
OpDecorate %position_1 BuiltIn FragCoord
|
||||
OpDecorate %front_facing_1 BuiltIn FrontFacing
|
||||
OpDecorate %sample_index_1 BuiltIn SampleId
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_3 BuiltIn SampleMask
|
||||
OpDecorate %sample_mask_1 BuiltIn SampleMask
|
||||
OpMemberDecorate %FragmentInputs 0 Offset 0
|
||||
OpMemberDecorate %FragmentInputs 1 Offset 16
|
||||
OpMemberDecorate %FragmentInputs 2 Offset 20
|
||||
@@ -30,39 +32,46 @@
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v4float Input
|
||||
%position_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Input_bool = OpTypePointer Input %bool
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_bool Input
|
||||
%front_facing_1 = OpVariable %_ptr_Input_bool Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_uint Input
|
||||
%sample_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
|
||||
%_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%sample_mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%void = OpTypeVoid
|
||||
%15 = OpTypeFunction %void
|
||||
%FragmentInputs = OpTypeStruct %v4float %bool %uint %uint
|
||||
%15 = OpTypeFunction %void %FragmentInputs
|
||||
%28 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%main = OpFunction %void None %15
|
||||
%18 = OpLabel
|
||||
%20 = OpLoad %v4float %tint_symbol
|
||||
%21 = OpLoad %bool %tint_symbol_1
|
||||
%22 = OpLoad %uint %tint_symbol_2
|
||||
%25 = OpAccessChain %_ptr_Input_uint %tint_symbol_3 %int_0
|
||||
%26 = OpLoad %uint %25
|
||||
%27 = OpCompositeConstruct %FragmentInputs %20 %21 %22 %26
|
||||
%28 = OpCompositeExtract %bool %27 1
|
||||
OpSelectionMerge %29 None
|
||||
OpBranchConditional %28 %30 %29
|
||||
%30 = OpLabel
|
||||
%31 = OpCompositeExtract %v4float %27 0
|
||||
%32 = OpCompositeExtract %uint %27 2
|
||||
%33 = OpCompositeExtract %uint %27 3
|
||||
%34 = OpIAdd %uint %32 %33
|
||||
OpBranch %29
|
||||
%29 = OpLabel
|
||||
%main_inner = OpFunction %void None %15
|
||||
%inputs = OpFunctionParameter %FragmentInputs
|
||||
%20 = OpLabel
|
||||
%21 = OpCompositeExtract %bool %inputs 1
|
||||
OpSelectionMerge %22 None
|
||||
OpBranchConditional %21 %23 %22
|
||||
%23 = OpLabel
|
||||
%24 = OpCompositeExtract %v4float %inputs 0
|
||||
%25 = OpCompositeExtract %uint %inputs 2
|
||||
%26 = OpCompositeExtract %uint %inputs 3
|
||||
%27 = OpIAdd %uint %25 %26
|
||||
OpBranch %22
|
||||
%22 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %28
|
||||
%30 = OpLabel
|
||||
%32 = OpLoad %v4float %position_1
|
||||
%33 = OpLoad %bool %front_facing_1
|
||||
%34 = OpLoad %uint %sample_index_1
|
||||
%37 = OpAccessChain %_ptr_Input_uint %sample_mask_1 %int_0
|
||||
%38 = OpLoad %uint %37
|
||||
%39 = OpCompositeConstruct %FragmentInputs %32 %33 %34 %38
|
||||
%31 = OpFunctionCall %void %main_inner %39
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,42 +1,57 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 21
|
||||
; Bound: 29
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint Fragment %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %loc0 "loc0"
|
||||
OpName %loc1 "loc1"
|
||||
OpName %loc2 "loc2"
|
||||
OpName %loc3 "loc3"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol Flat
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc0_1 Flat
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc1_1 Flat
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol = OpVariable %_ptr_Input_int Input
|
||||
%loc0_1 = OpVariable %_ptr_Input_int Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%loc1_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_float Input
|
||||
%loc2_1 = OpVariable %_ptr_Input_float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v4float Input
|
||||
%loc3_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void
|
||||
%main = OpFunction %void None %13
|
||||
%16 = OpLabel
|
||||
%17 = OpLoad %int %tint_symbol
|
||||
%18 = OpLoad %uint %tint_symbol_1
|
||||
%19 = OpLoad %float %tint_symbol_2
|
||||
%20 = OpLoad %v4float %tint_symbol_3
|
||||
%13 = OpTypeFunction %void %int %uint %float %v4float
|
||||
%21 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %13
|
||||
%loc0 = OpFunctionParameter %int
|
||||
%loc1 = OpFunctionParameter %uint
|
||||
%loc2 = OpFunctionParameter %float
|
||||
%loc3 = OpFunctionParameter %v4float
|
||||
%20 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %21
|
||||
%23 = OpLabel
|
||||
%25 = OpLoad %int %loc0_1
|
||||
%26 = OpLoad %uint %loc1_1
|
||||
%27 = OpLoad %float %loc2_1
|
||||
%28 = OpLoad %v4float %loc3_1
|
||||
%24 = OpFunctionCall %void %main_inner %25 %26 %27 %28
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,57 +1,66 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 27
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint Fragment %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %main "main"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %FragmentInputs "FragmentInputs"
|
||||
OpMemberName %FragmentInputs 0 "loc0"
|
||||
OpMemberName %FragmentInputs 1 "loc1"
|
||||
OpMemberName %FragmentInputs 2 "loc2"
|
||||
OpMemberName %FragmentInputs 3 "loc3"
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol Flat
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs "inputs"
|
||||
OpName %main "main"
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc0_1 Flat
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc1_1 Flat
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpMemberDecorate %FragmentInputs 0 Offset 0
|
||||
OpMemberDecorate %FragmentInputs 1 Offset 4
|
||||
OpMemberDecorate %FragmentInputs 2 Offset 8
|
||||
OpMemberDecorate %FragmentInputs 3 Offset 16
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol = OpVariable %_ptr_Input_int Input
|
||||
%loc0_1 = OpVariable %_ptr_Input_int Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%loc1_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_float Input
|
||||
%loc2_1 = OpVariable %_ptr_Input_float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v4float Input
|
||||
%loc3_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void
|
||||
%FragmentInputs = OpTypeStruct %int %uint %float %v4float
|
||||
%main = OpFunction %void None %13
|
||||
%16 = OpLabel
|
||||
%18 = OpLoad %int %tint_symbol
|
||||
%19 = OpLoad %uint %tint_symbol_1
|
||||
%20 = OpLoad %float %tint_symbol_2
|
||||
%21 = OpLoad %v4float %tint_symbol_3
|
||||
%22 = OpCompositeConstruct %FragmentInputs %18 %19 %20 %21
|
||||
%23 = OpCompositeExtract %int %22 0
|
||||
%24 = OpCompositeExtract %uint %22 1
|
||||
%25 = OpCompositeExtract %float %22 2
|
||||
%26 = OpCompositeExtract %v4float %22 3
|
||||
%13 = OpTypeFunction %void %FragmentInputs
|
||||
%23 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %13
|
||||
%inputs = OpFunctionParameter %FragmentInputs
|
||||
%18 = OpLabel
|
||||
%19 = OpCompositeExtract %int %inputs 0
|
||||
%20 = OpCompositeExtract %uint %inputs 1
|
||||
%21 = OpCompositeExtract %float %inputs 2
|
||||
%22 = OpCompositeExtract %v4float %inputs 3
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %23
|
||||
%25 = OpLabel
|
||||
%27 = OpLoad %int %loc0_1
|
||||
%28 = OpLoad %uint %loc1_1
|
||||
%29 = OpLoad %float %loc2_1
|
||||
%30 = OpLoad %v4float %loc3_1
|
||||
%31 = OpCompositeConstruct %FragmentInputs %27 %28 %29 %30
|
||||
%26 = OpFunctionCall %void %main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,39 +1,46 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 47
|
||||
; Bound: 57
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_6 %tint_symbol_7 %tint_symbol_3 %tint_symbol_5 %tint_symbol_4 %tint_symbol_9
|
||||
OpEntryPoint Fragment %main "main" %position_1 %loc0_1 %front_facing_1 %loc1_1 %sample_index_1 %loc3_1 %sample_mask_1 %loc2_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_9 "tint_symbol_9"
|
||||
OpName %main "main"
|
||||
OpName %position_1 "position_1"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %front_facing_1 "front_facing_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %sample_index_1 "sample_index_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %sample_mask_1 "sample_mask_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %FragmentInputs0 "FragmentInputs0"
|
||||
OpMemberName %FragmentInputs0 0 "position"
|
||||
OpMemberName %FragmentInputs0 1 "loc0"
|
||||
OpName %FragmentInputs1 "FragmentInputs1"
|
||||
OpMemberName %FragmentInputs1 0 "loc3"
|
||||
OpMemberName %FragmentInputs1 1 "sample_mask"
|
||||
OpDecorate %tint_symbol BuiltIn FragCoord
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_3 BuiltIn FrontFacing
|
||||
OpDecorate %tint_symbol_4 Location 1
|
||||
OpDecorate %tint_symbol_4 Flat
|
||||
OpDecorate %tint_symbol_5 BuiltIn SampleId
|
||||
OpDecorate %tint_symbol_6 Location 3
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs0 "inputs0"
|
||||
OpName %front_facing "front_facing"
|
||||
OpName %loc1 "loc1"
|
||||
OpName %sample_index "sample_index"
|
||||
OpName %inputs1 "inputs1"
|
||||
OpName %loc2 "loc2"
|
||||
OpName %main "main"
|
||||
OpDecorate %position_1 BuiltIn FragCoord
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc0_1 Flat
|
||||
OpDecorate %front_facing_1 BuiltIn FrontFacing
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc1_1 Flat
|
||||
OpDecorate %sample_index_1 BuiltIn SampleId
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_7 BuiltIn SampleMask
|
||||
OpDecorate %tint_symbol_9 Location 2
|
||||
OpDecorate %sample_mask_1 BuiltIn SampleMask
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpMemberDecorate %FragmentInputs0 0 Offset 0
|
||||
OpMemberDecorate %FragmentInputs0 1 Offset 16
|
||||
OpMemberDecorate %FragmentInputs1 0 Offset 0
|
||||
@@ -41,51 +48,63 @@
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v4float Input
|
||||
%position_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_int Input
|
||||
%loc0_1 = OpVariable %_ptr_Input_int Input
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Input_bool = OpTypePointer Input %bool
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_bool Input
|
||||
%front_facing_1 = OpVariable %_ptr_Input_bool Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_6 = OpVariable %_ptr_Input_v4float Input
|
||||
%loc1_1 = OpVariable %_ptr_Input_uint Input
|
||||
%sample_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%loc3_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
|
||||
%_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1
|
||||
%tint_symbol_7 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%sample_mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_9 = OpVariable %_ptr_Input_float Input
|
||||
%loc2_1 = OpVariable %_ptr_Input_float Input
|
||||
%void = OpTypeVoid
|
||||
%22 = OpTypeFunction %void
|
||||
%FragmentInputs0 = OpTypeStruct %v4float %int
|
||||
%FragmentInputs1 = OpTypeStruct %v4float %uint
|
||||
%22 = OpTypeFunction %void %FragmentInputs0 %bool %uint %uint %FragmentInputs1 %float
|
||||
%41 = OpTypeFunction %void
|
||||
%int_0 = OpConstant %int 0
|
||||
%main = OpFunction %void None %22
|
||||
%25 = OpLabel
|
||||
%27 = OpLoad %v4float %tint_symbol
|
||||
%28 = OpLoad %int %tint_symbol_1
|
||||
%29 = OpCompositeConstruct %FragmentInputs0 %27 %28
|
||||
%31 = OpLoad %v4float %tint_symbol_6
|
||||
%33 = OpAccessChain %_ptr_Input_uint %tint_symbol_7 %int_0
|
||||
%34 = OpLoad %uint %33
|
||||
%35 = OpCompositeConstruct %FragmentInputs1 %31 %34
|
||||
%36 = OpLoad %bool %tint_symbol_3
|
||||
OpSelectionMerge %37 None
|
||||
OpBranchConditional %36 %38 %37
|
||||
%38 = OpLabel
|
||||
%39 = OpCompositeExtract %v4float %29 0
|
||||
%40 = OpLoad %uint %tint_symbol_5
|
||||
%41 = OpCompositeExtract %uint %35 1
|
||||
%42 = OpIAdd %uint %40 %41
|
||||
%43 = OpCompositeExtract %int %29 1
|
||||
%44 = OpLoad %uint %tint_symbol_4
|
||||
%45 = OpLoad %float %tint_symbol_9
|
||||
%46 = OpCompositeExtract %v4float %35 0
|
||||
OpBranch %37
|
||||
%37 = OpLabel
|
||||
%main_inner = OpFunction %void None %22
|
||||
%inputs0 = OpFunctionParameter %FragmentInputs0
|
||||
%front_facing = OpFunctionParameter %bool
|
||||
%loc1 = OpFunctionParameter %uint
|
||||
%sample_index = OpFunctionParameter %uint
|
||||
%inputs1 = OpFunctionParameter %FragmentInputs1
|
||||
%loc2 = OpFunctionParameter %float
|
||||
%33 = OpLabel
|
||||
OpSelectionMerge %34 None
|
||||
OpBranchConditional %front_facing %35 %34
|
||||
%35 = OpLabel
|
||||
%36 = OpCompositeExtract %v4float %inputs0 0
|
||||
%37 = OpCompositeExtract %uint %inputs1 1
|
||||
%38 = OpIAdd %uint %sample_index %37
|
||||
%39 = OpCompositeExtract %int %inputs0 1
|
||||
%40 = OpCompositeExtract %v4float %inputs1 0
|
||||
OpBranch %34
|
||||
%34 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %41
|
||||
%43 = OpLabel
|
||||
%45 = OpLoad %v4float %position_1
|
||||
%46 = OpLoad %int %loc0_1
|
||||
%47 = OpCompositeConstruct %FragmentInputs0 %45 %46
|
||||
%48 = OpLoad %bool %front_facing_1
|
||||
%49 = OpLoad %uint %loc1_1
|
||||
%50 = OpLoad %uint %sample_index_1
|
||||
%51 = OpLoad %v4float %loc3_1
|
||||
%53 = OpAccessChain %_ptr_Input_uint %sample_mask_1 %int_0
|
||||
%54 = OpLoad %uint %53
|
||||
%55 = OpCompositeConstruct %FragmentInputs1 %51 %54
|
||||
%56 = OpLoad %float %loc2_1
|
||||
%44 = OpFunctionCall %void %main_inner %47 %48 %49 %50 %55 %56
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,64 +1,60 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 30
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main1 "main1" %tint_symbol_1
|
||||
OpEntryPoint Fragment %main2 "main2" %tint_symbol_4
|
||||
OpEntryPoint Fragment %main1 "main1" %value
|
||||
OpEntryPoint Fragment %main2 "main2" %value_1
|
||||
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 %value "value"
|
||||
OpName %value_1 "value_1"
|
||||
OpName %main1_inner "main1_inner"
|
||||
OpName %main1 "main1"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %main2_inner "main2_inner"
|
||||
OpName %main2 "main2"
|
||||
OpDecorate %tint_symbol_1 BuiltIn FragDepth
|
||||
OpDecorate %value BuiltIn FragDepth
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_4 BuiltIn SampleMask
|
||||
OpDecorate %value_1 BuiltIn SampleMask
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_float Output %4
|
||||
%value = 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
|
||||
%value_1 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %10
|
||||
%11 = OpTypeFunction %float
|
||||
%float_1 = OpConstant %float 1
|
||||
%21 = OpTypeFunction %void %uint
|
||||
%void = OpTypeVoid
|
||||
%15 = OpTypeFunction %void
|
||||
%20 = OpTypeFunction %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
|
||||
%main1_inner = OpFunction %float None %11
|
||||
%13 = OpLabel
|
||||
OpReturnValue %float_1
|
||||
OpFunctionEnd
|
||||
%main1 = OpFunction %void None %16
|
||||
%main1 = OpFunction %void None %15
|
||||
%18 = OpLabel
|
||||
%19 = OpFunctionCall %void %tint_symbol_2 %float_1
|
||||
%19 = OpFunctionCall %float %main1_inner
|
||||
OpStore %value %19
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_5 = OpFunction %void None %21
|
||||
%tint_symbol_3 = OpFunctionParameter %uint
|
||||
%main2_inner = OpFunction %uint None %20
|
||||
%22 = OpLabel
|
||||
OpReturnValue %uint_1
|
||||
OpFunctionEnd
|
||||
%main2 = OpFunction %void None %15
|
||||
%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
|
||||
%25 = OpFunctionCall %uint %main2_inner
|
||||
%29 = OpAccessChain %_ptr_Output_uint %value_1 %int_0
|
||||
OpStore %29 %25
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,57 +1,55 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 29
|
||||
; Bound: 28
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1 %tint_symbol_2
|
||||
OpEntryPoint Fragment %main "main" %frag_depth_1 %sample_mask_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpExecutionMode %main DepthReplacing
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %frag_depth_1 "frag_depth_1"
|
||||
OpName %sample_mask_1 "sample_mask_1"
|
||||
OpName %FragmentOutputs "FragmentOutputs"
|
||||
OpMemberName %FragmentOutputs 0 "frag_depth"
|
||||
OpMemberName %FragmentOutputs 1 "sample_mask"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol_1 BuiltIn FragDepth
|
||||
OpDecorate %frag_depth_1 BuiltIn FragDepth
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_2 BuiltIn SampleMask
|
||||
OpDecorate %sample_mask_1 BuiltIn SampleMask
|
||||
OpMemberDecorate %FragmentOutputs 0 Offset 0
|
||||
OpMemberDecorate %FragmentOutputs 1 Offset 4
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_float Output %4
|
||||
%frag_depth_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_2 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %10
|
||||
%void = OpTypeVoid
|
||||
%sample_mask_1 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %10
|
||||
%FragmentOutputs = OpTypeStruct %float %uint
|
||||
%11 = OpTypeFunction %void %FragmentOutputs
|
||||
%11 = OpTypeFunction %FragmentOutputs
|
||||
%float_1 = OpConstant %float 1
|
||||
%16 = OpConstantComposite %FragmentOutputs %float_1 %uint_1
|
||||
%void = OpTypeVoid
|
||||
%17 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%23 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%28 = OpConstantComposite %FragmentOutputs %float_1 %uint_1
|
||||
%tint_symbol_3 = OpFunction %void None %11
|
||||
%tint_symbol = OpFunctionParameter %FragmentOutputs
|
||||
%16 = OpLabel
|
||||
%17 = OpCompositeExtract %float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %17
|
||||
%21 = OpAccessChain %_ptr_Output_uint %tint_symbol_2 %int_0
|
||||
%22 = OpCompositeExtract %uint %tint_symbol 1
|
||||
OpStore %21 %22
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %23
|
||||
%25 = OpLabel
|
||||
%26 = OpFunctionCall %void %tint_symbol_3 %28
|
||||
%main_inner = OpFunction %FragmentOutputs None %11
|
||||
%14 = OpLabel
|
||||
OpReturnValue %16
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %17
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %FragmentOutputs %main_inner
|
||||
%22 = OpCompositeExtract %float %21 0
|
||||
OpStore %frag_depth_1 %22
|
||||
%26 = OpAccessChain %_ptr_Output_uint %sample_mask_1 %int_0
|
||||
%27 = OpCompositeExtract %uint %21 1
|
||||
OpStore %26 %27
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,108 +1,100 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 54
|
||||
; Bound: 50
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main0 "main0" %tint_symbol_1
|
||||
OpEntryPoint Fragment %main1 "main1" %tint_symbol_4
|
||||
OpEntryPoint Fragment %main2 "main2" %tint_symbol_7
|
||||
OpEntryPoint Fragment %main3 "main3" %tint_symbol_10
|
||||
OpEntryPoint Fragment %main0 "main0" %value
|
||||
OpEntryPoint Fragment %main1 "main1" %value_1
|
||||
OpEntryPoint Fragment %main2 "main2" %value_2
|
||||
OpEntryPoint Fragment %main3 "main3" %value_3
|
||||
OpExecutionMode %main0 OriginUpperLeft
|
||||
OpExecutionMode %main1 OriginUpperLeft
|
||||
OpExecutionMode %main2 OriginUpperLeft
|
||||
OpExecutionMode %main3 OriginUpperLeft
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_10 "tint_symbol_10"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %value "value"
|
||||
OpName %value_1 "value_1"
|
||||
OpName %value_2 "value_2"
|
||||
OpName %value_3 "value_3"
|
||||
OpName %main0_inner "main0_inner"
|
||||
OpName %main0 "main0"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %main1_inner "main1_inner"
|
||||
OpName %main1 "main1"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %main2_inner "main2_inner"
|
||||
OpName %main2 "main2"
|
||||
OpName %tint_symbol_11 "tint_symbol_11"
|
||||
OpName %tint_symbol_9 "tint_symbol_9"
|
||||
OpName %main3_inner "main3_inner"
|
||||
OpName %main3 "main3"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_4 Location 1
|
||||
OpDecorate %tint_symbol_7 Location 2
|
||||
OpDecorate %tint_symbol_10 Location 3
|
||||
OpDecorate %value Location 0
|
||||
OpDecorate %value_1 Location 1
|
||||
OpDecorate %value_2 Location 2
|
||||
OpDecorate %value_3 Location 3
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Output_int = OpTypePointer Output %int
|
||||
%4 = OpConstantNull %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%value = OpVariable %_ptr_Output_int Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%8 = OpConstantNull %uint
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_uint Output %8
|
||||
%value_1 = OpVariable %_ptr_Output_uint Output %8
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%tint_symbol_7 = OpVariable %_ptr_Output_float Output %12
|
||||
%value_2 = OpVariable %_ptr_Output_float Output %12
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%16 = OpConstantNull %v4float
|
||||
%tint_symbol_10 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%void = OpTypeVoid
|
||||
%17 = OpTypeFunction %void %int
|
||||
%22 = OpTypeFunction %void
|
||||
%value_3 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%17 = OpTypeFunction %int
|
||||
%int_1 = OpConstant %int 1
|
||||
%27 = OpTypeFunction %void %uint
|
||||
%void = OpTypeVoid
|
||||
%21 = OpTypeFunction %void
|
||||
%26 = OpTypeFunction %uint
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%35 = OpTypeFunction %void %float
|
||||
%33 = OpTypeFunction %float
|
||||
%float_1 = OpConstant %float 1
|
||||
%43 = OpTypeFunction %void %v4float
|
||||
%40 = OpTypeFunction %v4float
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%float_4 = OpConstant %float 4
|
||||
%53 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%tint_symbol_2 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %int
|
||||
%21 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%46 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%main0_inner = OpFunction %int None %17
|
||||
%19 = OpLabel
|
||||
OpReturnValue %int_1
|
||||
OpFunctionEnd
|
||||
%main0 = OpFunction %void None %22
|
||||
%main0 = OpFunction %void None %21
|
||||
%24 = OpLabel
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %int_1
|
||||
%25 = OpFunctionCall %int %main0_inner
|
||||
OpStore %value %25
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_5 = OpFunction %void None %27
|
||||
%tint_symbol_3 = OpFunctionParameter %uint
|
||||
%30 = OpLabel
|
||||
OpStore %tint_symbol_4 %tint_symbol_3
|
||||
%main1_inner = OpFunction %uint None %26
|
||||
%28 = OpLabel
|
||||
OpReturnValue %uint_1
|
||||
OpFunctionEnd
|
||||
%main1 = OpFunction %void None %21
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %uint %main1_inner
|
||||
OpStore %value_1 %32
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main1 = OpFunction %void None %22
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %tint_symbol_5 %uint_1
|
||||
OpReturn
|
||||
%main2_inner = OpFunction %float None %33
|
||||
%35 = OpLabel
|
||||
OpReturnValue %float_1
|
||||
OpFunctionEnd
|
||||
%tint_symbol_8 = OpFunction %void None %35
|
||||
%tint_symbol_6 = OpFunctionParameter %float
|
||||
%main2 = OpFunction %void None %21
|
||||
%38 = OpLabel
|
||||
OpStore %tint_symbol_7 %tint_symbol_6
|
||||
%39 = OpFunctionCall %float %main2_inner
|
||||
OpStore %value_2 %39
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main2 = OpFunction %void None %22
|
||||
%40 = OpLabel
|
||||
%41 = OpFunctionCall %void %tint_symbol_8 %float_1
|
||||
OpReturn
|
||||
%main3_inner = OpFunction %v4float None %40
|
||||
%42 = OpLabel
|
||||
OpReturnValue %46
|
||||
OpFunctionEnd
|
||||
%tint_symbol_11 = OpFunction %void None %43
|
||||
%tint_symbol_9 = OpFunctionParameter %v4float
|
||||
%46 = OpLabel
|
||||
OpStore %tint_symbol_10 %tint_symbol_9
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main3 = OpFunction %void None %22
|
||||
%main3 = OpFunction %void None %21
|
||||
%48 = OpLabel
|
||||
%49 = OpFunctionCall %void %tint_symbol_11 %53
|
||||
%49 = OpFunctionCall %v4float %main3_inner
|
||||
OpStore %value_3 %49
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,28 +1,27 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 39
|
||||
; Bound: 38
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4
|
||||
OpEntryPoint Fragment %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %FragmentOutputs "FragmentOutputs"
|
||||
OpMemberName %FragmentOutputs 0 "loc0"
|
||||
OpMemberName %FragmentOutputs 1 "loc1"
|
||||
OpMemberName %FragmentOutputs 2 "loc2"
|
||||
OpMemberName %FragmentOutputs 3 "loc3"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_2 Location 1
|
||||
OpDecorate %tint_symbol_3 Location 2
|
||||
OpDecorate %tint_symbol_4 Location 3
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpMemberDecorate %FragmentOutputs 0 Offset 0
|
||||
OpMemberDecorate %FragmentOutputs 1 Offset 4
|
||||
OpMemberDecorate %FragmentOutputs 2 Offset 8
|
||||
@@ -30,46 +29,45 @@
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Output_int = OpTypePointer Output %int
|
||||
%4 = OpConstantNull %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%loc0_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%8 = OpConstantNull %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_uint Output %8
|
||||
%loc1_1 = OpVariable %_ptr_Output_uint Output %8
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_float Output %12
|
||||
%loc2_1 = OpVariable %_ptr_Output_float Output %12
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%16 = OpConstantNull %v4float
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%void = OpTypeVoid
|
||||
%loc3_1 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%FragmentOutputs = OpTypeStruct %int %uint %float %v4float
|
||||
%17 = OpTypeFunction %void %FragmentOutputs
|
||||
%27 = OpTypeFunction %void
|
||||
%17 = OpTypeFunction %FragmentOutputs
|
||||
%int_1 = OpConstant %int 1
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%float_4 = OpConstant %float 4
|
||||
%37 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%38 = OpConstantComposite %FragmentOutputs %int_1 %uint_1 %float_1 %37
|
||||
%tint_symbol_5 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %FragmentOutputs
|
||||
%22 = OpLabel
|
||||
%23 = OpCompositeExtract %int %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %23
|
||||
%24 = OpCompositeExtract %uint %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %24
|
||||
%25 = OpCompositeExtract %float %tint_symbol 2
|
||||
OpStore %tint_symbol_3 %25
|
||||
%26 = OpCompositeExtract %v4float %tint_symbol 3
|
||||
OpStore %tint_symbol_4 %26
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %27
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %tint_symbol_5 %38
|
||||
%27 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%28 = OpConstantComposite %FragmentOutputs %int_1 %uint_1 %float_1 %27
|
||||
%void = OpTypeVoid
|
||||
%29 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %FragmentOutputs None %17
|
||||
%20 = OpLabel
|
||||
OpReturnValue %28
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %29
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %FragmentOutputs %main_inner
|
||||
%34 = OpCompositeExtract %int %33 0
|
||||
OpStore %loc0_1 %34
|
||||
%35 = OpCompositeExtract %uint %33 1
|
||||
OpStore %loc1_1 %35
|
||||
%36 = OpCompositeExtract %float %33 2
|
||||
OpStore %loc2_1 %36
|
||||
%37 = OpCompositeExtract %v4float %33 3
|
||||
OpStore %loc3_1 %37
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 49
|
||||
; Bound: 48
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_5 %tint_symbol_6
|
||||
OpEntryPoint Fragment %main "main" %loc0_1 %frag_depth_1 %loc1_1 %loc2_1 %sample_mask_1 %loc3_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpExecutionMode %main DepthReplacing
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %frag_depth_1 "frag_depth_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %sample_mask_1 "sample_mask_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %FragmentOutputs "FragmentOutputs"
|
||||
OpMemberName %FragmentOutputs 0 "loc0"
|
||||
OpMemberName %FragmentOutputs 1 "frag_depth"
|
||||
@@ -21,16 +21,15 @@
|
||||
OpMemberName %FragmentOutputs 3 "loc2"
|
||||
OpMemberName %FragmentOutputs 4 "sample_mask"
|
||||
OpMemberName %FragmentOutputs 5 "loc3"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_2 BuiltIn FragDepth
|
||||
OpDecorate %tint_symbol_3 Location 1
|
||||
OpDecorate %tint_symbol_4 Location 2
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %frag_depth_1 BuiltIn FragDepth
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_5 BuiltIn SampleMask
|
||||
OpDecorate %tint_symbol_6 Location 3
|
||||
OpDecorate %sample_mask_1 BuiltIn SampleMask
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpMemberDecorate %FragmentOutputs 0 Offset 0
|
||||
OpMemberDecorate %FragmentOutputs 1 Offset 4
|
||||
OpMemberDecorate %FragmentOutputs 2 Offset 8
|
||||
@@ -40,58 +39,57 @@
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Output_int = OpTypePointer Output %int
|
||||
%4 = OpConstantNull %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%loc0_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_float Output %8
|
||||
%frag_depth_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%12 = OpConstantNull %uint
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_uint Output %12
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_float Output %8
|
||||
%loc1_1 = OpVariable %_ptr_Output_uint Output %12
|
||||
%loc2_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%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
|
||||
%18 = OpConstantNull %_arr_uint_uint_1
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %18
|
||||
%sample_mask_1 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %18
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%22 = OpConstantNull %v4float
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output_v4float Output %22
|
||||
%void = OpTypeVoid
|
||||
%loc3_1 = OpVariable %_ptr_Output_v4float Output %22
|
||||
%FragmentOutputs = OpTypeStruct %int %float %uint %float %uint %v4float
|
||||
%23 = OpTypeFunction %void %FragmentOutputs
|
||||
%int_0 = OpConstant %int 0
|
||||
%37 = OpTypeFunction %void
|
||||
%23 = OpTypeFunction %FragmentOutputs
|
||||
%int_1 = OpConstant %int 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_1 = OpConstant %float 1
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%float_4 = OpConstant %float 4
|
||||
%47 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%48 = OpConstantComposite %FragmentOutputs %int_1 %float_2 %uint_1 %float_1 %uint_2 %47
|
||||
%tint_symbol_7 = OpFunction %void None %23
|
||||
%tint_symbol = OpFunctionParameter %FragmentOutputs
|
||||
%28 = OpLabel
|
||||
%29 = OpCompositeExtract %int %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %29
|
||||
%30 = OpCompositeExtract %float %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %30
|
||||
%31 = OpCompositeExtract %uint %tint_symbol 2
|
||||
OpStore %tint_symbol_3 %31
|
||||
%32 = OpCompositeExtract %float %tint_symbol 3
|
||||
OpStore %tint_symbol_4 %32
|
||||
%34 = OpAccessChain %_ptr_Output_uint %tint_symbol_5 %int_0
|
||||
%35 = OpCompositeExtract %uint %tint_symbol 4
|
||||
OpStore %34 %35
|
||||
%36 = OpCompositeExtract %v4float %tint_symbol 5
|
||||
OpStore %tint_symbol_6 %36
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %37
|
||||
%39 = OpLabel
|
||||
%40 = OpFunctionCall %void %tint_symbol_7 %48
|
||||
%33 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%34 = OpConstantComposite %FragmentOutputs %int_1 %float_2 %uint_1 %float_1 %uint_2 %33
|
||||
%void = OpTypeVoid
|
||||
%35 = OpTypeFunction %void
|
||||
%int_0 = OpConstant %int 0
|
||||
%main_inner = OpFunction %FragmentOutputs None %23
|
||||
%26 = OpLabel
|
||||
OpReturnValue %34
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %35
|
||||
%38 = OpLabel
|
||||
%39 = OpFunctionCall %FragmentOutputs %main_inner
|
||||
%40 = OpCompositeExtract %int %39 0
|
||||
OpStore %loc0_1 %40
|
||||
%41 = OpCompositeExtract %float %39 1
|
||||
OpStore %frag_depth_1 %41
|
||||
%42 = OpCompositeExtract %uint %39 2
|
||||
OpStore %loc1_1 %42
|
||||
%43 = OpCompositeExtract %float %39 3
|
||||
OpStore %loc2_1 %43
|
||||
%45 = OpAccessChain %_ptr_Output_uint %sample_mask_1 %int_0
|
||||
%46 = OpCompositeExtract %uint %39 4
|
||||
OpStore %45 %46
|
||||
%47 = OpCompositeExtract %v4float %39 5
|
||||
OpStore %loc3_1 %47
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,51 +1,82 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 15
|
||||
; Bound: 35
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main"
|
||||
OpEntryPoint Fragment %main "main" %none_1 %flat_1 %perspective_center_1 %perspective_centroid_1 %perspective_sample_1 %linear_center_1 %linear_centroid_1 %linear_sample_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %none_1 "none_1"
|
||||
OpName %flat_1 "flat_1"
|
||||
OpName %perspective_center_1 "perspective_center_1"
|
||||
OpName %perspective_centroid_1 "perspective_centroid_1"
|
||||
OpName %perspective_sample_1 "perspective_sample_1"
|
||||
OpName %linear_center_1 "linear_center_1"
|
||||
OpName %linear_centroid_1 "linear_centroid_1"
|
||||
OpName %linear_sample_1 "linear_sample_1"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %none "none"
|
||||
OpName %flat "flat"
|
||||
OpName %perspective_center "perspective_center"
|
||||
OpName %perspective_centroid "perspective_centroid"
|
||||
OpName %perspective_sample "perspective_sample"
|
||||
OpName %linear_center "linear_center"
|
||||
OpName %linear_centroid "linear_centroid"
|
||||
OpName %linear_sample "linear_sample"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_3 Centroid
|
||||
OpDecorate %tint_symbol_4 Location 4
|
||||
OpDecorate %tint_symbol_4 Sample
|
||||
OpDecorate %tint_symbol_5 Location 5
|
||||
OpDecorate %tint_symbol_5 NoPerspective
|
||||
OpDecorate %tint_symbol_6 Location 6
|
||||
OpDecorate %tint_symbol_6 NoPerspective
|
||||
OpDecorate %tint_symbol_6 Centroid
|
||||
OpDecorate %tint_symbol_7 Location 7
|
||||
OpDecorate %tint_symbol_7 NoPerspective
|
||||
OpDecorate %tint_symbol_7 Sample
|
||||
OpDecorate %none_1 Location 0
|
||||
OpDecorate %flat_1 Location 1
|
||||
OpDecorate %flat_1 Flat
|
||||
OpDecorate %perspective_center_1 Location 2
|
||||
OpDecorate %perspective_centroid_1 Location 3
|
||||
OpDecorate %perspective_centroid_1 Centroid
|
||||
OpDecorate %perspective_sample_1 Location 4
|
||||
OpDecorate %perspective_sample_1 Sample
|
||||
OpDecorate %linear_center_1 Location 5
|
||||
OpDecorate %linear_center_1 NoPerspective
|
||||
OpDecorate %linear_centroid_1 Location 6
|
||||
OpDecorate %linear_centroid_1 NoPerspective
|
||||
OpDecorate %linear_centroid_1 Centroid
|
||||
OpDecorate %linear_sample_1 Location 7
|
||||
OpDecorate %linear_sample_1 NoPerspective
|
||||
OpDecorate %linear_sample_1 Sample
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_6 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_7 = OpVariable %_ptr_Input_float Input
|
||||
%none_1 = OpVariable %_ptr_Input_float Input
|
||||
%flat_1 = OpVariable %_ptr_Input_float Input
|
||||
%perspective_center_1 = OpVariable %_ptr_Input_float Input
|
||||
%perspective_centroid_1 = OpVariable %_ptr_Input_float Input
|
||||
%perspective_sample_1 = OpVariable %_ptr_Input_float Input
|
||||
%linear_center_1 = OpVariable %_ptr_Input_float Input
|
||||
%linear_centroid_1 = OpVariable %_ptr_Input_float Input
|
||||
%linear_sample_1 = OpVariable %_ptr_Input_float Input
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%main = OpFunction %void None %11
|
||||
%14 = OpLabel
|
||||
%11 = OpTypeFunction %void %float %float %float %float %float %float %float %float
|
||||
%23 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %11
|
||||
%none = OpFunctionParameter %float
|
||||
%flat = OpFunctionParameter %float
|
||||
%perspective_center = OpFunctionParameter %float
|
||||
%perspective_centroid = OpFunctionParameter %float
|
||||
%perspective_sample = OpFunctionParameter %float
|
||||
%linear_center = OpFunctionParameter %float
|
||||
%linear_centroid = OpFunctionParameter %float
|
||||
%linear_sample = OpFunctionParameter %float
|
||||
%22 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %23
|
||||
%25 = OpLabel
|
||||
%27 = OpLoad %float %none_1
|
||||
%28 = OpLoad %float %flat_1
|
||||
%29 = OpLoad %float %perspective_center_1
|
||||
%30 = OpLoad %float %perspective_centroid_1
|
||||
%31 = OpLoad %float %perspective_sample_1
|
||||
%32 = OpLoad %float %linear_center_1
|
||||
%33 = OpLoad %float %linear_centroid_1
|
||||
%34 = OpLoad %float %linear_sample_1
|
||||
%26 = OpFunctionCall %void %main_inner %27 %28 %29 %30 %31 %32 %33 %34
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,51 +1,87 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 15
|
||||
; Bound: 30
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main"
|
||||
OpEntryPoint Fragment %main "main" %none_1 %flat_1 %perspective_center_1 %perspective_centroid_1 %perspective_sample_1 %linear_center_1 %linear_centroid_1 %linear_sample_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %none_1 "none_1"
|
||||
OpName %flat_1 "flat_1"
|
||||
OpName %perspective_center_1 "perspective_center_1"
|
||||
OpName %perspective_centroid_1 "perspective_centroid_1"
|
||||
OpName %perspective_sample_1 "perspective_sample_1"
|
||||
OpName %linear_center_1 "linear_center_1"
|
||||
OpName %linear_centroid_1 "linear_centroid_1"
|
||||
OpName %linear_sample_1 "linear_sample_1"
|
||||
OpName %In "In"
|
||||
OpMemberName %In 0 "none"
|
||||
OpMemberName %In 1 "flat"
|
||||
OpMemberName %In 2 "perspective_center"
|
||||
OpMemberName %In 3 "perspective_centroid"
|
||||
OpMemberName %In 4 "perspective_sample"
|
||||
OpMemberName %In 5 "linear_center"
|
||||
OpMemberName %In 6 "linear_centroid"
|
||||
OpMemberName %In 7 "linear_sample"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %in "in"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_3 Centroid
|
||||
OpDecorate %tint_symbol_4 Location 4
|
||||
OpDecorate %tint_symbol_4 Sample
|
||||
OpDecorate %tint_symbol_5 Location 5
|
||||
OpDecorate %tint_symbol_5 NoPerspective
|
||||
OpDecorate %tint_symbol_6 Location 6
|
||||
OpDecorate %tint_symbol_6 NoPerspective
|
||||
OpDecorate %tint_symbol_6 Centroid
|
||||
OpDecorate %tint_symbol_7 Location 7
|
||||
OpDecorate %tint_symbol_7 NoPerspective
|
||||
OpDecorate %tint_symbol_7 Sample
|
||||
OpDecorate %none_1 Location 0
|
||||
OpDecorate %flat_1 Location 1
|
||||
OpDecorate %flat_1 Flat
|
||||
OpDecorate %perspective_center_1 Location 2
|
||||
OpDecorate %perspective_centroid_1 Location 3
|
||||
OpDecorate %perspective_centroid_1 Centroid
|
||||
OpDecorate %perspective_sample_1 Location 4
|
||||
OpDecorate %perspective_sample_1 Sample
|
||||
OpDecorate %linear_center_1 Location 5
|
||||
OpDecorate %linear_center_1 NoPerspective
|
||||
OpDecorate %linear_centroid_1 Location 6
|
||||
OpDecorate %linear_centroid_1 NoPerspective
|
||||
OpDecorate %linear_centroid_1 Centroid
|
||||
OpDecorate %linear_sample_1 Location 7
|
||||
OpDecorate %linear_sample_1 NoPerspective
|
||||
OpDecorate %linear_sample_1 Sample
|
||||
OpMemberDecorate %In 0 Offset 0
|
||||
OpMemberDecorate %In 1 Offset 4
|
||||
OpMemberDecorate %In 2 Offset 8
|
||||
OpMemberDecorate %In 3 Offset 12
|
||||
OpMemberDecorate %In 4 Offset 16
|
||||
OpMemberDecorate %In 5 Offset 20
|
||||
OpMemberDecorate %In 6 Offset 24
|
||||
OpMemberDecorate %In 7 Offset 28
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_6 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_7 = OpVariable %_ptr_Input_float Input
|
||||
%none_1 = OpVariable %_ptr_Input_float Input
|
||||
%flat_1 = OpVariable %_ptr_Input_float Input
|
||||
%perspective_center_1 = OpVariable %_ptr_Input_float Input
|
||||
%perspective_centroid_1 = OpVariable %_ptr_Input_float Input
|
||||
%perspective_sample_1 = OpVariable %_ptr_Input_float Input
|
||||
%linear_center_1 = OpVariable %_ptr_Input_float Input
|
||||
%linear_centroid_1 = OpVariable %_ptr_Input_float Input
|
||||
%linear_sample_1 = OpVariable %_ptr_Input_float Input
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%main = OpFunction %void None %11
|
||||
%14 = OpLabel
|
||||
%In = OpTypeStruct %float %float %float %float %float %float %float %float
|
||||
%11 = OpTypeFunction %void %In
|
||||
%17 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %11
|
||||
%in = OpFunctionParameter %In
|
||||
%16 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %17
|
||||
%19 = OpLabel
|
||||
%21 = OpLoad %float %none_1
|
||||
%22 = OpLoad %float %flat_1
|
||||
%23 = OpLoad %float %perspective_center_1
|
||||
%24 = OpLoad %float %perspective_centroid_1
|
||||
%25 = OpLoad %float %perspective_sample_1
|
||||
%26 = OpLoad %float %linear_center_1
|
||||
%27 = OpLoad %float %linear_centroid_1
|
||||
%28 = OpLoad %float %linear_sample_1
|
||||
%29 = OpCompositeConstruct %In %21 %22 %23 %24 %25 %26 %27 %28
|
||||
%20 = OpFunctionCall %void %main_inner %29
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,140 +1,138 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 67
|
||||
; Bound: 66
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vert_main "vert_main" %tint_pointsize %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_5
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %tint_symbol_7 %tint_symbol_8 %tint_symbol_9 %tint_symbol_10 %tint_symbol_11 %tint_symbol_14
|
||||
OpEntryPoint Vertex %vert_main "vert_main" %i_1 %u_1 %vi_1 %vu_1 %pos_1 %vertex_point_size
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %i_2 %u_2 %vi_2 %vu_2 %pos_2 %value
|
||||
OpExecutionMode %frag_main OriginUpperLeft
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %tint_symbol_9 "tint_symbol_9"
|
||||
OpName %tint_symbol_10 "tint_symbol_10"
|
||||
OpName %tint_symbol_11 "tint_symbol_11"
|
||||
OpName %tint_symbol_14 "tint_symbol_14"
|
||||
OpName %i_1 "i_1"
|
||||
OpName %u_1 "u_1"
|
||||
OpName %vi_1 "vi_1"
|
||||
OpName %vu_1 "vu_1"
|
||||
OpName %pos_1 "pos_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %i_2 "i_2"
|
||||
OpName %u_2 "u_2"
|
||||
OpName %vi_2 "vi_2"
|
||||
OpName %vu_2 "vu_2"
|
||||
OpName %pos_2 "pos_2"
|
||||
OpName %value "value"
|
||||
OpName %Interface "Interface"
|
||||
OpMemberName %Interface 0 "i"
|
||||
OpMemberName %Interface 1 "u"
|
||||
OpMemberName %Interface 2 "vi"
|
||||
OpMemberName %Interface 3 "vu"
|
||||
OpMemberName %Interface 4 "pos"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vert_main_inner "vert_main_inner"
|
||||
OpName %vert_main "vert_main"
|
||||
OpName %tint_symbol_15 "tint_symbol_15"
|
||||
OpName %tint_symbol_13 "tint_symbol_13"
|
||||
OpName %frag_main_inner "frag_main_inner"
|
||||
OpName %inputs "inputs"
|
||||
OpName %frag_main "frag_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 Location 1
|
||||
OpDecorate %tint_symbol_2 Flat
|
||||
OpDecorate %tint_symbol_3 Location 2
|
||||
OpDecorate %tint_symbol_3 Flat
|
||||
OpDecorate %tint_symbol_4 Location 3
|
||||
OpDecorate %tint_symbol_4 Flat
|
||||
OpDecorate %tint_symbol_5 BuiltIn Position
|
||||
OpDecorate %tint_symbol_7 Location 0
|
||||
OpDecorate %tint_symbol_7 Flat
|
||||
OpDecorate %tint_symbol_8 Location 1
|
||||
OpDecorate %tint_symbol_8 Flat
|
||||
OpDecorate %tint_symbol_9 Location 2
|
||||
OpDecorate %tint_symbol_9 Flat
|
||||
OpDecorate %tint_symbol_10 Location 3
|
||||
OpDecorate %tint_symbol_10 Flat
|
||||
OpDecorate %tint_symbol_11 BuiltIn FragCoord
|
||||
OpDecorate %tint_symbol_14 Location 0
|
||||
OpDecorate %i_1 Location 0
|
||||
OpDecorate %i_1 Flat
|
||||
OpDecorate %u_1 Location 1
|
||||
OpDecorate %u_1 Flat
|
||||
OpDecorate %vi_1 Location 2
|
||||
OpDecorate %vi_1 Flat
|
||||
OpDecorate %vu_1 Location 3
|
||||
OpDecorate %vu_1 Flat
|
||||
OpDecorate %pos_1 BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %i_2 Location 0
|
||||
OpDecorate %i_2 Flat
|
||||
OpDecorate %u_2 Location 1
|
||||
OpDecorate %u_2 Flat
|
||||
OpDecorate %vi_2 Location 2
|
||||
OpDecorate %vi_2 Flat
|
||||
OpDecorate %vu_2 Location 3
|
||||
OpDecorate %vu_2 Flat
|
||||
OpDecorate %pos_2 BuiltIn FragCoord
|
||||
OpDecorate %value Location 0
|
||||
OpMemberDecorate %Interface 0 Offset 0
|
||||
OpMemberDecorate %Interface 1 Offset 4
|
||||
OpMemberDecorate %Interface 2 Offset 16
|
||||
OpMemberDecorate %Interface 3 Offset 32
|
||||
OpMemberDecorate %Interface 4 Offset 48
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Output_int = OpTypePointer Output %int
|
||||
%8 = OpConstantNull %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_int Output %8
|
||||
%4 = OpConstantNull %int
|
||||
%i_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%12 = OpConstantNull %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_uint Output %12
|
||||
%8 = OpConstantNull %uint
|
||||
%u_1 = OpVariable %_ptr_Output_uint Output %8
|
||||
%v4int = OpTypeVector %int 4
|
||||
%_ptr_Output_v4int = OpTypePointer Output %v4int
|
||||
%16 = OpConstantNull %v4int
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_v4int Output %16
|
||||
%12 = OpConstantNull %v4int
|
||||
%vi_1 = OpVariable %_ptr_Output_v4int Output %12
|
||||
%v4uint = OpTypeVector %uint 4
|
||||
%_ptr_Output_v4uint = OpTypePointer Output %v4uint
|
||||
%20 = OpConstantNull %v4uint
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_v4uint Output %20
|
||||
%16 = OpConstantNull %v4uint
|
||||
%vu_1 = OpVariable %_ptr_Output_v4uint Output %16
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%24 = OpConstantNull %v4float
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output_v4float Output %24
|
||||
%21 = OpConstantNull %v4float
|
||||
%pos_1 = OpVariable %_ptr_Output_v4float Output %21
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%24 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %24
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol_7 = OpVariable %_ptr_Input_int Input
|
||||
%i_2 = OpVariable %_ptr_Input_int Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_8 = OpVariable %_ptr_Input_uint Input
|
||||
%u_2 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Input_v4int = OpTypePointer Input %v4int
|
||||
%tint_symbol_9 = OpVariable %_ptr_Input_v4int Input
|
||||
%vi_2 = OpVariable %_ptr_Input_v4int Input
|
||||
%_ptr_Input_v4uint = OpTypePointer Input %v4uint
|
||||
%tint_symbol_10 = OpVariable %_ptr_Input_v4uint Input
|
||||
%vu_2 = OpVariable %_ptr_Input_v4uint Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_11 = OpVariable %_ptr_Input_v4float Input
|
||||
%tint_symbol_14 = OpVariable %_ptr_Output_int Output %8
|
||||
%void = OpTypeVoid
|
||||
%pos_2 = OpVariable %_ptr_Input_v4float Input
|
||||
%value = OpVariable %_ptr_Output_int Output %4
|
||||
%Interface = OpTypeStruct %int %uint %v4int %v4uint %v4float
|
||||
%36 = OpTypeFunction %void %Interface
|
||||
%47 = OpTypeFunction %void
|
||||
%36 = OpTypeFunction %Interface
|
||||
%40 = OpConstantNull %Interface
|
||||
%void = OpTypeVoid
|
||||
%41 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%52 = OpConstantNull %Interface
|
||||
%53 = OpTypeFunction %void %int
|
||||
%tint_symbol_6 = OpFunction %void None %36
|
||||
%tint_symbol = OpFunctionParameter %Interface
|
||||
%41 = OpLabel
|
||||
%42 = OpCompositeExtract %int %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %42
|
||||
%43 = OpCompositeExtract %uint %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %43
|
||||
%44 = OpCompositeExtract %v4int %tint_symbol 2
|
||||
OpStore %tint_symbol_3 %44
|
||||
%45 = OpCompositeExtract %v4uint %tint_symbol 3
|
||||
OpStore %tint_symbol_4 %45
|
||||
%46 = OpCompositeExtract %v4float %tint_symbol 4
|
||||
OpStore %tint_symbol_5 %46
|
||||
%52 = OpTypeFunction %int %Interface
|
||||
%vert_main_inner = OpFunction %Interface None %36
|
||||
%39 = OpLabel
|
||||
OpReturnValue %40
|
||||
OpFunctionEnd
|
||||
%vert_main = OpFunction %void None %41
|
||||
%44 = OpLabel
|
||||
%45 = OpFunctionCall %Interface %vert_main_inner
|
||||
%46 = OpCompositeExtract %int %45 0
|
||||
OpStore %i_1 %46
|
||||
%47 = OpCompositeExtract %uint %45 1
|
||||
OpStore %u_1 %47
|
||||
%48 = OpCompositeExtract %v4int %45 2
|
||||
OpStore %vi_1 %48
|
||||
%49 = OpCompositeExtract %v4uint %45 3
|
||||
OpStore %vu_1 %49
|
||||
%50 = OpCompositeExtract %v4float %45 4
|
||||
OpStore %pos_1 %50
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%vert_main = OpFunction %void None %47
|
||||
%49 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%51 = OpFunctionCall %void %tint_symbol_6 %52
|
||||
OpReturn
|
||||
%frag_main_inner = OpFunction %int None %52
|
||||
%inputs = OpFunctionParameter %Interface
|
||||
%55 = OpLabel
|
||||
%56 = OpCompositeExtract %int %inputs 0
|
||||
OpReturnValue %56
|
||||
OpFunctionEnd
|
||||
%tint_symbol_15 = OpFunction %void None %53
|
||||
%tint_symbol_13 = OpFunctionParameter %int
|
||||
%56 = OpLabel
|
||||
OpStore %tint_symbol_14 %tint_symbol_13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%frag_main = OpFunction %void None %47
|
||||
%frag_main = OpFunction %void None %41
|
||||
%58 = OpLabel
|
||||
%59 = OpLoad %int %tint_symbol_7
|
||||
%60 = OpLoad %uint %tint_symbol_8
|
||||
%61 = OpLoad %v4int %tint_symbol_9
|
||||
%62 = OpLoad %v4uint %tint_symbol_10
|
||||
%63 = OpLoad %v4float %tint_symbol_11
|
||||
%64 = OpCompositeConstruct %Interface %59 %60 %61 %62 %63
|
||||
%66 = OpCompositeExtract %int %64 0
|
||||
%65 = OpFunctionCall %void %tint_symbol_15 %66
|
||||
%60 = OpLoad %int %i_2
|
||||
%61 = OpLoad %uint %u_2
|
||||
%62 = OpLoad %v4int %vi_2
|
||||
%63 = OpLoad %v4uint %vu_2
|
||||
%64 = OpLoad %v4float %pos_2
|
||||
%65 = OpCompositeConstruct %Interface %60 %61 %62 %63 %64
|
||||
%59 = OpFunctionCall %int %frag_main_inner %65
|
||||
OpStore %value %59
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 38
|
||||
; Bound: 37
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_5 %tint_symbol_6 %tint_symbol_7 %tint_symbol_8 %tint_symbol_9
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %tint_symbol_9 "tint_symbol_9"
|
||||
OpEntryPoint Vertex %main "main" %pos_1 %none_1 %flat_1 %perspective_center_1 %perspective_centroid_1 %perspective_sample_1 %linear_center_1 %linear_centroid_1 %linear_sample_1 %vertex_point_size
|
||||
OpName %pos_1 "pos_1"
|
||||
OpName %none_1 "none_1"
|
||||
OpName %flat_1 "flat_1"
|
||||
OpName %perspective_center_1 "perspective_center_1"
|
||||
OpName %perspective_centroid_1 "perspective_centroid_1"
|
||||
OpName %perspective_sample_1 "perspective_sample_1"
|
||||
OpName %linear_center_1 "linear_center_1"
|
||||
OpName %linear_centroid_1 "linear_centroid_1"
|
||||
OpName %linear_sample_1 "linear_sample_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %Out "Out"
|
||||
OpMemberName %Out 0 "pos"
|
||||
OpMemberName %Out 1 "none"
|
||||
@@ -27,27 +27,26 @@
|
||||
OpMemberName %Out 6 "linear_center"
|
||||
OpMemberName %Out 7 "linear_centroid"
|
||||
OpMemberName %Out 8 "linear_sample"
|
||||
OpName %tint_symbol_10 "tint_symbol_10"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %tint_symbol_2 Location 0
|
||||
OpDecorate %tint_symbol_3 Location 1
|
||||
OpDecorate %tint_symbol_3 Flat
|
||||
OpDecorate %tint_symbol_4 Location 2
|
||||
OpDecorate %tint_symbol_5 Location 3
|
||||
OpDecorate %tint_symbol_5 Centroid
|
||||
OpDecorate %tint_symbol_6 Location 4
|
||||
OpDecorate %tint_symbol_6 Sample
|
||||
OpDecorate %tint_symbol_7 Location 5
|
||||
OpDecorate %tint_symbol_7 NoPerspective
|
||||
OpDecorate %tint_symbol_8 Location 6
|
||||
OpDecorate %tint_symbol_8 NoPerspective
|
||||
OpDecorate %tint_symbol_8 Centroid
|
||||
OpDecorate %tint_symbol_9 Location 7
|
||||
OpDecorate %tint_symbol_9 NoPerspective
|
||||
OpDecorate %tint_symbol_9 Sample
|
||||
OpDecorate %pos_1 BuiltIn Position
|
||||
OpDecorate %none_1 Location 0
|
||||
OpDecorate %flat_1 Location 1
|
||||
OpDecorate %flat_1 Flat
|
||||
OpDecorate %perspective_center_1 Location 2
|
||||
OpDecorate %perspective_centroid_1 Location 3
|
||||
OpDecorate %perspective_centroid_1 Centroid
|
||||
OpDecorate %perspective_sample_1 Location 4
|
||||
OpDecorate %perspective_sample_1 Sample
|
||||
OpDecorate %linear_center_1 Location 5
|
||||
OpDecorate %linear_center_1 NoPerspective
|
||||
OpDecorate %linear_centroid_1 Location 6
|
||||
OpDecorate %linear_centroid_1 NoPerspective
|
||||
OpDecorate %linear_centroid_1 Centroid
|
||||
OpDecorate %linear_sample_1 Location 7
|
||||
OpDecorate %linear_sample_1 NoPerspective
|
||||
OpDecorate %linear_sample_1 Sample
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %Out 0 Offset 0
|
||||
OpMemberDecorate %Out 1 Offset 16
|
||||
OpMemberDecorate %Out 2 Offset 20
|
||||
@@ -58,53 +57,52 @@
|
||||
OpMemberDecorate %Out 7 Offset 40
|
||||
OpMemberDecorate %Out 8 Offset 44
|
||||
%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
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_7 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_8 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_9 = OpVariable %_ptr_Output_float Output %4
|
||||
%void = OpTypeVoid
|
||||
%5 = OpConstantNull %v4float
|
||||
%pos_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%none_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%flat_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%perspective_center_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%perspective_centroid_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%perspective_sample_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%linear_center_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%linear_centroid_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%linear_sample_1 = OpVariable %_ptr_Output_float Output %8
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%Out = OpTypeStruct %v4float %float %float %float %float %float %float %float %float
|
||||
%17 = OpTypeFunction %void %Out
|
||||
%32 = OpTypeFunction %void
|
||||
%17 = OpTypeFunction %Out
|
||||
%21 = OpConstantNull %Out
|
||||
%void = OpTypeVoid
|
||||
%22 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%37 = OpConstantNull %Out
|
||||
%tint_symbol_10 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %Out
|
||||
%22 = OpLabel
|
||||
%23 = OpCompositeExtract %v4float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %23
|
||||
%24 = OpCompositeExtract %float %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %24
|
||||
%25 = OpCompositeExtract %float %tint_symbol 2
|
||||
OpStore %tint_symbol_3 %25
|
||||
%26 = OpCompositeExtract %float %tint_symbol 3
|
||||
OpStore %tint_symbol_4 %26
|
||||
%27 = OpCompositeExtract %float %tint_symbol 4
|
||||
OpStore %tint_symbol_5 %27
|
||||
%28 = OpCompositeExtract %float %tint_symbol 5
|
||||
OpStore %tint_symbol_6 %28
|
||||
%29 = OpCompositeExtract %float %tint_symbol 6
|
||||
OpStore %tint_symbol_7 %29
|
||||
%30 = OpCompositeExtract %float %tint_symbol 7
|
||||
OpStore %tint_symbol_8 %30
|
||||
%31 = OpCompositeExtract %float %tint_symbol 8
|
||||
OpStore %tint_symbol_9 %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %32
|
||||
%34 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%36 = OpFunctionCall %void %tint_symbol_10 %37
|
||||
%main_inner = OpFunction %Out None %17
|
||||
%20 = OpLabel
|
||||
OpReturnValue %21
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %22
|
||||
%25 = OpLabel
|
||||
%26 = OpFunctionCall %Out %main_inner
|
||||
%27 = OpCompositeExtract %v4float %26 0
|
||||
OpStore %pos_1 %27
|
||||
%28 = OpCompositeExtract %float %26 1
|
||||
OpStore %none_1 %28
|
||||
%29 = OpCompositeExtract %float %26 2
|
||||
OpStore %flat_1 %29
|
||||
%30 = OpCompositeExtract %float %26 3
|
||||
OpStore %perspective_center_1 %30
|
||||
%31 = OpCompositeExtract %float %26 4
|
||||
OpStore %perspective_centroid_1 %31
|
||||
%32 = OpCompositeExtract %float %26 5
|
||||
OpStore %perspective_sample_1 %32
|
||||
%33 = OpCompositeExtract %float %26 6
|
||||
OpStore %linear_center_1 %33
|
||||
%34 = OpCompositeExtract %float %26 7
|
||||
OpStore %linear_centroid_1 %34
|
||||
%35 = OpCompositeExtract %float %26 8
|
||||
OpStore %linear_sample_1 %35
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,40 +1,38 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 19
|
||||
; Bound: 18
|
||||
; 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 %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpEntryPoint Vertex %main "main" %value %vertex_point_size
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %tint_symbol_1 Invariant
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %value Invariant
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%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
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%9 = OpTypeFunction %v4float
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void %v4float
|
||||
%14 = OpTypeFunction %void
|
||||
%12 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%tint_symbol_2 = OpFunction %void None %9
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%13 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %14
|
||||
%16 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%18 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%main_inner = OpFunction %v4float None %9
|
||||
%11 = OpLabel
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %12
|
||||
%15 = OpLabel
|
||||
%16 = OpFunctionCall %v4float %main_inner
|
||||
OpStore %value %16
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,46 +1,44 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 22
|
||||
; Bound: 21
|
||||
; 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"
|
||||
OpEntryPoint Vertex %main "main" %pos_1 %vertex_point_size
|
||||
OpName %pos_1 "pos_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %Out "Out"
|
||||
OpMemberName %Out 0 "pos"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %tint_symbol_1 Invariant
|
||||
OpDecorate %pos_1 BuiltIn Position
|
||||
OpDecorate %pos_1 Invariant
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %Out 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
|
||||
%5 = OpConstantNull %v4float
|
||||
%pos_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%Out = OpTypeStruct %v4float
|
||||
%9 = OpTypeFunction %void %Out
|
||||
%16 = OpTypeFunction %void
|
||||
%9 = OpTypeFunction %Out
|
||||
%13 = OpConstantNull %Out
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%21 = OpConstantNull %Out
|
||||
%tint_symbol_2 = OpFunction %void None %9
|
||||
%tint_symbol = OpFunctionParameter %Out
|
||||
%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 %21
|
||||
%main_inner = OpFunction %Out None %9
|
||||
%12 = OpLabel
|
||||
OpReturnValue %13
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %14
|
||||
%17 = OpLabel
|
||||
%18 = OpFunctionCall %Out %main_inner
|
||||
%19 = OpCompositeExtract %v4float %18 0
|
||||
OpStore %pos_1 %19
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,85 +1,92 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 41
|
||||
; Bound: 45
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vert_main "vert_main" %tint_pointsize %tint_symbol_1 %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %tint_symbol_5 %tint_symbol_6 %tint_symbol_7
|
||||
OpEntryPoint Vertex %vert_main "vert_main" %col1_1 %col2_1 %pos_1 %vertex_point_size
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %col1_2 %col2_2 %pos_2
|
||||
OpExecutionMode %frag_main OriginUpperLeft
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %col1_1 "col1_1"
|
||||
OpName %col2_1 "col2_1"
|
||||
OpName %pos_1 "pos_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %col1_2 "col1_2"
|
||||
OpName %col2_2 "col2_2"
|
||||
OpName %pos_2 "pos_2"
|
||||
OpName %Interface "Interface"
|
||||
OpMemberName %Interface 0 "col1"
|
||||
OpMemberName %Interface 1 "col2"
|
||||
OpMemberName %Interface 2 "pos"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vert_main_inner "vert_main_inner"
|
||||
OpName %vert_main "vert_main"
|
||||
OpName %frag_main_inner "frag_main_inner"
|
||||
OpName %colors "colors"
|
||||
OpName %frag_main "frag_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 BuiltIn Position
|
||||
OpDecorate %tint_symbol_5 Location 1
|
||||
OpDecorate %tint_symbol_6 Location 2
|
||||
OpDecorate %tint_symbol_7 BuiltIn FragCoord
|
||||
OpDecorate %col1_1 Location 1
|
||||
OpDecorate %col2_1 Location 2
|
||||
OpDecorate %pos_1 BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %col1_2 Location 1
|
||||
OpDecorate %col2_2 Location 2
|
||||
OpDecorate %pos_2 BuiltIn FragCoord
|
||||
OpMemberDecorate %Interface 0 Offset 0
|
||||
OpMemberDecorate %Interface 1 Offset 4
|
||||
OpMemberDecorate %Interface 2 Offset 16
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_float Output %4
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_float Output %4
|
||||
%col1_1 = OpVariable %_ptr_Output_float Output %4
|
||||
%col2_1 = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%10 = OpConstantNull %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_v4float Output %10
|
||||
%9 = OpConstantNull %v4float
|
||||
%pos_1 = OpVariable %_ptr_Output_v4float Output %9
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %4
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_float Input
|
||||
%tint_symbol_6 = OpVariable %_ptr_Input_float Input
|
||||
%col1_2 = OpVariable %_ptr_Input_float Input
|
||||
%col2_2 = OpVariable %_ptr_Input_float Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_7 = OpVariable %_ptr_Input_v4float Input
|
||||
%void = OpTypeVoid
|
||||
%pos_2 = OpVariable %_ptr_Input_v4float Input
|
||||
%Interface = OpTypeStruct %float %float %v4float
|
||||
%16 = OpTypeFunction %void %Interface
|
||||
%25 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%16 = OpTypeFunction %Interface
|
||||
%float_0_400000006 = OpConstant %float 0.400000006
|
||||
%float_0_600000024 = OpConstant %float 0.600000024
|
||||
%32 = OpConstantComposite %Interface %float_0_400000006 %float_0_600000024 %10
|
||||
%tint_symbol_4 = OpFunction %void None %16
|
||||
%tint_symbol = OpFunctionParameter %Interface
|
||||
%21 = OpLabel
|
||||
%22 = OpCompositeExtract %float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %22
|
||||
%23 = OpCompositeExtract %float %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %23
|
||||
%24 = OpCompositeExtract %v4float %tint_symbol 2
|
||||
OpStore %tint_symbol_3 %24
|
||||
%22 = OpConstantComposite %Interface %float_0_400000006 %float_0_600000024 %9
|
||||
%void = OpTypeVoid
|
||||
%23 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%32 = OpTypeFunction %void %Interface
|
||||
%vert_main_inner = OpFunction %Interface None %16
|
||||
%19 = OpLabel
|
||||
OpReturnValue %22
|
||||
OpFunctionEnd
|
||||
%vert_main = OpFunction %void None %23
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %Interface %vert_main_inner
|
||||
%28 = OpCompositeExtract %float %27 0
|
||||
OpStore %col1_1 %28
|
||||
%29 = OpCompositeExtract %float %27 1
|
||||
OpStore %col2_1 %29
|
||||
%30 = OpCompositeExtract %v4float %27 2
|
||||
OpStore %pos_1 %30
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%vert_main = OpFunction %void None %25
|
||||
%27 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%29 = OpFunctionCall %void %tint_symbol_4 %32
|
||||
%frag_main_inner = OpFunction %void None %32
|
||||
%colors = OpFunctionParameter %Interface
|
||||
%35 = OpLabel
|
||||
%36 = OpCompositeExtract %float %colors 0
|
||||
%37 = OpCompositeExtract %float %colors 1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%frag_main = OpFunction %void None %25
|
||||
%34 = OpLabel
|
||||
%35 = OpLoad %float %tint_symbol_5
|
||||
%36 = OpLoad %float %tint_symbol_6
|
||||
%37 = OpLoad %v4float %tint_symbol_7
|
||||
%38 = OpCompositeConstruct %Interface %35 %36 %37
|
||||
%39 = OpCompositeExtract %float %38 0
|
||||
%40 = OpCompositeExtract %float %38 1
|
||||
%frag_main = OpFunction %void None %23
|
||||
%39 = OpLabel
|
||||
%41 = OpLoad %float %col1_2
|
||||
%42 = OpLoad %float %col2_2
|
||||
%43 = OpLoad %v4float %pos_2
|
||||
%44 = OpCompositeConstruct %Interface %41 %42 %43
|
||||
%40 = OpFunctionCall %void %frag_main_inner %44
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,96 +1,95 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 47
|
||||
; Bound: 46
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vert_main1 "vert_main1" %tint_pointsize %tint_symbol_1 %tint_symbol_2
|
||||
OpEntryPoint Vertex %vert_main2 "vert_main2" %tint_pointsize %tint_symbol_5 %tint_symbol_6
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpEntryPoint Vertex %vert_main1 "vert_main1" %pos_1 %loc0_1 %vertex_point_size
|
||||
OpEntryPoint Vertex %vert_main2 "vert_main2" %pos_2 %loc0_2 %vertex_point_size_1
|
||||
OpName %pos_1 "pos_1"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %pos_2 "pos_2"
|
||||
OpName %loc0_2 "loc0_2"
|
||||
OpName %vertex_point_size_1 "vertex_point_size_1"
|
||||
OpName %VertexOutput "VertexOutput"
|
||||
OpMemberName %VertexOutput 0 "pos"
|
||||
OpMemberName %VertexOutput 1 "loc0"
|
||||
OpName %foo "foo"
|
||||
OpName %x "x"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vert_main1_inner "vert_main1_inner"
|
||||
OpName %vert_main1 "vert_main1"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %vert_main2_inner "vert_main2_inner"
|
||||
OpName %vert_main2 "vert_main2"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %tint_symbol_2 Location 0
|
||||
OpDecorate %tint_symbol_2 Flat
|
||||
OpDecorate %tint_symbol_5 BuiltIn Position
|
||||
OpDecorate %tint_symbol_6 Location 0
|
||||
OpDecorate %tint_symbol_6 Flat
|
||||
OpDecorate %pos_1 BuiltIn Position
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc0_1 Flat
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %pos_2 BuiltIn Position
|
||||
OpDecorate %loc0_2 Location 0
|
||||
OpDecorate %loc0_2 Flat
|
||||
OpDecorate %vertex_point_size_1 BuiltIn PointSize
|
||||
OpMemberDecorate %VertexOutput 0 Offset 0
|
||||
OpMemberDecorate %VertexOutput 1 Offset 16
|
||||
%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
|
||||
%5 = OpConstantNull %v4float
|
||||
%pos_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Output_int = OpTypePointer Output %int
|
||||
%12 = OpConstantNull %int
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_int Output %12
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output_int Output %12
|
||||
%9 = OpConstantNull %int
|
||||
%loc0_1 = OpVariable %_ptr_Output_int Output %9
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %12
|
||||
%pos_2 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%loc0_2 = OpVariable %_ptr_Output_int Output %9
|
||||
%vertex_point_size_1 = OpVariable %_ptr_Output_float Output %12
|
||||
%VertexOutput = OpTypeStruct %v4float %int
|
||||
%15 = OpTypeFunction %VertexOutput %float
|
||||
%16 = OpTypeFunction %VertexOutput %float
|
||||
%float_1 = OpConstant %float 1
|
||||
%int_42 = OpConstant %int 42
|
||||
%void = OpTypeVoid
|
||||
%24 = OpTypeFunction %void %VertexOutput
|
||||
%31 = OpTypeFunction %void
|
||||
%25 = OpTypeFunction %VertexOutput
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%void = OpTypeVoid
|
||||
%30 = OpTypeFunction %void
|
||||
%float_0_25 = OpConstant %float 0.25
|
||||
%foo = OpFunction %VertexOutput None %15
|
||||
%foo = OpFunction %VertexOutput None %16
|
||||
%x = OpFunctionParameter %float
|
||||
%19 = OpLabel
|
||||
%21 = OpCompositeConstruct %v4float %x %x %x %float_1
|
||||
%23 = OpCompositeConstruct %VertexOutput %21 %int_42
|
||||
OpReturnValue %23
|
||||
%20 = OpLabel
|
||||
%22 = OpCompositeConstruct %v4float %x %x %x %float_1
|
||||
%24 = OpCompositeConstruct %VertexOutput %22 %int_42
|
||||
OpReturnValue %24
|
||||
OpFunctionEnd
|
||||
%tint_symbol_3 = OpFunction %void None %24
|
||||
%tint_symbol = OpFunctionParameter %VertexOutput
|
||||
%28 = OpLabel
|
||||
%29 = OpCompositeExtract %v4float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %29
|
||||
%30 = OpCompositeExtract %int %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %30
|
||||
OpReturn
|
||||
%vert_main1_inner = OpFunction %VertexOutput None %25
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %VertexOutput %foo %float_0_5
|
||||
OpReturnValue %28
|
||||
OpFunctionEnd
|
||||
%vert_main1 = OpFunction %void None %31
|
||||
%vert_main1 = OpFunction %void None %30
|
||||
%33 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%35 = OpFunctionCall %VertexOutput %foo %float_0_5
|
||||
%34 = OpFunctionCall %void %tint_symbol_3 %35
|
||||
%34 = OpFunctionCall %VertexOutput %vert_main1_inner
|
||||
%35 = OpCompositeExtract %v4float %34 0
|
||||
OpStore %pos_1 %35
|
||||
%36 = OpCompositeExtract %int %34 1
|
||||
OpStore %loc0_1 %36
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_7 = OpFunction %void None %24
|
||||
%tint_symbol_4 = OpFunctionParameter %VertexOutput
|
||||
%39 = OpLabel
|
||||
%40 = OpCompositeExtract %v4float %tint_symbol_4 0
|
||||
OpStore %tint_symbol_5 %40
|
||||
%41 = OpCompositeExtract %int %tint_symbol_4 1
|
||||
OpStore %tint_symbol_6 %41
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%vert_main2 = OpFunction %void None %31
|
||||
%43 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%45 = OpFunctionCall %VertexOutput %foo %float_0_25
|
||||
%44 = OpFunctionCall %void %tint_symbol_7 %45
|
||||
%vert_main2_inner = OpFunction %VertexOutput None %25
|
||||
%38 = OpLabel
|
||||
%39 = OpFunctionCall %VertexOutput %foo %float_0_25
|
||||
OpReturnValue %39
|
||||
OpFunctionEnd
|
||||
%vert_main2 = OpFunction %void None %30
|
||||
%42 = OpLabel
|
||||
%43 = OpFunctionCall %VertexOutput %vert_main2_inner
|
||||
%44 = OpCompositeExtract %v4float %43 0
|
||||
OpStore %pos_2 %44
|
||||
%45 = OpCompositeExtract %int %43 1
|
||||
OpStore %loc0_2 %45
|
||||
OpStore %vertex_point_size_1 %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,21 +1,27 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 24
|
||||
; Bound: 29
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %tint_symbol %tint_symbol_1 %tint_symbol_2
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %f_1 %u_1 %v_1
|
||||
OpExecutionMode %frag_main OriginUpperLeft
|
||||
OpName %f_1 "f_1"
|
||||
OpName %u_1 "u_1"
|
||||
OpName %v_1 "v_1"
|
||||
OpName %S "S"
|
||||
OpMemberName %S 0 "f"
|
||||
OpMemberName %S 1 "u"
|
||||
OpMemberName %S 2 "v"
|
||||
OpName %output "output"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %frag_main_inner "frag_main_inner"
|
||||
OpName %input "input"
|
||||
OpName %frag_main "frag_main"
|
||||
OpDecorate %f_1 Location 0
|
||||
OpDecorate %u_1 Location 1
|
||||
OpDecorate %u_1 Flat
|
||||
OpDecorate %v_1 BuiltIn FragCoord
|
||||
OpDecorate %S Block
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpMemberDecorate %S 1 Offset 4
|
||||
@@ -23,33 +29,36 @@
|
||||
OpDecorate %output NonReadable
|
||||
OpDecorate %output DescriptorSet 0
|
||||
OpDecorate %output Binding 0
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 BuiltIn FragCoord
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%f_1 = OpVariable %_ptr_Input_float Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%u_1 = OpVariable %_ptr_Input_uint Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%v_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%S = OpTypeStruct %float %uint %v4float
|
||||
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
|
||||
%output = OpVariable %_ptr_StorageBuffer_S StorageBuffer
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol = OpVariable %_ptr_Input_float Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_v4float Input
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void
|
||||
%frag_main = OpFunction %void None %13
|
||||
%16 = OpLabel
|
||||
%17 = OpLoad %float %tint_symbol
|
||||
%18 = OpLoad %uint %tint_symbol_1
|
||||
%19 = OpLoad %v4float %tint_symbol_2
|
||||
%20 = OpCompositeConstruct %S %17 %18 %19
|
||||
%21 = OpCompositeExtract %float %20 0
|
||||
%22 = OpCompositeExtract %uint %20 1
|
||||
%23 = OpCompositeExtract %v4float %20 2
|
||||
OpStore %output %20
|
||||
%13 = OpTypeFunction %void %S
|
||||
%21 = OpTypeFunction %void
|
||||
%frag_main_inner = OpFunction %void None %13
|
||||
%input = OpFunctionParameter %S
|
||||
%17 = OpLabel
|
||||
%18 = OpCompositeExtract %float %input 0
|
||||
%19 = OpCompositeExtract %uint %input 1
|
||||
%20 = OpCompositeExtract %v4float %input 2
|
||||
OpStore %output %input
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%frag_main = OpFunction %void None %21
|
||||
%23 = OpLabel
|
||||
%25 = OpLoad %float %f_1
|
||||
%26 = OpLoad %uint %u_1
|
||||
%27 = OpLoad %v4float %v_1
|
||||
%28 = OpCompositeConstruct %S %25 %26 %27
|
||||
%24 = OpFunctionCall %void %frag_main_inner %28
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,50 +1,52 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 27
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_1 %tint_symbol_3
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpEntryPoint Vertex %main "main" %vertex_index_1 %instance_index_1 %value %vertex_point_size
|
||||
OpName %vertex_index_1 "vertex_index_1"
|
||||
OpName %instance_index_1 "instance_index_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %vertex_index "vertex_index"
|
||||
OpName %instance_index "instance_index"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol BuiltIn VertexIndex
|
||||
OpDecorate %tint_symbol_1 BuiltIn InstanceIndex
|
||||
OpDecorate %tint_symbol_3 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
OpDecorate %vertex_index_1 BuiltIn VertexIndex
|
||||
OpDecorate %instance_index_1 BuiltIn InstanceIndex
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%vertex_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%instance_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%12 = OpConstantNull %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%9 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %9
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %12
|
||||
%13 = OpTypeFunction %v4float %uint %uint
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %void
|
||||
%19 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%tint_symbol_4 = OpFunction %void None %13
|
||||
%tint_symbol_2 = OpFunctionParameter %v4float
|
||||
%main_inner = OpFunction %v4float None %13
|
||||
%vertex_index = OpFunctionParameter %uint
|
||||
%instance_index = OpFunctionParameter %uint
|
||||
%17 = OpLabel
|
||||
OpStore %tint_symbol_3 %tint_symbol_2
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %18
|
||||
%20 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%22 = OpLoad %uint %tint_symbol
|
||||
%23 = OpLoad %uint %tint_symbol_1
|
||||
%24 = OpIAdd %uint %22 %23
|
||||
%25 = OpFunctionCall %void %tint_symbol_4 %12
|
||||
%18 = OpIAdd %uint %vertex_index %instance_index
|
||||
OpReturnValue %9
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %19
|
||||
%22 = OpLabel
|
||||
%24 = OpLoad %uint %vertex_index_1
|
||||
%25 = OpLoad %uint %instance_index_1
|
||||
%23 = OpFunctionCall %v4float %main_inner %24 %25
|
||||
OpStore %value %23
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -5,55 +5,55 @@
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_1 %tint_symbol_4
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %main "main"
|
||||
OpEntryPoint Vertex %main "main" %vertex_index_1 %instance_index_1 %value %vertex_point_size
|
||||
OpName %vertex_index_1 "vertex_index_1"
|
||||
OpName %instance_index_1 "instance_index_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %VertexInputs "VertexInputs"
|
||||
OpMemberName %VertexInputs 0 "vertex_index"
|
||||
OpMemberName %VertexInputs 1 "instance_index"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol BuiltIn VertexIndex
|
||||
OpDecorate %tint_symbol_1 BuiltIn InstanceIndex
|
||||
OpDecorate %tint_symbol_4 BuiltIn Position
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs "inputs"
|
||||
OpName %main "main"
|
||||
OpDecorate %vertex_index_1 BuiltIn VertexIndex
|
||||
OpDecorate %instance_index_1 BuiltIn InstanceIndex
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %VertexInputs 0 Offset 0
|
||||
OpMemberDecorate %VertexInputs 1 Offset 4
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%vertex_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%instance_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%12 = OpConstantNull %v4float
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%9 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %9
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %12
|
||||
%VertexInputs = OpTypeStruct %uint %uint
|
||||
%tint_symbol_5 = OpFunction %void None %13
|
||||
%tint_symbol_3 = OpFunctionParameter %v4float
|
||||
%13 = OpTypeFunction %v4float %VertexInputs
|
||||
%void = OpTypeVoid
|
||||
%21 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%main_inner = OpFunction %v4float None %13
|
||||
%inputs = OpFunctionParameter %VertexInputs
|
||||
%17 = OpLabel
|
||||
OpStore %tint_symbol_4 %tint_symbol_3
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %18
|
||||
%20 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%23 = OpLoad %uint %tint_symbol
|
||||
%24 = OpLoad %uint %tint_symbol_1
|
||||
%25 = OpCompositeConstruct %VertexInputs %23 %24
|
||||
%26 = OpCompositeExtract %uint %25 0
|
||||
%27 = OpCompositeExtract %uint %25 1
|
||||
%28 = OpIAdd %uint %26 %27
|
||||
%29 = OpFunctionCall %void %tint_symbol_5 %12
|
||||
%18 = OpCompositeExtract %uint %inputs 0
|
||||
%19 = OpCompositeExtract %uint %inputs 1
|
||||
%20 = OpIAdd %uint %18 %19
|
||||
OpReturnValue %9
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %21
|
||||
%24 = OpLabel
|
||||
%26 = OpLoad %uint %vertex_index_1
|
||||
%27 = OpLoad %uint %instance_index_1
|
||||
%28 = OpCompositeConstruct %VertexInputs %26 %27
|
||||
%25 = OpFunctionCall %v4float %main_inner %28
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,61 +1,67 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 33
|
||||
; Bound: 36
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_5
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpEntryPoint Vertex %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1 %value %vertex_point_size
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %loc0 "loc0"
|
||||
OpName %loc1 "loc1"
|
||||
OpName %loc2 "loc2"
|
||||
OpName %loc3 "loc3"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_5 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol = OpVariable %_ptr_Input_int Input
|
||||
%loc0_1 = OpVariable %_ptr_Input_int Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%loc1_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_float Input
|
||||
%loc2_1 = OpVariable %_ptr_Input_float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v4float Input
|
||||
%loc3_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%18 = OpConstantNull %v4float
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output_v4float Output %18
|
||||
%15 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %15
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%18 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %18
|
||||
%19 = OpTypeFunction %v4float %int %uint %float %v4float
|
||||
%void = OpTypeVoid
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%24 = OpTypeFunction %void
|
||||
%26 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%tint_symbol_6 = OpFunction %void None %19
|
||||
%tint_symbol_4 = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_5 %tint_symbol_4
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %24
|
||||
%26 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%28 = OpLoad %int %tint_symbol
|
||||
%29 = OpLoad %uint %tint_symbol_1
|
||||
%30 = OpLoad %float %tint_symbol_2
|
||||
%31 = OpLoad %v4float %tint_symbol_3
|
||||
%32 = OpFunctionCall %void %tint_symbol_6 %18
|
||||
%main_inner = OpFunction %v4float None %19
|
||||
%loc0 = OpFunctionParameter %int
|
||||
%loc1 = OpFunctionParameter %uint
|
||||
%loc2 = OpFunctionParameter %float
|
||||
%loc3 = OpFunctionParameter %v4float
|
||||
%25 = OpLabel
|
||||
OpReturnValue %15
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %26
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %int %loc0_1
|
||||
%32 = OpLoad %uint %loc1_1
|
||||
%33 = OpLoad %float %loc2_1
|
||||
%34 = OpLoad %v4float %loc3_1
|
||||
%30 = OpFunctionCall %v4float %main_inner %31 %32 %33 %34
|
||||
OpStore %value %30
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -5,72 +5,72 @@
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_6
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %main "main"
|
||||
OpEntryPoint Vertex %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1 %value %vertex_point_size
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %VertexInputs "VertexInputs"
|
||||
OpMemberName %VertexInputs 0 "loc0"
|
||||
OpMemberName %VertexInputs 1 "loc1"
|
||||
OpMemberName %VertexInputs 2 "loc2"
|
||||
OpMemberName %VertexInputs 3 "loc3"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_6 BuiltIn Position
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs "inputs"
|
||||
OpName %main "main"
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %VertexInputs 0 Offset 0
|
||||
OpMemberDecorate %VertexInputs 1 Offset 4
|
||||
OpMemberDecorate %VertexInputs 2 Offset 8
|
||||
OpMemberDecorate %VertexInputs 3 Offset 16
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol = OpVariable %_ptr_Input_int Input
|
||||
%loc0_1 = OpVariable %_ptr_Input_int Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%loc1_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_float Input
|
||||
%loc2_1 = OpVariable %_ptr_Input_float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v4float Input
|
||||
%loc3_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%18 = OpConstantNull %v4float
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output_v4float Output %18
|
||||
%void = OpTypeVoid
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%24 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%15 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %15
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%18 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %18
|
||||
%VertexInputs = OpTypeStruct %int %uint %float %v4float
|
||||
%tint_symbol_7 = OpFunction %void None %19
|
||||
%tint_symbol_5 = OpFunctionParameter %v4float
|
||||
%19 = OpTypeFunction %v4float %VertexInputs
|
||||
%void = OpTypeVoid
|
||||
%28 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%main_inner = OpFunction %v4float None %19
|
||||
%inputs = OpFunctionParameter %VertexInputs
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_6 %tint_symbol_5
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %24
|
||||
%26 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%29 = OpLoad %int %tint_symbol
|
||||
%30 = OpLoad %uint %tint_symbol_1
|
||||
%31 = OpLoad %float %tint_symbol_2
|
||||
%32 = OpLoad %v4float %tint_symbol_3
|
||||
%33 = OpCompositeConstruct %VertexInputs %29 %30 %31 %32
|
||||
%34 = OpCompositeExtract %int %33 0
|
||||
%35 = OpCompositeExtract %uint %33 1
|
||||
%36 = OpCompositeExtract %float %33 2
|
||||
%37 = OpCompositeExtract %v4float %33 3
|
||||
%38 = OpFunctionCall %void %tint_symbol_7 %18
|
||||
%24 = OpCompositeExtract %int %inputs 0
|
||||
%25 = OpCompositeExtract %uint %inputs 1
|
||||
%26 = OpCompositeExtract %float %inputs 2
|
||||
%27 = OpCompositeExtract %v4float %inputs 3
|
||||
OpReturnValue %15
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %28
|
||||
%31 = OpLabel
|
||||
%33 = OpLoad %int %loc0_1
|
||||
%34 = OpLoad %uint %loc1_1
|
||||
%35 = OpLoad %float %loc2_1
|
||||
%36 = OpLoad %v4float %loc3_1
|
||||
%37 = OpCompositeConstruct %VertexInputs %33 %34 %35 %36
|
||||
%32 = OpFunctionCall %v4float %main_inner %37
|
||||
OpStore %value %32
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,88 +1,94 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 46
|
||||
; Bound: 49
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_1 %tint_symbol_5 %tint_symbol_6 %tint_symbol_4 %tint_symbol_3 %tint_symbol_9
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_9 "tint_symbol_9"
|
||||
OpName %tint_symbol_10 "tint_symbol_10"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %main "main"
|
||||
OpEntryPoint Vertex %main "main" %vertex_index_1 %loc0_1 %loc1_1 %instance_index_1 %loc2_1 %loc3_1 %value %vertex_point_size
|
||||
OpName %vertex_index_1 "vertex_index_1"
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %instance_index_1 "instance_index_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %VertexInputs0 "VertexInputs0"
|
||||
OpMemberName %VertexInputs0 0 "vertex_index"
|
||||
OpMemberName %VertexInputs0 1 "loc0"
|
||||
OpName %VertexInputs1 "VertexInputs1"
|
||||
OpMemberName %VertexInputs1 0 "loc2"
|
||||
OpMemberName %VertexInputs1 1 "loc3"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol BuiltIn VertexIndex
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_3 Location 1
|
||||
OpDecorate %tint_symbol_4 BuiltIn InstanceIndex
|
||||
OpDecorate %tint_symbol_5 Location 2
|
||||
OpDecorate %tint_symbol_6 Location 3
|
||||
OpDecorate %tint_symbol_9 BuiltIn Position
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %inputs0 "inputs0"
|
||||
OpName %loc1 "loc1"
|
||||
OpName %instance_index "instance_index"
|
||||
OpName %inputs1 "inputs1"
|
||||
OpName %main "main"
|
||||
OpDecorate %vertex_index_1 BuiltIn VertexIndex
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %instance_index_1 BuiltIn InstanceIndex
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %VertexInputs0 0 Offset 0
|
||||
OpMemberDecorate %VertexInputs0 1 Offset 4
|
||||
OpMemberDecorate %VertexInputs1 0 Offset 0
|
||||
OpMemberDecorate %VertexInputs1 1 Offset 16
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%vertex_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_int Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_uint Input
|
||||
%loc0_1 = OpVariable %_ptr_Input_int Input
|
||||
%loc1_1 = OpVariable %_ptr_Input_uint Input
|
||||
%instance_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_float Input
|
||||
%loc2_1 = OpVariable %_ptr_Input_float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_6 = OpVariable %_ptr_Input_v4float Input
|
||||
%loc3_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%20 = OpConstantNull %v4float
|
||||
%tint_symbol_9 = OpVariable %_ptr_Output_v4float Output %20
|
||||
%void = OpTypeVoid
|
||||
%21 = OpTypeFunction %void %v4float
|
||||
%26 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%17 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %17
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%20 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %20
|
||||
%VertexInputs0 = OpTypeStruct %uint %int
|
||||
%VertexInputs1 = OpTypeStruct %float %v4float
|
||||
%tint_symbol_10 = OpFunction %void None %21
|
||||
%tint_symbol_8 = OpFunctionParameter %v4float
|
||||
%25 = OpLabel
|
||||
OpStore %tint_symbol_9 %tint_symbol_8
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %26
|
||||
%28 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%31 = OpLoad %uint %tint_symbol
|
||||
%32 = OpLoad %int %tint_symbol_1
|
||||
%33 = OpCompositeConstruct %VertexInputs0 %31 %32
|
||||
%35 = OpLoad %float %tint_symbol_5
|
||||
%36 = OpLoad %v4float %tint_symbol_6
|
||||
%37 = OpCompositeConstruct %VertexInputs1 %35 %36
|
||||
%38 = OpCompositeExtract %uint %33 0
|
||||
%39 = OpLoad %uint %tint_symbol_4
|
||||
%40 = OpIAdd %uint %38 %39
|
||||
%41 = OpCompositeExtract %int %33 1
|
||||
%42 = OpLoad %uint %tint_symbol_3
|
||||
%43 = OpCompositeExtract %float %37 0
|
||||
%44 = OpCompositeExtract %v4float %37 1
|
||||
%45 = OpFunctionCall %void %tint_symbol_10 %20
|
||||
%21 = OpTypeFunction %v4float %VertexInputs0 %uint %uint %VertexInputs1
|
||||
%void = OpTypeVoid
|
||||
%35 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%main_inner = OpFunction %v4float None %21
|
||||
%inputs0 = OpFunctionParameter %VertexInputs0
|
||||
%loc1 = OpFunctionParameter %uint
|
||||
%instance_index = OpFunctionParameter %uint
|
||||
%inputs1 = OpFunctionParameter %VertexInputs1
|
||||
%29 = OpLabel
|
||||
%30 = OpCompositeExtract %uint %inputs0 0
|
||||
%31 = OpIAdd %uint %30 %instance_index
|
||||
%32 = OpCompositeExtract %int %inputs0 1
|
||||
%33 = OpCompositeExtract %float %inputs1 0
|
||||
%34 = OpCompositeExtract %v4float %inputs1 1
|
||||
OpReturnValue %17
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %35
|
||||
%38 = OpLabel
|
||||
%40 = OpLoad %uint %vertex_index_1
|
||||
%41 = OpLoad %int %loc0_1
|
||||
%42 = OpCompositeConstruct %VertexInputs0 %40 %41
|
||||
%43 = OpLoad %uint %loc1_1
|
||||
%44 = OpLoad %uint %instance_index_1
|
||||
%45 = OpLoad %float %loc2_1
|
||||
%46 = OpLoad %v4float %loc3_1
|
||||
%47 = OpCompositeConstruct %VertexInputs1 %45 %46
|
||||
%39 = OpFunctionCall %v4float %main_inner %42 %43 %44 %47
|
||||
OpStore %value %39
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,43 +1,41 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 23
|
||||
; Bound: 22
|
||||
; 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 %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpEntryPoint Vertex %main "main" %value %vertex_point_size
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%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
|
||||
%9 = OpTypeFunction %void %v4float
|
||||
%14 = OpTypeFunction %void
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%9 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%float_4 = OpConstant %float 4
|
||||
%22 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%tint_symbol_2 = OpFunction %void None %9
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%13 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %14
|
||||
%16 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%18 = OpFunctionCall %void %tint_symbol_2 %22
|
||||
%16 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%void = OpTypeVoid
|
||||
%17 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %v4float None %9
|
||||
%11 = OpLabel
|
||||
OpReturnValue %16
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %17
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %v4float %main_inner
|
||||
OpStore %value %21
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,49 +1,47 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 25
|
||||
; 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"
|
||||
OpEntryPoint Vertex %main "main" %position_1 %vertex_point_size
|
||||
OpName %position_1 "position_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %VertexOutputs "VertexOutputs"
|
||||
OpMemberName %VertexOutputs 0 "position"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %position_1 BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
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
|
||||
%5 = OpConstantNull %v4float
|
||||
%position_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%VertexOutputs = OpTypeStruct %v4float
|
||||
%9 = OpTypeFunction %void %VertexOutputs
|
||||
%16 = OpTypeFunction %void
|
||||
%9 = OpTypeFunction %VertexOutputs
|
||||
%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
|
||||
%17 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%18 = OpConstantComposite %VertexOutputs %17
|
||||
%void = OpTypeVoid
|
||||
%19 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %VertexOutputs None %9
|
||||
%12 = OpLabel
|
||||
OpReturnValue %18
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %19
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %VertexOutputs %main_inner
|
||||
%24 = OpCompositeExtract %v4float %23 0
|
||||
OpStore %position_1 %24
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
@@ -1,87 +1,85 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 42
|
||||
; Bound: 41
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_5
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpEntryPoint Vertex %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1 %position_1 %vertex_point_size
|
||||
OpName %loc0_1 "loc0_1"
|
||||
OpName %loc1_1 "loc1_1"
|
||||
OpName %loc2_1 "loc2_1"
|
||||
OpName %loc3_1 "loc3_1"
|
||||
OpName %position_1 "position_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %VertexOutputs "VertexOutputs"
|
||||
OpMemberName %VertexOutputs 0 "loc0"
|
||||
OpMemberName %VertexOutputs 1 "loc1"
|
||||
OpMemberName %VertexOutputs 2 "loc2"
|
||||
OpMemberName %VertexOutputs 3 "loc3"
|
||||
OpMemberName %VertexOutputs 4 "position"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_1 Flat
|
||||
OpDecorate %tint_symbol_2 Location 1
|
||||
OpDecorate %tint_symbol_2 Flat
|
||||
OpDecorate %tint_symbol_3 Location 2
|
||||
OpDecorate %tint_symbol_4 Location 3
|
||||
OpDecorate %tint_symbol_5 BuiltIn Position
|
||||
OpDecorate %loc0_1 Location 0
|
||||
OpDecorate %loc0_1 Flat
|
||||
OpDecorate %loc1_1 Location 1
|
||||
OpDecorate %loc1_1 Flat
|
||||
OpDecorate %loc2_1 Location 2
|
||||
OpDecorate %loc3_1 Location 3
|
||||
OpDecorate %position_1 BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %VertexOutputs 0 Offset 0
|
||||
OpMemberDecorate %VertexOutputs 1 Offset 4
|
||||
OpMemberDecorate %VertexOutputs 2 Offset 8
|
||||
OpMemberDecorate %VertexOutputs 3 Offset 16
|
||||
OpMemberDecorate %VertexOutputs 4 Offset 32
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Output_int = OpTypePointer Output %int
|
||||
%8 = OpConstantNull %int
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_int Output %8
|
||||
%4 = OpConstantNull %int
|
||||
%loc0_1 = OpVariable %_ptr_Output_int Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%12 = OpConstantNull %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_uint Output %12
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %uint
|
||||
%loc1_1 = OpVariable %_ptr_Output_uint Output %8
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%loc2_1 = OpVariable %_ptr_Output_float Output %12
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%17 = OpConstantNull %v4float
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %17
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output_v4float Output %17
|
||||
%void = OpTypeVoid
|
||||
%16 = OpConstantNull %v4float
|
||||
%loc3_1 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%position_1 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %12
|
||||
%VertexOutputs = OpTypeStruct %int %uint %float %v4float %v4float
|
||||
%19 = OpTypeFunction %void %VertexOutputs
|
||||
%30 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%19 = OpTypeFunction %VertexOutputs
|
||||
%int_1 = OpConstant %int 1
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_3 = OpConstant %float 3
|
||||
%float_4 = OpConstant %float 4
|
||||
%40 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%41 = OpConstantComposite %VertexOutputs %int_1 %uint_1 %float_1 %40 %17
|
||||
%tint_symbol_6 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %VertexOutputs
|
||||
%24 = OpLabel
|
||||
%25 = OpCompositeExtract %int %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %25
|
||||
%26 = OpCompositeExtract %uint %tint_symbol 1
|
||||
OpStore %tint_symbol_2 %26
|
||||
%27 = OpCompositeExtract %float %tint_symbol 2
|
||||
OpStore %tint_symbol_3 %27
|
||||
%28 = OpCompositeExtract %v4float %tint_symbol 3
|
||||
OpStore %tint_symbol_4 %28
|
||||
%29 = OpCompositeExtract %v4float %tint_symbol 4
|
||||
OpStore %tint_symbol_5 %29
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %30
|
||||
%32 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%34 = OpFunctionCall %void %tint_symbol_6 %41
|
||||
%29 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%30 = OpConstantComposite %VertexOutputs %int_1 %uint_1 %float_1 %29 %16
|
||||
%void = OpTypeVoid
|
||||
%31 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %VertexOutputs None %19
|
||||
%22 = OpLabel
|
||||
OpReturnValue %30
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %31
|
||||
%34 = OpLabel
|
||||
%35 = OpFunctionCall %VertexOutputs %main_inner
|
||||
%36 = OpCompositeExtract %int %35 0
|
||||
OpStore %loc0_1 %36
|
||||
%37 = OpCompositeExtract %uint %35 1
|
||||
OpStore %loc1_1 %37
|
||||
%38 = OpCompositeExtract %float %35 2
|
||||
OpStore %loc2_1 %38
|
||||
%39 = OpCompositeExtract %v4float %35 3
|
||||
OpStore %loc3_1 %39
|
||||
%40 = OpCompositeExtract %v4float %35 4
|
||||
OpStore %position_1 %40
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user