96 lines
4.2 KiB
GLSL
96 lines
4.2 KiB
GLSL
|
; SPIR-V
|
||
|
; Version: 1.0
|
||
|
; Generator: Google spiregg; 0
|
||
|
; Bound: 48
|
||
|
; Schema: 0
|
||
|
OpCapability Shader
|
||
|
OpMemoryModel Logical GLSL450
|
||
|
OpEntryPoint Fragment %PSMain "main" %in_var_COLOR %in_var_TEXCOORD0 %out_var_SV_TARGET
|
||
|
OpExecutionMode %PSMain OriginUpperLeft
|
||
|
; Not actually ESSL, but makes testing easier.
|
||
|
OpSource ESSL 310
|
||
|
OpName %type_2d_image "type.2d.image"
|
||
|
OpName %tex "tex"
|
||
|
OpName %type_sampler "type.sampler"
|
||
|
OpName %Samp "Samp"
|
||
|
OpName %in_var_COLOR "in.var.COLOR"
|
||
|
OpName %in_var_TEXCOORD0 "in.var.TEXCOORD0"
|
||
|
OpName %out_var_SV_TARGET "out.var.SV_TARGET"
|
||
|
OpName %PSMain "PSMain"
|
||
|
OpName %PSInput "PSInput"
|
||
|
OpMemberName %PSInput 0 "color"
|
||
|
OpMemberName %PSInput 1 "uv"
|
||
|
OpName %param_var_input "param.var.input"
|
||
|
OpName %src_PSMain "src.PSMain"
|
||
|
OpName %input "input"
|
||
|
OpName %bb_entry "bb.entry"
|
||
|
OpName %a "a"
|
||
|
OpName %type_sampled_image "type.sampled.image"
|
||
|
OpDecorate %in_var_COLOR Location 0
|
||
|
OpDecorate %in_var_TEXCOORD0 Location 1
|
||
|
OpDecorate %out_var_SV_TARGET Location 0
|
||
|
OpDecorate %tex DescriptorSet 0
|
||
|
OpDecorate %tex Binding 0
|
||
|
OpDecorate %Samp DescriptorSet 0
|
||
|
OpDecorate %Samp Binding 1
|
||
|
OpDecorate %tex RelaxedPrecision
|
||
|
OpDecorate %a RelaxedPrecision
|
||
|
OpDecorate %38 RelaxedPrecision
|
||
|
OpDecorate %45 RelaxedPrecision
|
||
|
OpDecorate %47 RelaxedPrecision
|
||
|
%int = OpTypeInt 32 1
|
||
|
%int_0 = OpConstant %int 0
|
||
|
%int_1 = OpConstant %int 1
|
||
|
%float = OpTypeFloat 32
|
||
|
%type_2d_image = OpTypeImage %float 2D 2 0 0 1 Unknown
|
||
|
%_ptr_UniformConstant_type_2d_image = OpTypePointer UniformConstant %type_2d_image
|
||
|
%type_sampler = OpTypeSampler
|
||
|
%_ptr_UniformConstant_type_sampler = OpTypePointer UniformConstant %type_sampler
|
||
|
%v4float = OpTypeVector %float 4
|
||
|
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||
|
%v2float = OpTypeVector %float 2
|
||
|
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||
|
%void = OpTypeVoid
|
||
|
%21 = OpTypeFunction %void
|
||
|
%PSInput = OpTypeStruct %v4float %v2float
|
||
|
%_ptr_Function_PSInput = OpTypePointer Function %PSInput
|
||
|
%31 = OpTypeFunction %v4float %_ptr_Function_PSInput
|
||
|
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||
|
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||
|
%type_sampled_image = OpTypeSampledImage %type_2d_image
|
||
|
%tex = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant
|
||
|
%Samp = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant
|
||
|
%in_var_COLOR = OpVariable %_ptr_Input_v4float Input
|
||
|
%in_var_TEXCOORD0 = OpVariable %_ptr_Input_v2float Input
|
||
|
%out_var_SV_TARGET = OpVariable %_ptr_Output_v4float Output
|
||
|
%PSMain = OpFunction %void None %21
|
||
|
%22 = OpLabel
|
||
|
%param_var_input = OpVariable %_ptr_Function_PSInput Function
|
||
|
%26 = OpLoad %v4float %in_var_COLOR
|
||
|
%27 = OpLoad %v2float %in_var_TEXCOORD0
|
||
|
%28 = OpCompositeConstruct %PSInput %26 %27
|
||
|
OpStore %param_var_input %28
|
||
|
%29 = OpFunctionCall %v4float %src_PSMain %param_var_input
|
||
|
OpStore %out_var_SV_TARGET %29
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%src_PSMain = OpFunction %v4float None %31
|
||
|
%input = OpFunctionParameter %_ptr_Function_PSInput
|
||
|
%bb_entry = OpLabel
|
||
|
%a = OpVariable %_ptr_Function_v4float Function
|
||
|
%36 = OpAccessChain %_ptr_Function_v4float %input %int_0
|
||
|
%37 = OpLoad %v4float %36
|
||
|
%38 = OpLoad %type_2d_image %tex
|
||
|
%39 = OpLoad %type_sampler %Samp
|
||
|
%41 = OpAccessChain %_ptr_Function_v2float %input %int_1
|
||
|
%42 = OpLoad %v2float %41
|
||
|
%44 = OpSampledImage %type_sampled_image %38 %39
|
||
|
%45 = OpImageSampleImplicitLod %v4float %44 %42 None
|
||
|
%46 = OpFMul %v4float %37 %45
|
||
|
OpStore %a %46
|
||
|
%47 = OpLoad %v4float %a
|
||
|
OpReturnValue %47
|
||
|
OpFunctionEnd
|
||
|
|