Vulkan UI: Fix invalid push constant usage in immediate.frag/vert (and update shaders)

This commit is contained in:
DrChat 2017-02-12 18:47:53 -06:00
parent a636b3cbcf
commit 4ee16fd193
18 changed files with 917 additions and 949 deletions

View File

@ -29,9 +29,9 @@
OpName %textures4D "textures4D" OpName %textures4D "textures4D"
OpName %in_interpolators "in_interpolators" OpName %in_interpolators "in_interpolators"
OpName %oC "oC" OpName %oC "oC"
OpDecorate %_arr_v4float_10 ArrayStride 16 OpDecorate %_arr_v4float_uint_512 ArrayStride 16
OpDecorate %_arr_uint_12 ArrayStride 16 OpDecorate %_arr_uint_uint_32 ArrayStride 16
OpDecorate %_arr_uint_14 ArrayStride 16 OpDecorate %_arr_uint_uint_8 ArrayStride 16
OpMemberDecorate %consts_type 0 Offset 0 OpMemberDecorate %consts_type 0 Offset 0
OpMemberDecorate %consts_type 1 Offset 8192 OpMemberDecorate %consts_type 1 Offset 8192
OpMemberDecorate %consts_type 2 Offset 8704 OpMemberDecorate %consts_type 2 Offset 8704
@ -59,13 +59,13 @@
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%10 = OpConstant %uint 512 %uint_512 = OpConstant %uint 512
%_arr_v4float_10 = OpTypeArray %v4float %10 %_arr_v4float_uint_512 = OpTypeArray %v4float %uint_512
%12 = OpConstant %uint 32 %uint_32 = OpConstant %uint 32
%_arr_uint_12 = OpTypeArray %uint %12 %_arr_uint_uint_32 = OpTypeArray %uint %uint_32
%14 = OpConstant %uint 8 %uint_8 = OpConstant %uint 8
%_arr_uint_14 = OpTypeArray %uint %14 %_arr_uint_uint_8 = OpTypeArray %uint %uint_8
%consts_type = OpTypeStruct %_arr_v4float_10 %_arr_uint_12 %_arr_uint_14 %consts_type = OpTypeStruct %_arr_v4float_uint_512 %_arr_uint_uint_32 %_arr_uint_uint_8
%_ptr_Uniform_consts_type = OpTypePointer Uniform %consts_type %_ptr_Uniform_consts_type = OpTypePointer Uniform %consts_type
%consts = OpVariable %_ptr_Uniform_consts_type Uniform %consts = OpVariable %_ptr_Uniform_consts_type Uniform
%push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint %push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint
@ -73,34 +73,34 @@
%push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant %push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant
%22 = OpTypeImage %float 1D 0 0 0 1 Unknown %22 = OpTypeImage %float 1D 0 0 0 1 Unknown
%23 = OpTypeSampledImage %22 %23 = OpTypeSampledImage %22
%_arr_23_12 = OpTypeArray %23 %12 %_arr_23_uint_32 = OpTypeArray %23 %uint_32
%_ptr_UniformConstant__arr_23_12 = OpTypePointer UniformConstant %_arr_23_12 %_ptr_UniformConstant__arr_23_uint_32 = OpTypePointer UniformConstant %_arr_23_uint_32
%textures1D = OpVariable %_ptr_UniformConstant__arr_23_12 UniformConstant %textures1D = OpVariable %_ptr_UniformConstant__arr_23_uint_32 UniformConstant
%27 = OpTypeImage %float 2D 0 0 0 1 Unknown %27 = OpTypeImage %float 2D 0 0 0 1 Unknown
%28 = OpTypeSampledImage %27 %28 = OpTypeSampledImage %27
%_arr_28_12 = OpTypeArray %28 %12 %_arr_28_uint_32 = OpTypeArray %28 %uint_32
%_ptr_UniformConstant__arr_28_12 = OpTypePointer UniformConstant %_arr_28_12 %_ptr_UniformConstant__arr_28_uint_32 = OpTypePointer UniformConstant %_arr_28_uint_32
%textures2D = OpVariable %_ptr_UniformConstant__arr_28_12 UniformConstant %textures2D = OpVariable %_ptr_UniformConstant__arr_28_uint_32 UniformConstant
%32 = OpTypeImage %float 3D 0 0 0 1 Unknown %32 = OpTypeImage %float 3D 0 0 0 1 Unknown
%33 = OpTypeSampledImage %32 %33 = OpTypeSampledImage %32
%_arr_33_12 = OpTypeArray %33 %12 %_arr_33_uint_32 = OpTypeArray %33 %uint_32
%_ptr_UniformConstant__arr_33_12 = OpTypePointer UniformConstant %_arr_33_12 %_ptr_UniformConstant__arr_33_uint_32 = OpTypePointer UniformConstant %_arr_33_uint_32
%textures3D = OpVariable %_ptr_UniformConstant__arr_33_12 UniformConstant %textures3D = OpVariable %_ptr_UniformConstant__arr_33_uint_32 UniformConstant
%37 = OpTypeImage %float Cube 0 0 0 1 Unknown %37 = OpTypeImage %float Cube 0 0 0 1 Unknown
%38 = OpTypeSampledImage %37 %38 = OpTypeSampledImage %37
%_arr_38_12 = OpTypeArray %38 %12 %_arr_38_uint_32 = OpTypeArray %38 %uint_32
%_ptr_UniformConstant__arr_38_12 = OpTypePointer UniformConstant %_arr_38_12 %_ptr_UniformConstant__arr_38_uint_32 = OpTypePointer UniformConstant %_arr_38_uint_32
%textures4D = OpVariable %_ptr_UniformConstant__arr_38_12 UniformConstant %textures4D = OpVariable %_ptr_UniformConstant__arr_38_uint_32 UniformConstant
%42 = OpConstant %uint 16 %uint_16 = OpConstant %uint 16
%_arr_v4float_42 = OpTypeArray %v4float %42 %_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%44 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%_arr__arr_v4float_42_44 = OpTypeArray %_arr_v4float_42 %44 %_arr__arr_v4float_uint_16_uint_1 = OpTypeArray %_arr_v4float_uint_16 %uint_1
%_ptr_Input__arr__arr_v4float_42_44 = OpTypePointer Input %_arr__arr_v4float_42_44 %_ptr_Input__arr__arr_v4float_uint_16_uint_1 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_1
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_42_44 Input %in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_1 Input
%48 = OpConstant %uint 4 %uint_4 = OpConstant %uint 4
%_arr_v4float_48 = OpTypeArray %v4float %48 %_arr_v4float_uint_4 = OpTypeArray %v4float %uint_4
%_ptr_Output__arr_v4float_48 = OpTypePointer Output %_arr_v4float_48 %_ptr_Output__arr_v4float_uint_4 = OpTypePointer Output %_arr_v4float_uint_4
%oC = OpVariable %_ptr_Output__arr_v4float_48 Output %oC = OpVariable %_ptr_Output__arr_v4float_uint_4 Output
%main = OpFunction %void None %3 %main = OpFunction %void None %3
%5 = OpLabel %5 = OpLabel
OpReturn OpReturn

View File

