| ; SPIR-V |
| ; Version: 1.0 |
| ; Generator: Khronos Glslang Reference Front End; 8 |
| ; Bound: 99 |
| ; Schema: 0 |
| OpCapability Shader |
| %1 = OpExtInstImport "GLSL.std.450" |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %main "main" %color %i |
| OpExecutionMode %main OriginUpperLeft |
| OpSource ESSL 310 |
| OpName %main "main" |
| OpName %color "color" |
| OpName %t2d "t2d" |
| OpName %s "s" |
| OpName %t3d "t3d" |
| OpName %sA "sA" |
| OpName %sShadow "sShadow" |
| OpName %i "i" |
| OpName %tex2D "tex2D" |
| OpName %texCube "texCube" |
| OpName %tex2DArray "tex2DArray" |
| OpName %itex2D "itex2D" |
| OpName %itex3D "itex3D" |
| OpName %itexCube "itexCube" |
| OpName %itex2DArray "itex2DArray" |
| OpName %utex2D "utex2D" |
| OpName %utex3D "utex3D" |
| OpName %utexCube "utexCube" |
| OpName %utex2DArray "utex2DArray" |
| OpName %tex3D "tex3D" |
| OpDecorate %color Location 0 |
| OpDecorate %t2d RelaxedPrecision |
| OpDecorate %t2d DescriptorSet 0 |
| OpDecorate %t2d Binding 3 |
| OpDecorate %14 RelaxedPrecision |
| OpDecorate %s DescriptorSet 0 |
| OpDecorate %s Binding 0 |
| OpDecorate %23 RelaxedPrecision |
| OpDecorate %t3d DescriptorSet 0 |
| OpDecorate %t3d Binding 4 |
| OpDecorate %sA DescriptorSet 0 |
| OpDecorate %sA Binding 2 |
| OpDecorate %48 RelaxedPrecision |
| OpDecorate %51 RelaxedPrecision |
| OpDecorate %sShadow DescriptorSet 0 |
| OpDecorate %sShadow Binding 1 |
| OpDecorate %i RelaxedPrecision |
| OpDecorate %i Flat |
| OpDecorate %i Location 0 |
| OpDecorate %tex2D RelaxedPrecision |
| OpDecorate %tex2D DescriptorSet 0 |
| OpDecorate %tex2D Binding 5 |
| OpDecorate %texCube RelaxedPrecision |
| OpDecorate %texCube DescriptorSet 0 |
| OpDecorate %texCube Binding 6 |
| OpDecorate %tex2DArray DescriptorSet 0 |
| OpDecorate %tex2DArray Binding 15 |
| OpDecorate %itex2D DescriptorSet 0 |
| OpDecorate %itex2D Binding 16 |
| OpDecorate %itex3D DescriptorSet 0 |
| OpDecorate %itex3D Binding 17 |
| OpDecorate %itexCube DescriptorSet 0 |
| OpDecorate %itexCube Binding 18 |
| OpDecorate %itex2DArray DescriptorSet 0 |
| OpDecorate %itex2DArray Binding 19 |
| OpDecorate %utex2D DescriptorSet 0 |
| OpDecorate %utex2D Binding 20 |
| OpDecorate %utex3D DescriptorSet 0 |
| OpDecorate %utex3D Binding 21 |
| OpDecorate %utexCube DescriptorSet 0 |
| OpDecorate %utexCube Binding 22 |
| OpDecorate %utex2DArray DescriptorSet 0 |
| OpDecorate %utex2DArray Binding 23 |
| OpDecorate %tex3D DescriptorSet 0 |
| OpDecorate %tex3D Binding 36 |
| %void = OpTypeVoid |
| %3 = OpTypeFunction %void |
| %float = OpTypeFloat 32 |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %color = OpVariable %_ptr_Output_v4float Output |
| %10 = OpTypeImage %float 2D 0 0 0 1 Unknown |
| %11 = OpTypeSampledImage %10 |
| %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11 |
| %t2d = OpVariable %_ptr_UniformConstant_11 UniformConstant |
| %15 = OpTypeSampler |
| %_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15 |
| %s = OpVariable %_ptr_UniformConstant_15 UniformConstant |
| %v2float = OpTypeVector %float 2 |
| %float_0_5 = OpConstant %float 0.5 |
| %22 = OpConstantComposite %v2float %float_0_5 %float_0_5 |
| %24 = OpTypeImage %float 3D 0 0 0 1 Unknown |
| %25 = OpTypeSampledImage %24 |
| %uint = OpTypeInt 32 0 |
| %uint_4 = OpConstant %uint 4 |
| %_arr_25_uint_4 = OpTypeArray %25 %uint_4 |
| %_ptr_UniformConstant__arr_25_uint_4 = OpTypePointer UniformConstant %_arr_25_uint_4 |
| %t3d = OpVariable %_ptr_UniformConstant__arr_25_uint_4 UniformConstant |
| %int = OpTypeInt 32 1 |
| %int_1 = OpConstant %int 1 |
| %_ptr_UniformConstant_25 = OpTypePointer UniformConstant %25 |
| %_arr_15_uint_4 = OpTypeArray %15 %uint_4 |
| %_ptr_UniformConstant__arr_15_uint_4 = OpTypePointer UniformConstant %_arr_15_uint_4 |
| %sA = OpVariable %_ptr_UniformConstant__arr_15_uint_4 UniformConstant |
| %int_2 = OpConstant %int 2 |
| %v3float = OpTypeVector %float 3 |
| %44 = OpConstantComposite %v3float %float_0_5 %float_0_5 %float_0_5 |
| %sShadow = OpVariable %_ptr_UniformConstant_15 UniformConstant |
| %_ptr_Input_int = OpTypePointer Input %int |
| %i = OpVariable %_ptr_Input_int Input |
| %tex2D = OpVariable %_ptr_UniformConstant_11 UniformConstant |
| %58 = OpTypeImage %float Cube 0 0 0 1 Unknown |
| %59 = OpTypeSampledImage %58 |
| %_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59 |
| %texCube = OpVariable %_ptr_UniformConstant_59 UniformConstant |
| %62 = OpTypeImage %float 2D 0 1 0 1 Unknown |
| %63 = OpTypeSampledImage %62 |
| %_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63 |
| %tex2DArray = OpVariable %_ptr_UniformConstant_63 UniformConstant |
| %66 = OpTypeImage %int 2D 0 0 0 1 Unknown |
| %67 = OpTypeSampledImage %66 |
| %_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67 |
| %itex2D = OpVariable %_ptr_UniformConstant_67 UniformConstant |
| %70 = OpTypeImage %int 3D 0 0 0 1 Unknown |
| %71 = OpTypeSampledImage %70 |
| %_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71 |
| %itex3D = OpVariable %_ptr_UniformConstant_71 UniformConstant |
| %74 = OpTypeImage %int Cube 0 0 0 1 Unknown |
| %75 = OpTypeSampledImage %74 |
| %_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75 |
| %itexCube = OpVariable %_ptr_UniformConstant_75 UniformConstant |
| %78 = OpTypeImage %int 2D 0 1 0 1 Unknown |
| %79 = OpTypeSampledImage %78 |
| %_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79 |
| %itex2DArray = OpVariable %_ptr_UniformConstant_79 UniformConstant |
| %82 = OpTypeImage %uint 2D 0 0 0 1 Unknown |
| %83 = OpTypeSampledImage %82 |
| %_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83 |
| %utex2D = OpVariable %_ptr_UniformConstant_83 UniformConstant |
| %86 = OpTypeImage %uint 3D 0 0 0 1 Unknown |
| %87 = OpTypeSampledImage %86 |
| %_ptr_UniformConstant_87 = OpTypePointer UniformConstant %87 |
| %utex3D = OpVariable %_ptr_UniformConstant_87 UniformConstant |
| %90 = OpTypeImage %uint Cube 0 0 0 1 Unknown |
| %91 = OpTypeSampledImage %90 |
| %_ptr_UniformConstant_91 = OpTypePointer UniformConstant %91 |
| %utexCube = OpVariable %_ptr_UniformConstant_91 UniformConstant |
| %94 = OpTypeImage %uint 2D 0 1 0 1 Unknown |
| %95 = OpTypeSampledImage %94 |
| %_ptr_UniformConstant_95 = OpTypePointer UniformConstant %95 |
| %utex2DArray = OpVariable %_ptr_UniformConstant_95 UniformConstant |
| %tex3D = OpVariable %_ptr_UniformConstant_25 UniformConstant |
| %main = OpFunction %void None %3 |
| %5 = OpLabel |
| %14 = OpLoad %11 %t2d |
| %18 = OpLoad %15 %s |
| %19 = OpSampledImage %11 %14 %18 |
| %23 = OpImageSampleImplicitLod %v4float %19 %22 |
| OpStore %color %23 |
| %34 = OpAccessChain %_ptr_UniformConstant_25 %t3d %int_1 |
| %35 = OpLoad %25 %34 |
| %40 = OpAccessChain %_ptr_UniformConstant_15 %sA %int_2 |
| %41 = OpLoad %15 %40 |
| %42 = OpSampledImage %25 %35 %41 |
| %45 = OpImageSampleImplicitLod %v4float %42 %44 |
| %46 = OpLoad %v4float %color |
| %47 = OpFAdd %v4float %46 %45 |
| OpStore %color %47 |
| %48 = OpLoad %11 %t2d |
| %49 = OpLoad %15 %s |
| %50 = OpSampledImage %11 %48 %49 |
| %51 = OpImageSampleImplicitLod %v4float %50 %22 |
| %52 = OpLoad %v4float %color |
| %53 = OpFAdd %v4float %52 %51 |
| OpStore %color %53 |
| OpReturn |
| OpFunctionEnd |