63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; 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
 | 