@ -48,98 +48,98 @@
%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex %_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
%_ = OpVariable %_ptr_Output_gl_PerVertex Output %_ = OpVariable %_ptr_Output_gl_PerVertex Output
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%12 = OpConstant %int 0 %int_0 = OpConstant %int 0
%gl_PerVertex_0 = OpTypeStruct %v4float %float %gl_PerVertex_0 = OpTypeStruct %v4float %float
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%15 = OpConstant %uint 4 %uint_4 = OpConstant %uint 4
%_arr_gl_PerVertex_0_15 = OpTypeArray %gl_PerVertex_0 %15 %_arr_gl_PerVertex_0_uint_4 = OpTypeArray %gl_PerVertex_0 %uint_4
%_ptr_Input__arr_gl_PerVertex_0_15 = OpTypePointer Input %_arr_gl_PerVertex_0_15 %_ptr_Input__arr_gl_PerVertex_0_uint_4 = OpTypePointer Input %_arr_gl_PerVertex_0_uint_4
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_15 Input %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_uint_4 Input
%_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
%24 = OpConstant %int 1 %int_1 = OpConstant %int 1
%_ptr_Input_float = OpTypePointer Input %float %_ptr_Input_float = OpTypePointer Input %float
%_ptr_Output_float = OpTypePointer Output %float %_ptr_Output_float = OpTypePointer Output %float
%30 = OpConstant %uint 16 %uint_16 = OpConstant %uint 16
%_arr_v4float_30 = OpTypeArray %v4float %30 %_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_30 = OpTypePointer Output %_arr_v4float_30 %_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_30 Output %out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_30_15 = OpTypeArray %_arr_v4float_30 %15 %_arr__arr_v4float_uint_16_uint_4 = OpTypeArray %_arr_v4float_uint_16 %uint_4
%_ptr_Input__arr__arr_v4float_30_15 = OpTypePointer Input %_arr__arr_v4float_30_15 %_ptr_Input__arr__arr_v4float_uint_16_uint_4 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_4
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_30_15 Input %in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_4 Input
%_ptr_Input__arr_v4float_30 = OpTypePointer Input %_arr_v4float_30 %_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%48 = OpConstant %int 2 %int_2 = OpConstant %int 2
%57 = OpConstant %int 3 %int_3 = OpConstant %int 3
%v2float = OpTypeVector %float 2 %v2float = OpTypeVector %float 2
%_arr_v2float_15 = OpTypeArray %v2float %15 %_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
%_ptr_Input__arr_v2float_15 = OpTypePointer Input %_arr_v2float_15 %_ptr_Input__arr_v2float_uint_4 = OpTypePointer Input %_arr_v2float_uint_4
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_15 Input %_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_4 Input
%_arr_float_15 = OpTypeArray %float %15 %_arr_float_uint_4 = OpTypeArray %float %uint_4
%_ptr_Input__arr_float_15 = OpTypePointer Input %_arr_float_15 %_ptr_Input__arr_float_uint_4 = OpTypePointer Input %_arr_float_uint_4
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_15 Input %_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_4 Input
%_ptr_Output_v2float = OpTypePointer Output %v2float %_ptr_Output_v2float = OpTypePointer Output %v2float
%_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output %_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output
%_out_point_size_unused = OpVariable %_ptr_Output_float Output %_out_point_size_unused = OpVariable %_ptr_Output_float Output
%main = OpFunction %void None %3 %main = OpFunction %void None %3
%5 = OpLabel %5 = OpLabel
%20 = OpAccessChain %_ptr_Input_v4float %gl_in %12 %12 %20 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%21 = OpLoad %v4float %20 %21 = OpLoad %v4float %20
%23 = OpAccessChain %_ptr_Output_v4float %_ %12 %23 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %23 %21 OpStore %23 %21
%26 = OpAccessChain %_ptr_Input_float %gl_in %12 %24 %26 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%27 = OpLoad %float %26 %27 = OpLoad %float %26
%29 = OpAccessChain %_ptr_Output_float %_ %24 %29 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %29 %27 OpStore %29 %27
%38 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %12 %38 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%39 = OpLoad %_arr_v4float_30 %38 %39 = OpLoad %_arr_v4float_uint_16 %38
OpStore %out_interpolators %39 OpStore %out_interpolators %39
OpEmitVertex OpEmitVertex
%40 = OpAccessChain %_ptr_Input_v4float %gl_in %24 %12 %40 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%41 = OpLoad %v4float %40 %41 = OpLoad %v4float %40
%42 = OpAccessChain %_ptr_Output_v4float %_ %12 %42 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %42 %41 OpStore %42 %41
%43 = OpAccessChain %_ptr_Input_float %gl_in %24 %24 %43 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%44 = OpLoad %float %43 %44 = OpLoad %float %43
%45 = OpAccessChain %_ptr_Output_float %_ %24 %45 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %45 %44 OpStore %45 %44
%46 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %24 %46 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%47 = OpLoad %_arr_v4float_30 %46 %47 = OpLoad %_arr_v4float_uint_16 %46
OpStore %out_interpolators %47 OpStore %out_interpolators %47
OpEmitVertex OpEmitVertex
%49 = OpAccessChain %_ptr_Input_v4float %gl_in %48 %12 %49 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%50 = OpLoad %v4float %49 %50 = OpLoad %v4float %49
%51 = OpAccessChain %_ptr_Output_v4float %_ %12 %51 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %51 %50 OpStore %51 %50
%52 = OpAccessChain %_ptr_Input_float %gl_in %48 %24 %52 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%53 = OpLoad %float %52 %53 = OpLoad %float %52
%54 = OpAccessChain %_ptr_Output_float %_ %24 %54 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %54 %53 OpStore %54 %53
%55 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %48 %55 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%56 = OpLoad %_arr_v4float_30 %55 %56 = OpLoad %_arr_v4float_uint_16 %55
OpStore %out_interpolators %56 OpStore %out_interpolators %56
OpEmitVertex OpEmitVertex
%58 = OpAccessChain %_ptr_Input_v4float %gl_in %57 %12 %58 = OpAccessChain %_ptr_Input_v4float %gl_in %int_3 %int_0
%59 = OpLoad %v4float %58 %59 = OpLoad %v4float %58
%60 = OpAccessChain %_ptr_Output_v4float %_ %12 %60 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %60 %59 OpStore %60 %59
%61 = OpAccessChain %_ptr_Input_float %gl_in %57 %24 %61 = OpAccessChain %_ptr_Input_float %gl_in %int_3 %int_1
%62 = OpLoad %float %61 %62 = OpLoad %float %61
%63 = OpAccessChain %_ptr_Output_float %_ %24 %63 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %63 %62 OpStore %63 %62
%64 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %57 %64 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_3
%65 = OpLoad %_arr_v4float_30 %64 %65 = OpLoad %_arr_v4float_uint_16 %64
OpStore %out_interpolators %65 OpStore %out_interpolators %65
OpEmitVertex OpEmitVertex
%66 = OpAccessChain %_ptr_Input_v4float %gl_in %12 %12 %66 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%67 = OpLoad %v4float %66 %67 = OpLoad %v4float %66
%68 = OpAccessChain %_ptr_Output_v4float %_ %12 %68 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %68 %67 OpStore %68 %67
%69 = OpAccessChain %_ptr_Input_float %gl_in %12 %24 %69 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%70 = OpLoad %float %69 %70 = OpLoad %float %69
%71 = OpAccessChain %_ptr_Output_float %_ %24 %71 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %71 %70 OpStore %71 %70
%72 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %12 %72 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%73 = OpLoad %_arr_v4float_30 %72 %73 = OpLoad %_arr_v4float_uint_16 %72
OpStore %out_interpolators %73 OpStore %out_interpolators %73
OpEmitVertex OpEmitVertex
OpEndPrimitive OpEndPrimitive

View File

@ -58,97 +58,97 @@
%_ptr_Function_v4float = OpTypePointer Function %v4float %_ptr_Function_v4float = OpTypePointer Function %v4float
%gl_PerVertex = OpTypeStruct %v4float %gl_PerVertex = OpTypeStruct %v4float
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%12 = OpConstant %uint 1 %uint_1 = OpConstant %uint 1
%_arr_gl_PerVertex_12 = OpTypeArray %gl_PerVertex %12 %_arr_gl_PerVertex_uint_1 = OpTypeArray %gl_PerVertex %uint_1
%_ptr_Input__arr_gl_PerVertex_12 = OpTypePointer Input %_arr_gl_PerVertex_12 %_ptr_Input__arr_gl_PerVertex_uint_1 = OpTypePointer Input %_arr_gl_PerVertex_uint_1
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_12 Input %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_uint_1 Input
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%17 = OpConstant %int 0 %int_0 = OpConstant %int 0
%_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Input_v4float = OpTypePointer Input %v4float
%v2float = OpTypeVector %float 2 %v2float = OpTypeVector %float 2
%_ptr_Function_v2float = OpTypePointer Function %v2float %_ptr_Function_v2float = OpTypePointer Function %v2float
%push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint %push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint
%_ptr_PushConstant_push_consts_type = OpTypePointer PushConstant %push_consts_type %_ptr_PushConstant_push_consts_type = OpTypePointer PushConstant %push_consts_type
%push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant %push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant
%27 = OpConstant %int 2 %int_2 = OpConstant %int 2
%_ptr_PushConstant_v4float = OpTypePointer PushConstant %v4float %_ptr_PushConstant_v4float = OpTypePointer PushConstant %v4float
%_arr_float_12 = OpTypeArray %float %12 %_arr_float_uint_1 = OpTypeArray %float %uint_1
%_ptr_Input__arr_float_12 = OpTypePointer Input %_arr_float_12 %_ptr_Input__arr_float_uint_1 = OpTypePointer Input %_arr_float_uint_1
%point_size = OpVariable %_ptr_Input__arr_float_12 Input %point_size = OpVariable %_ptr_Input__arr_float_uint_1 Input
%_ptr_Input_float = OpTypePointer Input %float %_ptr_Input_float = OpTypePointer Input %float
%38 = OpConstant %float 0 %float_0 = OpConstant %float 0
%bool = OpTypeBool %bool = OpTypeBool
%_ptr_Function_int = OpTypePointer Function %int %_ptr_Function_int = OpTypePointer Function %int
%59 = OpConstant %int 4 %int_4 = OpConstant %int 4
%gl_PerVertex_0 = OpTypeStruct %v4float %gl_PerVertex_0 = OpTypeStruct %v4float
%_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0 %_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0
%_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output %_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output
%66 = OpConstant %uint 4 %uint_4 = OpConstant %uint 4
%_arr_v2float_66 = OpTypeArray %v2float %66 %_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
%68 = OpConstant %float -1 %float_n1 = OpConstant %float -1
%69 = OpConstant %float 1 %float_1 = OpConstant %float 1
%70 = OpConstantComposite %v2float %68 %69 %70 = OpConstantComposite %v2float %float_n1 %float_1
%71 = OpConstantComposite %v2float %69 %69 %71 = OpConstantComposite %v2float %float_1 %float_1
%72 = OpConstantComposite %v2float %68 %68 %72 = OpConstantComposite %v2float %float_n1 %float_n1
%73 = OpConstantComposite %v2float %69 %68 %73 = OpConstantComposite %v2float %float_1 %float_n1
%74 = OpConstantComposite %_arr_v2float_66 %70 %71 %72 %73 %74 = OpConstantComposite %_arr_v2float_uint_4 %70 %71 %72 %73
%_ptr_Function__arr_v2float_66 = OpTypePointer Function %_arr_v2float_66 %_ptr_Function__arr_v2float_uint_4 = OpTypePointer Function %_arr_v2float_uint_4
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
%92 = OpConstant %uint 16 %uint_16 = OpConstant %uint 16
%_arr_v4float_92 = OpTypeArray %v4float %92 %_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_92 = OpTypePointer Output %_arr_v4float_92 %_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_92 Output %out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_92_12 = OpTypeArray %_arr_v4float_92 %12 %_arr__arr_v4float_uint_16_uint_1 = OpTypeArray %_arr_v4float_uint_16 %uint_1
%_ptr_Input__arr__arr_v4float_92_12 = OpTypePointer Input %_arr__arr_v4float_92_12 %_ptr_Input__arr__arr_v4float_uint_16_uint_1 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_1
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_92_12 Input %in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_1 Input
%_ptr_Input__arr_v4float_92 = OpTypePointer Input %_arr_v4float_92 %_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%_ptr_Output_v2float = OpTypePointer Output %v2float %_ptr_Output_v2float = OpTypePointer Output %v2float
%point_coord = OpVariable %_ptr_Output_v2float Output %point_coord = OpVariable %_ptr_Output_v2float Output
%108 = OpConstantComposite %v2float %38 %38 %108 = OpConstantComposite %v2float %float_0 %float_0
%111 = OpConstant %int 1 %int_1 = OpConstant %int 1
%_arr_v2float_12 = OpTypeArray %v2float %12 %_arr_v2float_uint_1 = OpTypeArray %v2float %uint_1
%_ptr_Input__arr_v2float_12 = OpTypePointer Input %_arr_v2float_12 %_ptr_Input__arr_v2float_uint_1 = OpTypePointer Input %_arr_v2float_uint_1
%in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_12 Input %in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_1 Input
%main = OpFunction %void None %3 %main = OpFunction %void None %3
%5 = OpLabel %5 = OpLabel
%pos = OpVariable %_ptr_Function_v4float Function %pos = OpVariable %_ptr_Function_v4float Function
%window_scaled_psize = OpVariable %_ptr_Function_v2float Function %window_scaled_psize = OpVariable %_ptr_Function_v2float Function
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%indexable = OpVariable %_ptr_Function__arr_v2float_66 Function %indexable = OpVariable %_ptr_Function__arr_v2float_uint_4 Function
%indexable_0 = OpVariable %_ptr_Function__arr_v2float_66 Function %indexable_0 = OpVariable %_ptr_Function__arr_v2float_uint_4 Function
%19 = OpAccessChain %_ptr_Input_v4float %gl_in %17 %17 %19 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%20 = OpLoad %v4float %19 %20 = OpLoad %v4float %19
OpStore %pos %20 OpStore %pos %20
%29 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %27 %29 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_2
%30 = OpLoad %v4float %29 %30 = OpLoad %v4float %29
%31 = OpVectorShuffle %v2float %30 %30 0 1 %31 = OpVectorShuffle %v2float %30 %30 0 1
OpStore %window_scaled_psize %31 OpStore %window_scaled_psize %31
%36 = OpAccessChain %_ptr_Input_float %point_size %17 %36 = OpAccessChain %_ptr_Input_float %point_size %int_0
%37 = OpLoad %float %36 %37 = OpLoad %float %36
%40 = OpFOrdGreaterThan %bool %37 %38 %40 = OpFOrdGreaterThan %bool %37 %float_0
OpSelectionMerge %42 None OpSelectionMerge %42 None
OpBranchConditional %40 %41 %42 OpBranchConditional %40 %41 %42
%41 = OpLabel %41 = OpLabel
%43 = OpAccessChain %_ptr_Input_float %point_size %17 %43 = OpAccessChain %_ptr_Input_float %point_size %int_0
%44 = OpLoad %float %43 %44 = OpLoad %float %43
%45 = OpCompositeConstruct %v2float %44 %44 %45 = OpCompositeConstruct %v2float %44 %44
OpStore %window_scaled_psize %45 OpStore %window_scaled_psize %45
OpBranch %42 OpBranch %42
%42 = OpLabel %42 = OpLabel
%46 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %17 %46 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0
%47 = OpLoad %v4float %46 %47 = OpLoad %v4float %46
%48 = OpVectorShuffle %v2float %47 %47 2 3 %48 = OpVectorShuffle %v2float %47 %47 2 3
%49 = OpLoad %v2float %window_scaled_psize %49 = OpLoad %v2float %window_scaled_psize
%50 = OpFDiv %v2float %49 %48 %50 = OpFDiv %v2float %49 %48
OpStore %window_scaled_psize %50 OpStore %window_scaled_psize %50
OpStore %i %17 OpStore %i %int_0
OpBranch %53 OpBranch %53
%53 = OpLabel %53 = OpLabel
OpLoopMerge %55 %56 None OpLoopMerge %55 %56 None
OpBranch %57 OpBranch %57
%57 = OpLabel %57 = OpLabel
%58 = OpLoad %int %i %58 = OpLoad %int %i
%60 = OpSLessThan %bool %58 %59 %60 = OpSLessThan %bool %58 %int_4
OpBranchConditional %60 %54 %55 OpBranchConditional %60 %54 %55
%54 = OpLabel %54 = OpLabel
%64 = OpLoad %v4float %pos %64 = OpLoad %v4float %pos
@ -167,10 +167,10 @@
%87 = OpCompositeExtract %float %84 0 %87 = OpCompositeExtract %float %84 0
%88 = OpCompositeExtract %float %84 1 %88 = OpCompositeExtract %float %84 1
%89 = OpCompositeConstruct %v4float %85 %86 %87 %88 %89 = OpCompositeConstruct %v4float %85 %86 %87 %88
%91 = OpAccessChain %_ptr_Output_v4float %_ %17 %91 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %91 %89 OpStore %91 %89
%100 = OpAccessChain %_ptr_Input__arr_v4float_92 %in_interpolators %17 %100 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%101 = OpLoad %_arr_v4float_92 %100 %101 = OpLoad %_arr_v4float_uint_16 %100
OpStore %out_interpolators %101 OpStore %out_interpolators %101
%104 = OpLoad %int %i %104 = OpLoad %int %i
OpStore %indexable_0 %74 OpStore %indexable_0 %74
@ -182,7 +182,7 @@
OpBranch %56 OpBranch %56
%56 = OpLabel %56 = OpLabel
%110 = OpLoad %int %i %110 = OpLoad %int %i
%112 = OpIAdd %int %110 %111 %112 = OpIAdd %int %110 %int_1
OpStore %i %112 OpStore %i %112
OpBranch %53 OpBranch %53
%55 = OpLabel %55 = OpLabel

