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
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
|