Merge pull request #2840 from alelenv/no_location2
Do not output location decoration for certain variables in ray tracing storage classes.
This commit is contained in:
		
						commit
						ca13951205
					
				| @ -8716,8 +8716,18 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol | |||||||
|             builder.addDecoration(id, spv::DecorationOffset, symbol->getQualifier().layoutOffset); |             builder.addDecoration(id, spv::DecorationOffset, symbol->getQualifier().layoutOffset); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (symbol->getQualifier().hasLocation()) |     if (symbol->getQualifier().hasLocation()) { | ||||||
|  |         if (!(glslangIntermediate->isRayTracingStage() && glslangIntermediate->IsRequestedExtension(glslang::E_GL_EXT_ray_tracing) | ||||||
|  |               && (builder.getStorageClass(id) == spv::StorageClassRayPayloadKHR || | ||||||
|  |                   builder.getStorageClass(id) == spv::StorageClassIncomingRayPayloadKHR || | ||||||
|  |                   builder.getStorageClass(id) == spv::StorageClassCallableDataKHR || | ||||||
|  |                   builder.getStorageClass(id) == spv::StorageClassIncomingCallableDataKHR))) { | ||||||
|  |             // Location values are used to link TraceRayKHR and ExecuteCallableKHR to corresponding variables
 | ||||||
|  |             // but are not valid in SPIRV since they are supported only for Input/Output Storage classes.
 | ||||||
|             builder.addDecoration(id, spv::DecorationLocation, symbol->getQualifier().layoutLocation); |             builder.addDecoration(id, spv::DecorationLocation, symbol->getQualifier().layoutLocation); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     builder.addDecoration(id, TranslateInvariantDecoration(symbol->getType().getQualifier())); |     builder.addDecoration(id, TranslateInvariantDecoration(symbol->getType().getQualifier())); | ||||||
|     if (symbol->getQualifier().hasStream() && glslangIntermediate->isMultiStream()) { |     if (symbol->getQualifier().hasStream() && glslangIntermediate->isMultiStream()) { | ||||||
|         builder.addCapability(spv::CapabilityGeometryStreams); |         builder.addCapability(spv::CapabilityGeometryStreams); | ||||||
|  | |||||||
| @ -21,7 +21,6 @@ spv.ClosestHitShaderMotion.rchit | |||||||
|                               Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV |                               Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV | ||||||
|                               Decorate 16(accEXT) DescriptorSet 0 |                               Decorate 16(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 16(accEXT) Binding 0 |                               Decorate 16(accEXT) Binding 0 | ||||||
|                               Decorate 32(incomingPayloadEXT) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
|  | |||||||
| @ -21,7 +21,6 @@ spv.MissShaderMotion.rmiss | |||||||
|                               Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV |                               Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV | ||||||
|                               Decorate 16(accEXT) DescriptorSet 0 |                               Decorate 16(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 16(accEXT) Binding 0 |                               Decorate 16(accEXT) Binding 0 | ||||||
|                               Decorate 32(localPayloadEXT) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
|  | |||||||
| @ -26,7 +26,6 @@ spv.RayGenShaderMotion.rgen | |||||||
|                               Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR |                               Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR | ||||||
|                               Decorate 29(accEXT) DescriptorSet 0 |                               Decorate 29(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 29(accEXT) Binding 0 |                               Decorate 29(accEXT) Binding 0 | ||||||
|                               Decorate 46(payloadEXT) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -69,7 +69,6 @@ spv.ext.AnyHitShader.rahit | |||||||
|                               Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR |                               Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR | ||||||
|                               Decorate 76(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR |                               Decorate 76(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR | ||||||
|                               Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR |                               Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR | ||||||
|                               Decorate 84(incomingPayload) Location 1 |  | ||||||
|                               Decorate 98(gl_SubgroupSize) RelaxedPrecision |                               Decorate 98(gl_SubgroupSize) RelaxedPrecision | ||||||
|                               Decorate 98(gl_SubgroupSize) BuiltIn SubgroupSize |                               Decorate 98(gl_SubgroupSize) BuiltIn SubgroupSize | ||||||
|                               Decorate 99 RelaxedPrecision |                               Decorate 99 RelaxedPrecision | ||||||
|  | |||||||
| @ -70,8 +70,6 @@ spv.ext.ClosestHitShader.rchit | |||||||
|                               Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR |                               Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR | ||||||
|                               Decorate 85(accEXT) DescriptorSet 0 |                               Decorate 85(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 85(accEXT) Binding 0 |                               Decorate 85(accEXT) Binding 0 | ||||||
|                               Decorate 98(incomingPayload) Location 1 |  | ||||||
|                               Decorate 100(localPayload) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -34,7 +34,6 @@ spv.ext.ClosestHitShader_Subgroup.rchit | |||||||
|                               Name 61  "gl_SMIDNV" |                               Name 61  "gl_SMIDNV" | ||||||
|                               Decorate 8(accEXT) DescriptorSet 0 |                               Decorate 8(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 8(accEXT) Binding 0 |                               Decorate 8(accEXT) Binding 0 | ||||||
|                               Decorate 26(incomingPayload) Location 1 |  | ||||||
|                               Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision |                               Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision | ||||||
|                               Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId |                               Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId | ||||||
|                               Decorate 29 RelaxedPrecision |                               Decorate 29 RelaxedPrecision | ||||||
|  | |||||||
| @ -53,7 +53,6 @@ spv.ext.MissShader.rmiss | |||||||
|                               Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR |                               Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR | ||||||
|                               Decorate 36(accEXT) DescriptorSet 0 |                               Decorate 36(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 36(accEXT) Binding 0 |                               Decorate 36(accEXT) Binding 0 | ||||||
|                               Decorate 51(incomingPayload) Location 1 |  | ||||||
|                               Decorate 53(gl_SubGroupSizeARB) BuiltIn SubgroupSize |                               Decorate 53(gl_SubGroupSizeARB) BuiltIn SubgroupSize | ||||||
|                               Decorate 53(gl_SubGroupSizeARB) Volatile |                               Decorate 53(gl_SubGroupSizeARB) Volatile | ||||||
|                               Decorate 53(gl_SubGroupSizeARB) Coherent |                               Decorate 53(gl_SubGroupSizeARB) Coherent | ||||||
| @ -67,7 +66,6 @@ spv.ext.MissShader.rmiss | |||||||
|                               Decorate 74(s2D) Binding 1 |                               Decorate 74(s2D) Binding 1 | ||||||
|                               Decorate 78(c2) Location 2 |                               Decorate 78(c2) Location 2 | ||||||
|                               Decorate 85(lodClamp) Location 3 |                               Decorate 85(lodClamp) Location 3 | ||||||
|                               Decorate 89(localPayload) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -22,8 +22,6 @@ spv.ext.RayCallable.rcall | |||||||
|                               Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR |                               Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR | ||||||
|                               Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR |                               Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR | ||||||
|                               Decorate 16(dataBlock) Block |                               Decorate 16(dataBlock) Block | ||||||
|                               Decorate 18 Location 1 |  | ||||||
|                               Decorate 29(data0) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ spv.ext.RayConstants.rgen | |||||||
|                               Name 26  "payload" |                               Name 26  "payload" | ||||||
|                               Decorate 8(accEXT) DescriptorSet 0 |                               Decorate 8(accEXT) DescriptorSet 0 | ||||||
|                               Decorate 8(accEXT) Binding 0 |                               Decorate 8(accEXT) Binding 0 | ||||||
|                               Decorate 26(payload) Location 1 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeAccelerationStructureKHR |                6:             TypeAccelerationStructureKHR | ||||||
|  | |||||||
| @ -49,7 +49,6 @@ spv.ext.RayGenSBTlayout.rgen | |||||||
|                               MemberDecorate 36(block) 9 Offset 120 |                               MemberDecorate 36(block) 9 Offset 120 | ||||||
|                               MemberDecorate 36(block) 10 Offset 128 |                               MemberDecorate 36(block) 10 Offset 128 | ||||||
|                               Decorate 36(block) Block |                               Decorate 36(block) Block | ||||||
|                               Decorate 60(payload) Location 1 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -49,7 +49,6 @@ spv.ext.RayGenSBTlayout140.rgen | |||||||
|                               MemberDecorate 36(block) 9 Offset 136 |                               MemberDecorate 36(block) 9 Offset 136 | ||||||
|                               MemberDecorate 36(block) 10 Offset 144 |                               MemberDecorate 36(block) 10 Offset 144 | ||||||
|                               Decorate 36(block) Block |                               Decorate 36(block) Block | ||||||
|                               Decorate 60(payload) Location 1 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -49,7 +49,6 @@ spv.ext.RayGenSBTlayout430.rgen | |||||||
|                               MemberDecorate 36(block) 9 Offset 120 |                               MemberDecorate 36(block) 9 Offset 120 | ||||||
|                               MemberDecorate 36(block) 10 Offset 128 |                               MemberDecorate 36(block) 10 Offset 128 | ||||||
|                               Decorate 36(block) Block |                               Decorate 36(block) Block | ||||||
|                               Decorate 60(payload) Location 1 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -50,7 +50,6 @@ spv.ext.RayGenSBTlayoutscalar.rgen | |||||||
|                               MemberDecorate 36(block) 9 Offset 96 |                               MemberDecorate 36(block) 9 Offset 96 | ||||||
|                               MemberDecorate 36(block) 10 Offset 104 |                               MemberDecorate 36(block) 10 Offset 104 | ||||||
|                               Decorate 36(block) Block |                               Decorate 36(block) Block | ||||||
|                               Decorate 60(payload) Location 1 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -34,7 +34,6 @@ spv.ext.RayGenShader.rgen | |||||||
|                               MemberDecorate 38(block) 0 Offset 0 |                               MemberDecorate 38(block) 0 Offset 0 | ||||||
|                               MemberDecorate 38(block) 1 Offset 16 |                               MemberDecorate 38(block) 1 Offset 16 | ||||||
|                               Decorate 38(block) Block |                               Decorate 38(block) Block | ||||||
|                               Decorate 53(payload) Location 1 |  | ||||||
|                               Decorate 54(accEXT1) DescriptorSet 0 |                               Decorate 54(accEXT1) DescriptorSet 0 | ||||||
|                               Decorate 54(accEXT1) Binding 1 |                               Decorate 54(accEXT1) Binding 1 | ||||||
|                               Decorate 57(imageu) DescriptorSet 0 |                               Decorate 57(imageu) DescriptorSet 0 | ||||||
|  | |||||||
| @ -30,7 +30,6 @@ spv.ext.RayGenShader11.rgen | |||||||
|                               MemberDecorate 37(block) 0 Offset 0 |                               MemberDecorate 37(block) 0 Offset 0 | ||||||
|                               MemberDecorate 37(block) 1 Offset 16 |                               MemberDecorate 37(block) 1 Offset 16 | ||||||
|                               Decorate 37(block) Block |                               Decorate 37(block) Block | ||||||
|                               Decorate 52(payload) Location 1 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeInt 32 0 |                6:             TypeInt 32 0 | ||||||
|  | |||||||
| @ -43,7 +43,6 @@ spv.ext.RayGenShaderArray.rgen | |||||||
|                               MemberDecorate 36(block) 3 Offset 32 |                               MemberDecorate 36(block) 3 Offset 32 | ||||||
|                               MemberDecorate 36(block) 4 Offset 40 |                               MemberDecorate 36(block) 4 Offset 40 | ||||||
|                               Decorate 36(block) Block |                               Decorate 36(block) Block | ||||||
|                               Decorate 61(payload) Location 1 |  | ||||||
|                               Decorate 65(accEXT1) DescriptorSet 0 |                               Decorate 65(accEXT1) DescriptorSet 0 | ||||||
|                               Decorate 65(accEXT1) Binding 1 |                               Decorate 65(accEXT1) Binding 1 | ||||||
|                               Decorate 80 DecorationNonUniformEXT |                               Decorate 80 DecorationNonUniformEXT | ||||||
|  | |||||||
| @ -28,7 +28,6 @@ spv.ext.World3x4.rahit | |||||||
|                               Decorate 60(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR |                               Decorate 60(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR | ||||||
|                               Decorate 78(result) DescriptorSet 0 |                               Decorate 78(result) DescriptorSet 0 | ||||||
|                               Decorate 78(result) Binding 0 |                               Decorate 78(result) Binding 0 | ||||||
|                               Decorate 89(hitValue) Location 0 |  | ||||||
|                2:             TypeVoid |                2:             TypeVoid | ||||||
|                3:             TypeFunction 2 |                3:             TypeFunction 2 | ||||||
|                6:             TypeFloat 32 |                6:             TypeFloat 32 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Greg Fischer
						Greg Fischer