View File

@ -47,45 +47,45 @@
%3 = OpTypeFunction %void %3 = OpTypeFunction %void
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int %_ptr_Function_int = OpTypePointer Function %int
%9 = OpConstant %int 0 %int_0 = OpConstant %int 0
%16 = OpConstant %int 4 %int_4 = OpConstant %int 4
%bool = OpTypeBool %bool = OpTypeBool
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%21 = OpConstant %uint 4 %uint_4 = OpConstant %uint 4
%_arr_int_21 = OpTypeArray %int %21 %_arr_int_uint_4 = OpTypeArray %int %uint_4
%23 = OpConstant %int 1 %int_1 = OpConstant %int 1
%24 = OpConstant %int 3 %int_3 = OpConstant %int 3
%25 = OpConstant %int 2 %int_2 = OpConstant %int 2
%26 = OpConstantComposite %_arr_int_21 %9 %23 %24 %25 %26 = OpConstantComposite %_arr_int_uint_4 %int_0 %int_1 %int_3 %int_2
%_ptr_Function__arr_int_21 = OpTypePointer Function %_arr_int_21 %_ptr_Function__arr_int_uint_4 = OpTypePointer Function %_arr_int_uint_4
%float = OpTypeFloat 32 %float = OpTypeFloat 32
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%gl_PerVertex = OpTypeStruct %v4float %float %gl_PerVertex = OpTypeStruct %v4float %float
%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex %_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
%_ = OpVariable %_ptr_Output_gl_PerVertex Output %_ = OpVariable %_ptr_Output_gl_PerVertex Output
%gl_PerVertex_0 = OpTypeStruct %v4float %float %gl_PerVertex_0 = OpTypeStruct %v4float %float
%_arr_gl_PerVertex_0_21 = OpTypeArray %gl_PerVertex_0 %21 %_arr_gl_PerVertex_0_uint_4 = OpTypeArray %gl_PerVertex_0 %uint_4
%_ptr_Input__arr_gl_PerVertex_0_21 = OpTypePointer Input %_arr_gl_PerVertex_0_21 %_ptr_Input__arr_gl_PerVertex_0_uint_4 = OpTypePointer Input %_arr_gl_PerVertex_0_uint_4
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_21 Input %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_uint_4 Input
%_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
%_ptr_Input_float = OpTypePointer Input %float %_ptr_Input_float = OpTypePointer Input %float
%_ptr_Output_float = OpTypePointer Output %float %_ptr_Output_float = OpTypePointer Output %float
%53 = OpConstant %uint 16 %uint_16 = OpConstant %uint 16
%_arr_v4float_53 = OpTypeArray %v4float %53 %_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_53 = OpTypePointer Output %_arr_v4float_53 %_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_53 Output %out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_53_21 = OpTypeArray %_arr_v4float_53 %21 %_arr__arr_v4float_uint_16_uint_4 = OpTypeArray %_arr_v4float_uint_16 %uint_4
%_ptr_Input__arr__arr_v4float_53_21 = OpTypePointer Input %_arr__arr_v4float_53_21 %_ptr_Input__arr__arr_v4float_uint_16_uint_4 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_4
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_53_21 Input %in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_4 Input
%_ptr_Input__arr_v4float_53 = OpTypePointer Input %_arr_v4float_53 %_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%v2float = OpTypeVector %float 2 %v2float = OpTypeVector %float 2
%_arr_v2float_21 = OpTypeArray %v2float %21 %_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
%_ptr_Input__arr_v2float_21 = OpTypePointer Input %_arr_v2float_21 %_ptr_Input__arr_v2float_uint_4 = OpTypePointer Input %_arr_v2float_uint_4
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_21 Input %_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_4 Input
%_arr_float_21 = OpTypeArray %float %21 %_arr_float_uint_4 = OpTypeArray %float %uint_4
%_ptr_Input__arr_float_21 = OpTypePointer Input %_arr_float_21 %_ptr_Input__arr_float_uint_4 = OpTypePointer Input %_arr_float_uint_4
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_21 Input %_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_4 Input
%_ptr_Output_v2float = OpTypePointer Output %v2float %_ptr_Output_v2float = OpTypePointer Output %v2float
%_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output %_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output
%_out_point_size_unused = OpVariable %_ptr_Output_float Output %_out_point_size_unused = OpVariable %_ptr_Output_float Output
@ -93,15 +93,15 @@
%5 = OpLabel %5 = OpLabel
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%input_index = OpVariable %_ptr_Function_int Function %input_index = OpVariable %_ptr_Function_int Function
%indexable = OpVariable %_ptr_Function__arr_int_21 Function %indexable = OpVariable %_ptr_Function__arr_int_uint_4 Function
OpStore %i %9 OpStore %i %int_0
OpBranch %10 OpBranch %10
%10 = OpLabel %10 = OpLabel
OpLoopMerge %12 %13 None OpLoopMerge %12 %13 None
OpBranch %14 OpBranch %14
%14 = OpLabel %14 = OpLabel
%15 = OpLoad %int %i %15 = OpLoad %int %i
%18 = OpSLessThan %bool %15 %16 %18 = OpSLessThan %bool %15 %int_4
OpBranchConditional %18 %11 %12 OpBranchConditional %18 %11 %12
%11 = OpLabel %11 = OpLabel
%27 = OpLoad %int %i %27 = OpLoad %int %i
@ -110,24 +110,24 @@
%31 = OpLoad %int %30 %31 = OpLoad %int %30
OpStore %input_index %31 OpStore %input_index %31
%41 = OpLoad %int %input_index %41 = OpLoad %int %input_index
%43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %9 %43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %int_0
%44 = OpLoad %v4float %43 %44 = OpLoad %v4float %43
%46 = OpAccessChain %_ptr_Output_v4float %_ %9 %46 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %46 %44 OpStore %46 %44
%47 = OpLoad %int %input_index %47 = OpLoad %int %input_index
%49 = OpAccessChain %_ptr_Input_float %gl_in %47 %23 %49 = OpAccessChain %_ptr_Input_float %gl_in %47 %int_1
%50 = OpLoad %float %49 %50 = OpLoad %float %49
%52 = OpAccessChain %_ptr_Output_float %_ %23 %52 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %52 %50 OpStore %52 %50
%60 = OpLoad %int %input_index %60 = OpLoad %int %input_index
%62 = OpAccessChain %_ptr_Input__arr_v4float_53 %in_interpolators %60 %62 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %60
%63 = OpLoad %_arr_v4float_53 %62 %63 = OpLoad %_arr_v4float_uint_16 %62
OpStore %out_interpolators %63 OpStore %out_interpolators %63
OpEmitVertex OpEmitVertex
OpBranch %13 OpBranch %13
%13 = OpLabel %13 = OpLabel
%64 = OpLoad %int %i %64 = OpLoad %int %i
%65 = OpIAdd %int %64 %23 %65 = OpIAdd %int %64 %int_1
OpStore %i %65 OpStore %i %65
OpBranch %10 OpBranch %10
%12 = OpLabel %12 = OpLabel

View File

