You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.6 KiB

; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 8
; Bound: 33
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %main "main" %gl_Position %ps %gl_VertexIndex %gl_PointSize %gl_InstanceIndex
OpSource ESSL 310
OpName %main "main"
OpName %gl_Position "gl_Position"
OpName %ps "ps"
OpName %gl_VertexIndex "gl_VertexIndex"
OpName %gl_PointSize "gl_PointSize"
OpName %gl_InstanceIndex "gl_InstanceIndex"
OpDecorate %gl_Position Invariant
OpDecorate %gl_Position BuiltIn Position
OpDecorate %ps RelaxedPrecision
OpDecorate %ps Location 0
OpDecorate %12 RelaxedPrecision
OpDecorate %gl_VertexIndex BuiltIn VertexIndex
OpDecorate %gl_PointSize BuiltIn PointSize
OpDecorate %25 RelaxedPrecision
OpDecorate %gl_InstanceIndex BuiltIn InstanceIndex
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%gl_Position = OpVariable %_ptr_Output_v4float Output
%_ptr_Input_float = OpTypePointer Input %float
%ps = OpVariable %_ptr_Input_float Input
%int = OpTypeInt 32 1
%int_4 = OpConstant %int 4
%_ptr_Input_int = OpTypePointer Input %int
%gl_VertexIndex = OpVariable %_ptr_Input_int Input
%_ptr_Output_float = OpTypePointer Output %float
%gl_PointSize = OpVariable %_ptr_Output_float Output
%int_5 = OpConstant %int 5
%gl_InstanceIndex = OpVariable %_ptr_Input_int Input
%main = OpFunction %void None %3
%5 = OpLabel
%12 = OpLoad %float %ps
%13 = OpCompositeConstruct %v4float %12 %12 %12 %12
OpStore %gl_Position %13
%18 = OpLoad %int %gl_VertexIndex
%19 = OpISub %int %int_4 %18
%20 = OpConvertSToF %float %19
%21 = OpLoad %v4float %gl_Position
%22 = OpVectorTimesScalar %v4float %21 %20
OpStore %gl_Position %22
%25 = OpLoad %float %ps
OpStore %gl_PointSize %25
%28 = OpLoad %int %gl_InstanceIndex
%29 = OpISub %int %int_5 %28
%30 = OpConvertSToF %float %29
%31 = OpLoad %float %gl_PointSize
%32 = OpFMul %float %31 %30
OpStore %gl_PointSize %32
OpReturn
OpFunctionEnd