SPIRV-Cross/shaders-no-opt/asm/frag/combined-image-sampler-dxc-min16float.asm.invalid.frag
Ryan Harrison cf1bf1c6ae Update external/ to SPIR-V 1.5
Rolled the hashes used for glslang, SPIRV-Tools, and SPIRV-Headers to
HEAD, which includes the update to 1.5.

Added passing '--amb' to glslang, so I didn't have to explicitly set
bindings in a large number of test shaders that currently don't, and
now glslang considers them invalid.

Marked all shaders that no longer pass spirv-val as .invalid.
2019-09-18 16:04:27 -04:00

96 lines
4.2 KiB
JavaScript

; 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