@ -51,39 +51,39 @@
%v4float = OpTypeVector %float 4 %v4float = OpTypeVector %float 4
%gl_PerVertex = OpTypeStruct %v4float %float %gl_PerVertex = OpTypeStruct %v4float %float
%uint = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%13 = OpConstant %uint 3 %uint_3 = OpConstant %uint 3
%_arr_gl_PerVertex_13 = OpTypeArray %gl_PerVertex %13 %_arr_gl_PerVertex_uint_3 = OpTypeArray %gl_PerVertex %uint_3
%_ptr_Input__arr_gl_PerVertex_13 = OpTypePointer Input %_arr_gl_PerVertex_13 %_ptr_Input__arr_gl_PerVertex_uint_3 = OpTypePointer Input %_arr_gl_PerVertex_uint_3
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_13 Input %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_uint_3 Input
%int = OpTypeInt 32 1 %int = OpTypeInt 32 1
%18 = OpConstant %int 0 %int_0 = OpConstant %int 0
%19 = OpConstant %uint 0 %uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float %_ptr_Input_float = OpTypePointer Input %float
%23 = OpConstant %int 2 %int_2 = OpConstant %int 2
%gl_PerVertex_0 = OpTypeStruct %v4float %float %gl_PerVertex_0 = OpTypeStruct %v4float %float
%_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0 %_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0
%_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output %_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output
%_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float
%38 = OpConstant %int 1 %int_1 = OpConstant %int 1
%_ptr_Output_float = OpTypePointer Output %float %_ptr_Output_float = OpTypePointer Output %float
%43 = OpConstant %uint 16 %uint_16 = OpConstant %uint 16
%_arr_v4float_43 = OpTypeArray %v4float %43 %_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_43 = OpTypePointer Output %_arr_v4float_43 %_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_43 Output %out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_43_13 = OpTypeArray %_arr_v4float_43 %13 %_arr__arr_v4float_uint_16_uint_3 = OpTypeArray %_arr_v4float_uint_16 %uint_3
%_ptr_Input__arr__arr_v4float_43_13 = OpTypePointer Input %_arr__arr_v4float_43_13 %_ptr_Input__arr__arr_v4float_uint_16_uint_3 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_3
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_43_13 Input %in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_3 Input
%_ptr_Input__arr_v4float_43 = OpTypePointer Input %_arr_v4float_43 %_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%_ptr_Function_int = OpTypePointer Function %int %_ptr_Function_int = OpTypePointer Function %int
%105 = OpConstant %int 16 %int_16 = OpConstant %int 16
%v2float = OpTypeVector %float 2 %v2float = OpTypeVector %float 2
%_arr_v2float_13 = OpTypeArray %v2float %13 %_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3
%_ptr_Input__arr_v2float_13 = OpTypePointer Input %_arr_v2float_13 %_ptr_Input__arr_v2float_uint_3 = OpTypePointer Input %_arr_v2float_uint_3
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_13 Input %_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_3 Input
%_arr_float_13 = OpTypeArray %float %13 %_arr_float_uint_3 = OpTypeArray %float %uint_3
%_ptr_Input__arr_float_13 = OpTypePointer Input %_arr_float_13 %_ptr_Input__arr_float_uint_3 = OpTypePointer Input %_arr_float_uint_3
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_13 Input %_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_3 Input
%_ptr_Output_v2float = OpTypePointer Output %v2float %_ptr_Output_v2float = OpTypePointer Output %v2float
%_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output %_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output
%_out_point_size_unused = OpVariable %_ptr_Output_float Output %_out_point_size_unused = OpVariable %_ptr_Output_float Output
@ -92,9 +92,9 @@
%left_aligned = OpVariable %_ptr_Function_bool Function %left_aligned = OpVariable %_ptr_Function_bool Function
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%21 = OpAccessChain %_ptr_Input_float %gl_in %18 %18 %19 %21 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_0 %uint_0
%22 = OpLoad %float %21 %22 = OpLoad %float %21
%24 = OpAccessChain %_ptr_Input_float %gl_in %23 %18 %19 %24 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_0 %uint_0
%25 = OpLoad %float %24 %25 = OpLoad %float %24
%26 = OpFOrdEqual %bool %22 %25 %26 = OpFOrdEqual %bool %22 %25
OpStore %left_aligned %26 OpStore %left_aligned %26
@ -102,102 +102,102 @@
OpSelectionMerge %29 None OpSelectionMerge %29 None
OpBranchConditional %27 %28 %123 OpBranchConditional %27 %28 %123
%28 = OpLabel %28 = OpLabel
%34 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 %34 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%35 = OpLoad %v4float %34 %35 = OpLoad %v4float %34
%37 = OpAccessChain %_ptr_Output_v4float %_ %18 %37 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %37 %35 OpStore %37 %35
%39 = OpAccessChain %_ptr_Input_float %gl_in %18 %38 %39 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%40 = OpLoad %float %39 %40 = OpLoad %float %39
%42 = OpAccessChain %_ptr_Output_float %_ %38 %42 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %42 %40 OpStore %42 %40
%51 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18 %51 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%52 = OpLoad %_arr_v4float_43 %51 %52 = OpLoad %_arr_v4float_uint_16 %51
OpStore %out_interpolators %52 OpStore %out_interpolators %52
OpEmitVertex OpEmitVertex
%53 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 %53 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%54 = OpLoad %v4float %53 %54 = OpLoad %v4float %53
%55 = OpAccessChain %_ptr_Output_v4float %_ %18 %55 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %55 %54 OpStore %55 %54
%56 = OpAccessChain %_ptr_Input_float %gl_in %38 %38 %56 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%57 = OpLoad %float %56 %57 = OpLoad %float %56
%58 = OpAccessChain %_ptr_Output_float %_ %38 %58 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %58 %57 OpStore %58 %57
%59 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38 %59 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%60 = OpLoad %_arr_v4float_43 %59 %60 = OpLoad %_arr_v4float_uint_16 %59
OpStore %out_interpolators %60 OpStore %out_interpolators %60
OpEmitVertex OpEmitVertex
%61 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 %61 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%62 = OpLoad %v4float %61 %62 = OpLoad %v4float %61
%63 = OpAccessChain %_ptr_Output_v4float %_ %18 %63 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %63 %62 OpStore %63 %62
%64 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 %64 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%65 = OpLoad %float %64 %65 = OpLoad %float %64
%66 = OpAccessChain %_ptr_Output_float %_ %38 %66 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %66 %65 OpStore %66 %65
%67 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 %67 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%68 = OpLoad %_arr_v4float_43 %67 %68 = OpLoad %_arr_v4float_uint_16 %67
OpStore %out_interpolators %68 OpStore %out_interpolators %68
OpEmitVertex OpEmitVertex
OpEndPrimitive OpEndPrimitive
%69 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 %69 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%70 = OpLoad %v4float %69 %70 = OpLoad %v4float %69
%71 = OpAccessChain %_ptr_Output_v4float %_ %18 %71 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %71 %70 OpStore %71 %70
%72 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 %72 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%73 = OpLoad %float %72 %73 = OpLoad %float %72
%74 = OpAccessChain %_ptr_Output_float %_ %38 %74 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %74 %73 OpStore %74 %73
%75 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 %75 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%76 = OpLoad %_arr_v4float_43 %75 %76 = OpLoad %_arr_v4float_uint_16 %75
OpStore %out_interpolators %76 OpStore %out_interpolators %76
OpEmitVertex OpEmitVertex
%77 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 %77 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%78 = OpLoad %v4float %77 %78 = OpLoad %v4float %77
%79 = OpAccessChain %_ptr_Output_v4float %_ %18 %79 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %79 %78 OpStore %79 %78
%80 = OpAccessChain %_ptr_Input_float %gl_in %38 %38 %80 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%81 = OpLoad %float %80 %81 = OpLoad %float %80
%82 = OpAccessChain %_ptr_Output_float %_ %38 %82 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %82 %81 OpStore %82 %81
%83 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38 %83 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%84 = OpLoad %_arr_v4float_43 %83 %84 = OpLoad %_arr_v4float_uint_16 %83
OpStore %out_interpolators %84 OpStore %out_interpolators %84
OpEmitVertex OpEmitVertex
%85 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 %85 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%86 = OpLoad %v4float %85 %86 = OpLoad %v4float %85
%87 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 %87 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%88 = OpLoad %v4float %87 %88 = OpLoad %v4float %87
%89 = OpFAdd %v4float %86 %88 %89 = OpFAdd %v4float %86 %88
%90 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 %90 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%91 = OpLoad %v4float %90 %91 = OpLoad %v4float %90
%92 = OpFSub %v4float %89 %91 %92 = OpFSub %v4float %89 %91
%93 = OpAccessChain %_ptr_Output_v4float %_ %18 %93 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %93 %92 OpStore %93 %92
%94 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 %94 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%95 = OpLoad %float %94 %95 = OpLoad %float %94
%96 = OpAccessChain %_ptr_Output_float %_ %38 %96 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %96 %95 OpStore %96 %95
OpStore %i %18 OpStore %i %int_0
OpBranch %99 OpBranch %99
%99 = OpLabel %99 = OpLabel
OpLoopMerge %101 %102 None OpLoopMerge %101 %102 None
OpBranch %103 OpBranch %103
%103 = OpLabel %103 = OpLabel
%104 = OpLoad %int %i %104 = OpLoad %int %i
%106 = OpSLessThan %bool %104 %105 %106 = OpSLessThan %bool %104 %int_16
OpBranchConditional %106 %100 %101 OpBranchConditional %106 %100 %101
%100 = OpLabel %100 = OpLabel
%107 = OpLoad %int %i %107 = OpLoad %int %i
%108 = OpLoad %int %i %108 = OpLoad %int %i
%109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %108 %109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_0 %108
%110 = OpLoad %v4float %109 %110 = OpLoad %v4float %109
%111 = OpFNegate %v4float %110 %111 = OpFNegate %v4float %110
%112 = OpLoad %int %i %112 = OpLoad %int %i
%113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %112 %113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_1 %112
%114 = OpLoad %v4float %113 %114 = OpLoad %v4float %113
%115 = OpFAdd %v4float %111 %114 %115 = OpFAdd %v4float %111 %114
%116 = OpLoad %int %i %116 = OpLoad %int %i
%117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %116 %117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_2 %116
%118 = OpLoad %v4float %117 %118 = OpLoad %v4float %117
%119 = OpFAdd %v4float %115 %118 %119 = OpFAdd %v4float %115 %118
%120 = OpAccessChain %_ptr_Output_v4float %out_interpolators %107 %120 = OpAccessChain %_ptr_Output_v4float %out_interpolators %107
@ -205,7 +205,7 @@
OpBranch %102 OpBranch %102
%102 = OpLabel %102 = OpLabel
%121 = OpLoad %int %i %121 = OpLoad %int %i
%122 = OpIAdd %int %121 %38 %122 = OpIAdd %int %121 %int_1
OpStore %i %122 OpStore %i %122
OpBranch %99 OpBranch %99
%101 = OpLabel %101 = OpLabel
@ -213,102 +213,102 @@
OpEndPrimitive OpEndPrimitive
OpBranch %29 OpBranch %29
%123 = OpLabel %123 = OpLabel
%124 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 %124 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%125 = OpLoad %v4float %124 %125 = OpLoad %v4float %124
%126 = OpAccessChain %_ptr_Output_v4float %_ %18 %126 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %126 %125 OpStore %126 %125
%127 = OpAccessChain %_ptr_Input_float %gl_in %18 %38 %127 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%128 = OpLoad %float %127 %128 = OpLoad %float %127
%129 = OpAccessChain %_ptr_Output_float %_ %38 %129 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %129 %128 OpStore %129 %128
%130 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18 %130 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%131 = OpLoad %_arr_v4float_43 %130 %131 = OpLoad %_arr_v4float_uint_16 %130
OpStore %out_interpolators %131 OpStore %out_interpolators %131
OpEmitVertex OpEmitVertex
%132 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 %132 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%133 = OpLoad %v4float %132 %133 = OpLoad %v4float %132
%134 = OpAccessChain %_ptr_Output_v4float %_ %18 %134 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %134 %133 OpStore %134 %133
%135 = OpAccessChain %_ptr_Input_float %gl_in %38 %38 %135 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%136 = OpLoad %float %135 %136 = OpLoad %float %135
%137 = OpAccessChain %_ptr_Output_float %_ %38 %137 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %137 %136 OpStore %137 %136
%138 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38 %138 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%139 = OpLoad %_arr_v4float_43 %138 %139 = OpLoad %_arr_v4float_uint_16 %138
OpStore %out_interpolators %139 OpStore %out_interpolators %139
OpEmitVertex OpEmitVertex
%140 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 %140 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%141 = OpLoad %v4float %140 %141 = OpLoad %v4float %140
%142 = OpAccessChain %_ptr_Output_v4float %_ %18 %142 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %142 %141 OpStore %142 %141
%143 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 %143 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%144 = OpLoad %float %143 %144 = OpLoad %float %143
%145 = OpAccessChain %_ptr_Output_float %_ %38 %145 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %145 %144 OpStore %145 %144
%146 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 %146 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%147 = OpLoad %_arr_v4float_43 %146 %147 = OpLoad %_arr_v4float_uint_16 %146
OpStore %out_interpolators %147 OpStore %out_interpolators %147
OpEmitVertex OpEmitVertex
OpEndPrimitive OpEndPrimitive
%148 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 %148 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%149 = OpLoad %v4float %148 %149 = OpLoad %v4float %148
%150 = OpAccessChain %_ptr_Output_v4float %_ %18 %150 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %150 %149 OpStore %150 %149
%151 = OpAccessChain %_ptr_Input_float %gl_in %18 %38 %151 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%152 = OpLoad %float %151 %152 = OpLoad %float %151
%153 = OpAccessChain %_ptr_Output_float %_ %38 %153 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %153 %152 OpStore %153 %152
%154 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18 %154 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%155 = OpLoad %_arr_v4float_43 %154 %155 = OpLoad %_arr_v4float_uint_16 %154
OpStore %out_interpolators %155 OpStore %out_interpolators %155
OpEmitVertex OpEmitVertex
%156 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 %156 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%157 = OpLoad %v4float %156 %157 = OpLoad %v4float %156
%158 = OpAccessChain %_ptr_Output_v4float %_ %18 %158 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %158 %157 OpStore %158 %157
%159 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 %159 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%160 = OpLoad %float %159 %160 = OpLoad %float %159
%161 = OpAccessChain %_ptr_Output_float %_ %38 %161 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %161 %160 OpStore %161 %160
%162 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 %162 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%163 = OpLoad %_arr_v4float_43 %162 %163 = OpLoad %_arr_v4float_uint_16 %162
OpStore %out_interpolators %163 OpStore %out_interpolators %163
OpEmitVertex OpEmitVertex
%164 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 %164 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%165 = OpLoad %v4float %164 %165 = OpLoad %v4float %164
%166 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 %166 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%167 = OpLoad %v4float %166 %167 = OpLoad %v4float %166
%168 = OpFAdd %v4float %165 %167 %168 = OpFAdd %v4float %165 %167
%169 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 %169 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%170 = OpLoad %v4float %169 %170 = OpLoad %v4float %169
%171 = OpFSub %v4float %168 %170 %171 = OpFSub %v4float %168 %170
%172 = OpAccessChain %_ptr_Output_v4float %_ %18 %172 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %172 %171 OpStore %172 %171
%173 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 %173 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%174 = OpLoad %float %173 %174 = OpLoad %float %173
%175 = OpAccessChain %_ptr_Output_float %_ %38 %175 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %175 %174 OpStore %175 %174
OpStore %i_0 %18 OpStore %i_0 %int_0
OpBranch %177 OpBranch %177
%177 = OpLabel %177 = OpLabel
OpLoopMerge %179 %180 None OpLoopMerge %179 %180 None
OpBranch %181 OpBranch %181
%181 = OpLabel %181 = OpLabel
%182 = OpLoad %int %i_0 %182 = OpLoad %int %i_0
%183 = OpSLessThan %bool %182 %105 %183 = OpSLessThan %bool %182 %int_16
OpBranchConditional %183 %178 %179 OpBranchConditional %183 %178 %179
%178 = OpLabel %178 = OpLabel
%184 = OpLoad %int %i_0 %184 = OpLoad %int %i_0
%185 = OpLoad %int %i_0 %185 = OpLoad %int %i_0
%186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %185 %186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_0 %185
%187 = OpLoad %v4float %186 %187 = OpLoad %v4float %186
%188 = OpLoad %int %i_0 %188 = OpLoad %int %i_0
%189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %188 %189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_1 %188
%190 = OpLoad %v4float %189 %190 = OpLoad %v4float %189
%191 = OpFNegate %v4float %190 %191 = OpFNegate %v4float %190
%192 = OpFAdd %v4float %187 %191 %192 = OpFAdd %v4float %187 %191
%193 = OpLoad %int %i_0 %193 = OpLoad %int %i_0
%194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %193 %194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_2 %193
%195 = OpLoad %v4float %194 %195 = OpLoad %v4float %194
%196 = OpFAdd %v4float %192 %195 %196 = OpFAdd %v4float %192 %195
%197 = OpAccessChain %_ptr_Output_v4float %out_interpolators %184 %197 = OpAccessChain %_ptr_Output_v4float %out_interpolators %184
@ -316,7 +316,7 @@
OpBranch %180 OpBranch %180
%180 = OpLabel %180 = OpLabel
%198 = OpLoad %int %i_0 %198 = OpLoad %int %i_0
%199 = OpIAdd %int %198 %38 %199 = OpIAdd %int %198 %int_1
OpStore %i_0 %199 OpStore %i_0 %199
OpBranch %177 OpBranch %177
%179 = OpLabel %179 = OpLabel

View File

@ -6,59 +6,59 @@
OpCapability Shader OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450" %1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %4 "main" %9 %17 OpEntryPoint Fragment %main "main" %oC %vtx_uv
OpExecutionMode %4 OriginUpperLeft OpExecutionMode %main OriginUpperLeft
OpSource GLSL 450 OpSource GLSL 450
OpName %4 "main" OpName %main "main"
OpName %9 "oC" OpName %oC "oC"
OpName %13 "src_texture" OpName %src_texture "src_texture"
OpName %17 "vtx_uv" OpName %vtx_uv "vtx_uv"
OpName %21 "PushConstants" OpName %PushConstants "PushConstants"
OpMemberName %21 0 "swap" OpMemberName %PushConstants 0 "swap"
OpName %23 "push_constants" OpName %push_constants "push_constants"
OpDecorate %9 Location 0 OpDecorate %oC Location 0
OpDecorate %13 DescriptorSet 0 OpDecorate %src_texture DescriptorSet 0
OpDecorate %13 Binding 0 OpDecorate %src_texture Binding 0
OpDecorate %17 Location 0 OpDecorate %vtx_uv Location 0
OpMemberDecorate %21 0 Offset 0 OpMemberDecorate %PushConstants 0 Offset 0
OpDecorate %21 Block OpDecorate %PushConstants Block
%2 = OpTypeVoid %void = OpTypeVoid
%3 = OpTypeFunction %2 %3 = OpTypeFunction %void
%6 = OpTypeFloat 32 %float = OpTypeFloat 32
%7 = OpTypeVector %6 4 %v4float = OpTypeVector %float 4
%8 = OpTypePointer Output %7 %_ptr_Output_v4float = OpTypePointer Output %v4float
%9 = OpVariable %8 Output %oC = OpVariable %_ptr_Output_v4float Output
%10 = OpTypeImage %6 2D 0 0 0 1 Unknown %10 = OpTypeImage %float 2D 0 0 0 1 Unknown
%11 = OpTypeSampledImage %10 %11 = OpTypeSampledImage %10
%12 = OpTypePointer UniformConstant %11 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%13 = OpVariable %12 UniformConstant %src_texture = OpVariable %_ptr_UniformConstant_11 UniformConstant
%15 = OpTypeVector %6 2 %v2float = OpTypeVector %float 2
%16 = OpTypePointer Input %15 %_ptr_Input_v2float = OpTypePointer Input %v2float
%17 = OpVariable %16 Input %vtx_uv = OpVariable %_ptr_Input_v2float Input
%20 = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%21 = OpTypeStruct %20 %PushConstants = OpTypeStruct %uint
%22 = OpTypePointer PushConstant %21 %_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants
%23 = OpVariable %22 PushConstant %push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant
%24 = OpTypeInt 32 1 %int = OpTypeInt 32 1
%25 = OpConstant %24 0 %int_0 = OpConstant %int 0
%26 = OpTypePointer PushConstant %20 %_ptr_PushConstant_uint = OpTypePointer PushConstant %uint
%29 = OpTypeBool %bool = OpTypeBool
%30 = OpConstant %20 0 %uint_0 = OpConstant %uint 0
%4 = OpFunction %2 None %3 %main = OpFunction %void None %3
%5 = OpLabel %5 = OpLabel
%14 = OpLoad %11 %13 %14 = OpLoad %11 %src_texture
%18 = OpLoad %15 %17 %18 = OpLoad %v2float %vtx_uv
%19 = OpImageSampleImplicitLod %7 %14 %18 %19 = OpImageSampleImplicitLod %v4float %14 %18
OpStore %9 %19 OpStore %oC %19
%27 = OpAccessChain %26 %23 %25 %27 = OpAccessChain %_ptr_PushConstant_uint %push_constants %int_0
%28 = OpLoad %20 %27 %28 = OpLoad %uint %27
%31 = OpINotEqual %29 %28 %30 %31 = OpINotEqual %bool %28 %uint_0
OpSelectionMerge %33 None OpSelectionMerge %33 None
OpBranchConditional %31 %32 %33 OpBranchConditional %31 %32 %33
%32 = OpLabel %32 = OpLabel
%34 = OpLoad %7 %9 %34 = OpLoad %v4float %oC
%35 = OpVectorShuffle %7 %34 %34 2 1 0 3 %35 = OpVectorShuffle %v4float %34 %34 2 1 0 3
OpStore %9 %35 OpStore %oC %35
OpBranch %33 OpBranch %33
%33 = OpLabel %33 = OpLabel
OpReturn OpReturn

View File

@ -6,43 +6,43 @@
OpCapability Shader OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450" %1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %4 "main" %8 %16 %24 OpEntryPoint Fragment %main "main" %gl_FragDepth %vtx_uv %oC
OpExecutionMode %4 OriginUpperLeft OpExecutionMode %main OriginUpperLeft
OpExecutionMode %4 DepthReplacing OpExecutionMode %main DepthReplacing
OpSource GLSL 450 OpSource GLSL 450
OpName %4 "main" OpName %main "main"
OpName %8 "gl_FragDepth" OpName %gl_FragDepth "gl_FragDepth"
OpName %12 "src_texture" OpName %src_texture "src_texture"
OpName %16 "vtx_uv" OpName %vtx_uv "vtx_uv"
OpName %24 "oC" OpName %oC "oC"
OpDecorate %8 BuiltIn FragDepth OpDecorate %gl_FragDepth BuiltIn FragDepth
OpDecorate %12 DescriptorSet 0 OpDecorate %src_texture DescriptorSet 0
OpDecorate %12 Binding 0 OpDecorate %src_texture Binding 0
OpDecorate %16 Location 0 OpDecorate %vtx_uv Location 0
OpDecorate %24 Location 0 OpDecorate %oC Location 0
%2 = OpTypeVoid %void = OpTypeVoid
%3 = OpTypeFunction %2 %3 = OpTypeFunction %void
%6 = OpTypeFloat 32 %float = OpTypeFloat 32
%7 = OpTypePointer Output %6 %_ptr_Output_float = OpTypePointer Output %float
%8 = OpVariable %7 Output %gl_FragDepth = OpVariable %_ptr_Output_float Output
%9 = OpTypeImage %6 2D 0 0 0 1 Unknown %9 = OpTypeImage %float 2D 0 0 0 1 Unknown
%10 = OpTypeSampledImage %9 %10 = OpTypeSampledImage %9
%11 = OpTypePointer UniformConstant %10 %_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10
%12 = OpVariable %11 UniformConstant %src_texture = OpVariable %_ptr_UniformConstant_10 UniformConstant
%14 = OpTypeVector %6 2 %v2float = OpTypeVector %float 2
%15 = OpTypePointer Input %14 %_ptr_Input_v2float = OpTypePointer Input %v2float
%16 = OpVariable %15 Input %vtx_uv = OpVariable %_ptr_Input_v2float Input
%18 = OpTypeVector %6 4 %v4float = OpTypeVector %float 4
%20 = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%21 = OpConstant %20 0 %uint_0 = OpConstant %uint 0
%23 = OpTypePointer Output %18 %_ptr_Output_v4float = OpTypePointer Output %v4float
%24 = OpVariable %23 Output %oC = OpVariable %_ptr_Output_v4float Output
%4 = OpFunction %2 None %3 %main = OpFunction %void None %3
%5 = OpLabel %5 = OpLabel
%13 = OpLoad %10 %12 %13 = OpLoad %10 %src_texture
%17 = OpLoad %14 %16 %17 = OpLoad %v2float %vtx_uv
%19 = OpImageSampleImplicitLod %18 %13 %17 %19 = OpImageSampleImplicitLod %v4float %13 %17
%22 = OpCompositeExtract %6 %19 0 %22 = OpCompositeExtract %float %19 0
OpStore %8 %22 OpStore %gl_FragDepth %22
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -3,118 +3,117 @@
const uint8_t blit_vert[] = { const uint8_t blit_vert[] = {
0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00,
0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00,
0x11, 0x00, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30,
0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2E, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x0D, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E,
0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78,
0x0B, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74,
0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74,
0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00,
0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43,
0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00,
0x67, 0x6C, 0x5F, 0x43, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x69, 0x73, 0x74, 0x61,
0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00,
0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x76, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5F, 0x70, 0x6F, 0x73, 0x00, 0x00,
0x12, 0x00, 0x00, 0x00, 0x76, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5F, 0x70, 0x05, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F,
0x6F, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x25, 0x00, 0x00, 0x00,
0x76, 0x74, 0x78, 0x5F, 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74,
0x25, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00,
0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x72, 0x63, 0x5F, 0x75, 0x76, 0x00, 0x00,
0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x72, 0x63, 0x5F, 0x05, 0x00, 0x06, 0x00, 0x27, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68,
0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x27, 0x00, 0x00, 0x00, 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00,
0x70, 0x75, 0x73, 0x68, 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x74, 0x73, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00,
0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
0x47, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x47, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00,
0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00,
0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00,
0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x1C, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00,
0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x15, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x2B, 0x00, 0x04, 0x00,
0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x2C, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00,
0x16, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F,
0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xBF, 0x2C, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xBF, 0x2C, 0x00, 0x05, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00,
0x19, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00,
0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x20, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00,
0x25, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x26, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
0x3D, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
0x12, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
0x83, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00,
0x17, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00,
0x50, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00,
0x21, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x3E, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
0x3D, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
0x12, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x29, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00,
0x29, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x2B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00,
0x2B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x2D, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00,
0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
0x2D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x23, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00,
0x30, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00,
}; };

View File

@ -4,81 +4,79 @@
; Bound: 49 ; Bound: 49
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpCapability ClipDistance
OpCapability CullDistance
%1 = OpExtInstImport "GLSL.std.450" %1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %4 "main" %13 %18 %35 OpEntryPoint Vertex %main "main" %_ %vfetch_pos %vtx_uv
OpSource GLSL 450 OpSource GLSL 450
OpName %4 "main" OpName %main "main"
OpName %11 "gl_PerVertex" OpName %gl_PerVertex "gl_PerVertex"
OpMemberName %11 0 "gl_Position" OpMemberName %gl_PerVertex 0 "gl_Position"
OpMemberName %11 1 "gl_PointSize" OpMemberName %gl_PerVertex 1 "gl_PointSize"
OpMemberName %11 2 "gl_ClipDistance" OpMemberName %gl_PerVertex 2 "gl_ClipDistance"
OpMemberName %11 3 "gl_CullDistance" OpMemberName %gl_PerVertex 3 "gl_CullDistance"
OpName %13 "" OpName %_ ""
OpName %18 "vfetch_pos" OpName %vfetch_pos "vfetch_pos"
OpName %35 "vtx_uv" OpName %vtx_uv "vtx_uv"
OpName %37 "PushConstants" OpName %PushConstants "PushConstants"
OpMemberName %37 0 "src_uv" OpMemberName %PushConstants 0 "src_uv"
OpName %39 "push_constants" OpName %push_constants "push_constants"
OpMemberDecorate %11 0 BuiltIn Position OpMemberDecorate %gl_PerVertex 0 BuiltIn Position
OpMemberDecorate %11 1 BuiltIn PointSize OpMemberDecorate %gl_PerVertex 1 BuiltIn PointSize
OpMemberDecorate %11 2 BuiltIn ClipDistance OpMemberDecorate %gl_PerVertex 2 BuiltIn ClipDistance
OpMemberDecorate %11 3 BuiltIn CullDistance OpMemberDecorate %gl_PerVertex 3 BuiltIn CullDistance
OpDecorate %11 Block OpDecorate %gl_PerVertex Block
OpDecorate %18 Location 0 OpDecorate %vfetch_pos Location 0
OpDecorate %35 Location 0 OpDecorate %vtx_uv Location 0
OpMemberDecorate %37 0 Offset 0 OpMemberDecorate %PushConstants 0 Offset 0
OpDecorate %37 Block OpDecorate %PushConstants Block
%2 = OpTypeVoid %void = OpTypeVoid
%3 = OpTypeFunction %2 %3 = OpTypeFunction %void
%6 = OpTypeFloat 32 %float = OpTypeFloat 32
%7 = OpTypeVector %6 4 %v4float = OpTypeVector %float 4
%8 = OpTypeInt 32 0 %uint = OpTypeInt 32 0
%9 = OpConstant %8 1 %uint_1 = OpConstant %uint 1
%10 = OpTypeArray %6 %9 %_arr_float_uint_1 = OpTypeArray %float %uint_1
%11 = OpTypeStruct %7 %6 %10 %10 %gl_PerVertex = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1
%12 = OpTypePointer Output %11 %_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
%13 = OpVariable %12 Output %_ = OpVariable %_ptr_Output_gl_PerVertex Output
%14 = OpTypeInt 32 1 %int = OpTypeInt 32 1
%15 = OpConstant %14 0 %int_0 = OpConstant %int 0
%16 = OpTypeVector %6 2 %v2float = OpTypeVector %float 2
%17 = OpTypePointer Input %16 %_ptr_Input_v2float = OpTypePointer Input %v2float
%18 = OpVariable %17 Input %vfetch_pos = OpVariable %_ptr_Input_v2float Input
%20 = OpConstant %6 2 %float_2 = OpConstant %float 2
%21 = OpConstant %6 -2 %float_n2 = OpConstant %float -2
%22 = OpConstantComposite %16 %20 %21 %22 = OpConstantComposite %v2float %float_2 %float_n2
%24 = OpConstant %6 1 %float_1 = OpConstant %float 1
%25 = OpConstant %6 -1 %float_n1 = OpConstant %float -1
%26 = OpConstantComposite %16 %24 %25 %26 = OpConstantComposite %v2float %float_1 %float_n1
%28 = OpConstant %6 0 %float_0 = OpConstant %float 0
%32 = OpTypePointer Output %7 %_ptr_Output_v4float = OpTypePointer Output %v4float
%34 = OpTypePointer Output %16 %_ptr_Output_v2float = OpTypePointer Output %v2float
%35 = OpVariable %34 Output %vtx_uv = OpVariable %_ptr_Output_v2float Output
%37 = OpTypeStruct %7 %PushConstants = OpTypeStruct %v4float
%38 = OpTypePointer PushConstant %37 %_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants
%39 = OpVariable %38 PushConstant %push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant
%40 = OpTypePointer PushConstant %7 %_ptr_PushConstant_v4float = OpTypePointer PushConstant %v4float
%4 = OpFunction %2 None %3 %main = OpFunction %void None %3
%5 = OpLabel %5 = OpLabel
%19 = OpLoad %16 %18 %19 = OpLoad %v2float %vfetch_pos
%23 = OpFMul %16 %19 %22 %23 = OpFMul %v2float %19 %22
%27 = OpFSub %16 %23 %26 %27 = OpFSub %v2float %23 %26
%29 = OpCompositeExtract %6 %27 0 %29 = OpCompositeExtract %float %27 0
%30 = OpCompositeExtract %6 %27 1 %30 = OpCompositeExtract %float %27 1
%31 = OpCompositeConstruct %7 %29 %30 %28 %24 %31 = OpCompositeConstruct %v4float %29 %30 %float_0 %float_1
%33 = OpAccessChain %32 %13 %15 %33 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %33 %31 OpStore %33 %31
%36 = OpLoad %16 %18 %36 = OpLoad %v2float %vfetch_pos
%41 = OpAccessChain %40 %39 %15 %41 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0
%42 = OpLoad %7 %41 %42 = OpLoad %v4float %41
%43 = OpVectorShuffle %16 %42 %42 2 3 %43 = OpVectorShuffle %v2float %42 %42 2 3
%44 = OpFMul %16 %36 %43 %44 = OpFMul %v2float %36 %43
%45 = OpAccessChain %40 %39 %15 %45 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0
%46 = OpLoad %7 %45 %46 = OpLoad %v4float %45
%47 = OpVectorShuffle %16 %46 %46 0 1 %47 = OpVectorShuffle %v2float %46 %46 0 1
%48 = OpFAdd %16 %44 %47 %48 = OpFAdd %v2float %44 %47
OpStore %35 %48 OpStore %vtx_uv %48
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -2,13 +2,13 @@
// source: immediate.frag // source: immediate.frag
const uint8_t immediate_frag[] = { const uint8_t immediate_frag[] = {
0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00,
0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00,
0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30,
0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00,
0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00,
0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E,
@ -16,110 +16,100 @@ const uint8_t immediate_frag[] = {
0x6F, 0x75, 0x74, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x6F, 0x75, 0x74, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00,
0x05, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x05, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F,
0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
0x10, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, 0x0F, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73,
0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0A, 0x00,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x65, 0x73, 0x74,
0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x61, 0x74, 0x72, 0x69, 0x72, 0x69, 0x63, 0x74, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x5F, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x73, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x05, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68,
0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x73, 0x61, 0x6D, 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00,
0x70, 0x6C, 0x65, 0x73, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F,
0x12, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68, 0x5F, 0x63, 0x6F, 0x6E, 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00,
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x74, 0x65, 0x78, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74,
0x05, 0x00, 0x05, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x5F, 0x75, 0x72, 0x65, 0x5F, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x72, 0x00,
0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x2E, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x72, 0x00, 0x47, 0x00, 0x04, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
0x47, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
0x48, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x02, 0x00,
0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00,
0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x14, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00,
0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x15, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1B, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x11, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
0x2B, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x20, 0x00, 0x04, 0x00, 0x27, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00,
0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x1D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00,
0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00,
0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x20, 0x00, 0x04, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x29, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x19, 0x00, 0x09, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00,
0x1B, 0x00, 0x03, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
0x20, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
0x2C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00,
0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x18, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x1F, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
0x13, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
0x0D, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00,
0x17, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x07, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x19, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, 0x24, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00,
0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00,
0xF8, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x20, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x05, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00,
0x0D, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00,
0x24, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00,
0xF8, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x07, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
0x0D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x05, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
0xF7, 0x00, 0x03, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
0xFA, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
0x28, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00,
0x3D, 0x00, 0x04, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x26, 0x00, 0x00, 0x00,
0x2E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x26, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00,
0x30, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, 0x38, 0x00, 0x01, 0x00,
0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x2A, 0x00, 0x00, 0x00,
0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
0x32, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x07, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x85, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
0x33, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00,
0x09, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00,
0x28, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x28, 0x00, 0x00, 0x00,
0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00,
}; };

View File

@ -1,93 +1,87 @@
; SPIR-V ; SPIR-V
; Version: 1.0 ; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1 ; Generator: Khronos Glslang Reference Front End; 1
; Bound: 53 ; Bound: 51
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450" %1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %4 "main" %9 %11 %30 OpEntryPoint Fragment %main "main" %out_color %vtx_color %vtx_uv
OpExecutionMode %4 OriginUpperLeft OpExecutionMode %main OriginUpperLeft
OpSource GLSL 450 OpSource GLSL 450
OpName %4 "main" OpName %main "main"
OpName %9 "out_color" OpName %out_color "out_color"
OpName %11 "vtx_color" OpName %vtx_color "vtx_color"
OpName %16 "PushConstants" OpName %PushConstants "PushConstants"
OpMemberName %16 0 "projection_matrix" OpMemberName %PushConstants 0 "restrict_texture_samples"
OpMemberName %16 1 "restrict_texture_samples" OpName %push_constants "push_constants"
OpName %18 "push_constants" OpName %vtx_uv "vtx_uv"
OpName %30 "vtx_uv" OpName %tex_color "tex_color"
OpName %42 "tex_color" OpName %texture_sampler "texture_sampler"
OpName %46 "texture_sampler" OpDecorate %out_color Location 0
OpDecorate %9 Location 0 OpDecorate %vtx_color Location 1
OpDecorate %11 Location 1 OpMemberDecorate %PushConstants 0 Offset 64
OpMemberDecorate %16 0 ColMajor OpDecorate %PushConstants Block
OpMemberDecorate %16 0 Offset 0 OpDecorate %vtx_uv Location 0
OpMemberDecorate %16 0 MatrixStride 16 OpDecorate %texture_sampler DescriptorSet 0
OpMemberDecorate %16 1 Offset 64 OpDecorate %texture_sampler Binding 0
OpDecorate %16 Block %void = OpTypeVoid
OpDecorate %30 Location 0 %3 = OpTypeFunction %void
OpDecorate %46 DescriptorSet 0 %float = OpTypeFloat 32
OpDecorate %46 Binding 0 %v4float = OpTypeVector %float 4
%2 = OpTypeVoid %_ptr_Output_v4float = OpTypePointer Output %v4float
%3 = OpTypeFunction %2 %out_color = OpVariable %_ptr_Output_v4float Output
%6 = OpTypeFloat 32 %_ptr_Input_v4float = OpTypePointer Input %v4float
%7 = OpTypeVector %6 4 %vtx_color = OpVariable %_ptr_Input_v4float Input
%8 = OpTypePointer Output %7 %bool = OpTypeBool
%9 = OpVariable %8 Output %int = OpTypeInt 32 1
%10 = OpTypePointer Input %7 %PushConstants = OpTypeStruct %int
%11 = OpVariable %10 Input %_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants
%13 = OpTypeBool %push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant
%14 = OpTypeMatrix %7 4 %int_0 = OpConstant %int 0
%15 = OpTypeInt 32 1 %_ptr_PushConstant_int = OpTypePointer PushConstant %int
%16 = OpTypeStruct %14 %15 %v2float = OpTypeVector %float 2
%17 = OpTypePointer PushConstant %16 %_ptr_Input_v2float = OpTypePointer Input %v2float
%18 = OpVariable %17 PushConstant %vtx_uv = OpVariable %_ptr_Input_v2float Input
%19 = OpConstant %15 1 %uint = OpTypeInt 32 0
%20 = OpTypePointer PushConstant %15 %uint_0 = OpConstant %uint 0
%23 = OpConstant %15 0 %_ptr_Input_float = OpTypePointer Input %float
%28 = OpTypeVector %6 2 %float_1 = OpConstant %float 1
%29 = OpTypePointer Input %28 %_ptr_Function_v4float = OpTypePointer Function %v4float
%30 = OpVariable %29 Input %41 = OpTypeImage %float 2D 0 0 0 1 Unknown
%31 = OpTypeInt 32 0 %42 = OpTypeSampledImage %41
%32 = OpConstant %31 0 %_ptr_UniformConstant_42 = OpTypePointer UniformConstant %42
%33 = OpTypePointer Input %6 %texture_sampler = OpVariable %_ptr_UniformConstant_42 UniformConstant
%36 = OpConstant %6 1 %main = OpFunction %void None %3
%41 = OpTypePointer Function %7
%43 = OpTypeImage %6 2D 0 0 0 1 Unknown
%44 = OpTypeSampledImage %43
%45 = OpTypePointer UniformConstant %44
%46 = OpVariable %45 UniformConstant
%4 = OpFunction %2 None %3
%5 = OpLabel %5 = OpLabel
%42 = OpVariable %41 Function %tex_color = OpVariable %_ptr_Function_v4float Function
%12 = OpLoad %7 %11 %12 = OpLoad %v4float %vtx_color
OpStore %9 %12 OpStore %out_color %12
%21 = OpAccessChain %20 %18 %19 %20 = OpAccessChain %_ptr_PushConstant_int %push_constants %int_0
%22 = OpLoad %15 %21 %21 = OpLoad %int %20
%24 = OpIEqual %13 %22 %23 %22 = OpIEqual %bool %21 %int_0
%25 = OpLogicalNot %13 %24 %23 = OpLogicalNot %bool %22
OpSelectionMerge %27 None OpSelectionMerge %25 None
OpBranchConditional %25 %26 %27 OpBranchConditional %23 %24 %25
%26 = OpLabel %24 = OpLabel
%34 = OpAccessChain %33 %30 %32 %32 = OpAccessChain %_ptr_Input_float %vtx_uv %uint_0
%35 = OpLoad %6 %34 %33 = OpLoad %float %32
%37 = OpFOrdLessThanEqual %13 %35 %36 %35 = OpFOrdLessThanEqual %bool %33 %float_1
OpBranch %27 OpBranch %25
%27 = OpLabel %25 = OpLabel
%38 = OpPhi %13 %24 %5 %37 %26 %36 = OpPhi %bool %22 %5 %35 %24
OpSelectionMerge %40 None OpSelectionMerge %38 None
OpBranchConditional %38 %39 %40 OpBranchConditional %36 %37 %38
%39 = OpLabel %37 = OpLabel
%47 = OpLoad %44 %46 %45 = OpLoad %42 %texture_sampler
%48 = OpLoad %28 %30 %46 = OpLoad %v2float %vtx_uv
%49 = OpImageSampleImplicitLod %7 %47 %48 %47 = OpImageSampleImplicitLod %v4float %45 %46
OpStore %42 %49 OpStore %tex_color %47
%50 = OpLoad %7 %42 %48 = OpLoad %v4float %tex_color
%51 = OpLoad %7 %9 %49 = OpLoad %v4float %out_color
%52 = OpFMul %7 %51 %50 %50 = OpFMul %v4float %49 %48
OpStore %9 %52 OpStore %out_color %50
OpBranch %40 OpBranch %38
%40 = OpLabel %38 = OpLabel
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -3,135 +3,128 @@
const uint8_t immediate_vert[] = { const uint8_t immediate_vert[] = {
0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00,
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00,
0x11, 0x00, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30,
0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2E, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x0D, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00,
0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00,
0x2E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E,
0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78,
0x0B, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74,
0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74,
0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00,
0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43,
0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00,
0x67, 0x6C, 0x5F, 0x43, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x69, 0x73, 0x74, 0x61,
0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00,
0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74,
0x11, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, 0x11, 0x00, 0x00, 0x00,
0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69,
0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, 0x6F, 0x6E, 0x5F, 0x6D, 0x61, 0x74, 0x72, 0x69, 0x78, 0x00, 0x00, 0x00,
0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x61, 0x74, 0x72, 0x69, 0x05, 0x00, 0x06, 0x00, 0x13, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68,
0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x11, 0x00, 0x00, 0x00, 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x05, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x5F, 0x70,
0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x73, 0x61, 0x6D, 0x6F, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00,
0x70, 0x6C, 0x65, 0x73, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00,
0x13, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68, 0x5F, 0x63, 0x6F, 0x6E, 0x2A, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x5F, 0x75, 0x76, 0x00, 0x00, 0x00,
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F,
0x19, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x5F, 0x70, 0x6F, 0x73, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
0x05, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x2E, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72,
0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x69, 0x6E, 0x5F, 0x75, 0x76, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2C, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
0x69, 0x6E, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00,
0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00,
0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
0x48, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00,
0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x47, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2A, 0x00, 0x00, 0x00,
0x47, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x2A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
0x47, 0x00, 0x04, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00,
0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00,
0x2B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x0C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00,
0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x1E, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x18, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x10, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00,
0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
0x17, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x20, 0x00, 0x04, 0x00,
0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x3F, 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00,
0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00,
0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00,
0x17, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
0x29, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00,
0x3B, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x05, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
0x15, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00,
0x3D, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
0x15, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00,
0x1A, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00,
0x1E, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
0x50, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00,
0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x1C, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x22, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
0x41, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
0x22, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x24, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00,
0x0F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00,
0x7F, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x25, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x23, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00,
0x27, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x27, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
0x26, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x2C, 0x00, 0x00, 0x00,
0x2B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00,
0x29, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00,
0x07, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00,
0x3E, 0x00, 0x03, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00,
}; };

View File

@ -4,92 +4,88 @@
; Bound: 48 ; Bound: 48
; Schema: 0 ; Schema: 0
OpCapability Shader OpCapability Shader
OpCapability ClipDistance
OpCapability CullDistance
%1 = OpExtInstImport "GLSL.std.450" %1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450 OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %4 "main" %13 %25 %41 %42 %44 %46 OpEntryPoint Vertex %main "main" %_ %in_pos %vtx_uv %in_uv %vtx_color %in_color
OpSource GLSL 450 OpSource GLSL 450
OpName %4 "main" OpName %main "main"
OpName %11 "gl_PerVertex" OpName %gl_PerVertex "gl_PerVertex"
OpMemberName %11 0 "gl_Position" OpMemberName %gl_PerVertex 0 "gl_Position"
OpMemberName %11 1 "gl_PointSize" OpMemberName %gl_PerVertex 1 "gl_PointSize"
OpMemberName %11 2 "gl_ClipDistance" OpMemberName %gl_PerVertex 2 "gl_ClipDistance"
OpMemberName %11 3 "gl_CullDistance" OpMemberName %gl_PerVertex 3 "gl_CullDistance"
OpName %13 "" OpName %_ ""
OpName %17 "PushConstants" OpName %PushConstants "PushConstants"
OpMemberName %17 0 "projection_matrix" OpMemberName %PushConstants 0 "projection_matrix"
OpMemberName %17 1 "restrict_texture_samples" OpName %push_constants "push_constants"
OpName %19 "push_constants" OpName %in_pos "in_pos"
OpName %25 "in_pos" OpName %vtx_uv "vtx_uv"
OpName %41 "vtx_uv" OpName %in_uv "in_uv"
OpName %42 "in_uv" OpName %vtx_color "vtx_color"
OpName %44 "vtx_color" OpName %in_color "in_color"
OpName %46 "in_color" OpMemberDecorate %gl_PerVertex 0 BuiltIn Position
OpMemberDecorate %11 0 BuiltIn Position OpMemberDecorate %gl_PerVertex 1 BuiltIn PointSize
OpMemberDecorate %11 1 BuiltIn PointSize OpMemberDecorate %gl_PerVertex 2 BuiltIn ClipDistance
OpMemberDecorate %11 2 BuiltIn ClipDistance OpMemberDecorate %gl_PerVertex 3 BuiltIn CullDistance
OpMemberDecorate %11 3 BuiltIn CullDistance OpDecorate %gl_PerVertex Block
OpDecorate %11 Block OpMemberDecorate %PushConstants 0 ColMajor
OpMemberDecorate %17 0 ColMajor OpMemberDecorate %PushConstants 0 Offset 0
OpMemberDecorate %17 0 Offset 0 OpMemberDecorate %PushConstants 0 MatrixStride 16
OpMemberDecorate %17 0 MatrixStride 16 OpDecorate %PushConstants Block
OpMemberDecorate %17 1 Offset 64 OpDecorate %in_pos Location 0
OpDecorate %17 Block OpDecorate %vtx_uv Location 0
OpDecorate %25 Location 0 OpDecorate %in_uv Location 1
OpDecorate %41 Location 0 OpDecorate %vtx_color Location 1
OpDecorate %42 Location 1 OpDecorate %in_color Location 2
OpDecorate %44 Location 1 %void = OpTypeVoid
OpDecorate %46 Location 2 %3 = OpTypeFunction %void
%2 = OpTypeVoid %float = OpTypeFloat 32
%3 = OpTypeFunction %2 %v4float = OpTypeVector %float 4
%6 = OpTypeFloat 32 %uint = OpTypeInt 32 0
%7 = OpTypeVector %6 4 %uint_1 = OpConstant %uint 1
%8 = OpTypeInt 32 0 %_arr_float_uint_1 = OpTypeArray %float %uint_1
%9 = OpConstant %8 1 %gl_PerVertex = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1
%10 = OpTypeArray %6 %9 %_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
%11 = OpTypeStruct %7 %6 %10 %10 %_ = OpVariable %_ptr_Output_gl_PerVertex Output
%12 = OpTypePointer Output %11 %int = OpTypeInt 32 1
%13 = OpVariable %12 Output %int_0 = OpConstant %int 0
%14 = OpTypeInt 32 1 %mat4v4float = OpTypeMatrix %v4float 4
%15 = OpConstant %14 0 %PushConstants = OpTypeStruct %mat4v4float
%16 = OpTypeMatrix %7 4 %_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants
%17 = OpTypeStruct %16 %14 %push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant
%18 = OpTypePointer PushConstant %17 %_ptr_PushConstant_mat4v4float = OpTypePointer PushConstant %mat4v4float
%19 = OpVariable %18 PushConstant %v2float = OpTypeVector %float 2
%20 = OpTypePointer PushConstant %16 %_ptr_Input_v2float = OpTypePointer Input %v2float
%23 = OpTypeVector %6 2 %in_pos = OpVariable %_ptr_Input_v2float Input
%24 = OpTypePointer Input %23 %float_0 = OpConstant %float 0
%25 = OpVariable %24 Input %float_1 = OpConstant %float 1
%27 = OpConstant %6 0 %_ptr_Output_v4float = OpTypePointer Output %v4float
%28 = OpConstant %6 1 %_ptr_Output_float = OpTypePointer Output %float
%33 = OpTypePointer Output %7 %_ptr_Output_v2float = OpTypePointer Output %v2float
%35 = OpTypePointer Output %6 %vtx_uv = OpVariable %_ptr_Output_v2float Output
%40 = OpTypePointer Output %23 %in_uv = OpVariable %_ptr_Input_v2float Input
%41 = OpVariable %40 Output %vtx_color = OpVariable %_ptr_Output_v4float Output
%42 = OpVariable %24 Input %_ptr_Input_v4float = OpTypePointer Input %v4float
%44 = OpVariable %33 Output %in_color = OpVariable %_ptr_Input_v4float Input
%45 = OpTypePointer Input %7 %main = OpFunction %void None %3
%46 = OpVariable %45 Input
%4 = OpFunction %2 None %3
%5 = OpLabel %5 = OpLabel
%21 = OpAccessChain %20 %19 %15 %21 = OpAccessChain %_ptr_PushConstant_mat4v4float %push_constants %int_0
%22 = OpLoad %16 %21 %22 = OpLoad %mat4v4float %21
%26 = OpLoad %23 %25 %26 = OpLoad %v2float %in_pos
%29 = OpCompositeExtract %6 %26 0 %29 = OpCompositeExtract %float %26 0
%30 = OpCompositeExtract %6 %26 1 %30 = OpCompositeExtract %float %26 1
%31 = OpCompositeConstruct %7 %29 %30 %27 %28 %31 = OpCompositeConstruct %v4float %29 %30 %float_0 %float_1
%32 = OpMatrixTimesVector %7 %22 %31 %32 = OpMatrixTimesVector %v4float %22 %31
%34 = OpAccessChain %33 %13 %15 %34 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %34 %32 OpStore %34 %32
%36 = OpAccessChain %35 %13 %15 %9 %36 = OpAccessChain %_ptr_Output_float %_ %int_0 %uint_1
%37 = OpLoad %6 %36 %37 = OpLoad %float %36
%38 = OpFNegate %6 %37 %38 = OpFNegate %float %37
%39 = OpAccessChain %35 %13 %15 %9 %39 = OpAccessChain %_ptr_Output_float %_ %int_0 %uint_1
OpStore %39 %38 OpStore %39 %38
%43 = OpLoad %23 %42 %43 = OpLoad %v2float %in_uv
OpStore %41 %43 OpStore %vtx_uv %43
%47 = OpLoad %7 %46 %47 = OpLoad %v4float %in_color
OpStore %44 %47 OpStore %vtx_color %47
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd

View File

@ -5,8 +5,7 @@
precision highp float; precision highp float;
layout(push_constant) uniform PushConstants { layout(push_constant) uniform PushConstants {
mat4 projection_matrix; layout(offset = 64) int restrict_texture_samples;
int restrict_texture_samples;
} push_constants; } push_constants;
layout(set = 0, binding = 0) uniform sampler2D texture_sampler; layout(set = 0, binding = 0) uniform sampler2D texture_sampler;

View File

@ -5,8 +5,7 @@
precision highp float; precision highp float;
layout(push_constant) uniform PushConstants { layout(push_constant) uniform PushConstants {
mat4 projection_matrix; layout(offset = 0) mat4 projection_matrix;
int restrict_texture_samples;
} push_constants; } push_constants;
layout(location = 0) in vec2 in_pos; layout(location = 0) in vec2 in_pos;