#if 0 ; shader debug name: x64\Debug\DX12DefaultAnyHitShader.pdb ; shader hash: d790765ffc87abe7d5e8065ef0b29dfc ; ; Buffer Definitions: ; ; Resource bind info for textureIdBuffer ; { ; ; int $Element; ; Offset: 0 Size: 4 ; ; } ; ; Resource bind info for indexBuffer ; { ; ; int $Element; ; Offset: 0 Size: 4 ; ; } ; ; Resource bind info for vertexData ; { ; ; struct struct.VertexData ; { ; ; float2 texcoord; ; Offset: 0 ; float3 normal; ; Offset: 8 ; ; } $Element; ; Offset: 0 Size: 20 ; ; } ; ; Resource bind info for polygonSizeBuffer ; { ; ; int $Element; ; Offset: 0 Size: 4 ; ; } ; ; ; Resource Bindings: ; ; Name Type Format Dim ID HLSL Bind Count ; ------------------------------ ---------- ------- ----------- ------- -------------- ------ ; gSampler sampler NA NA S0 s0 1 ; textures texture f32 2d T0 t0,space1unbounded ; textureIdBuffer texture struct r/o T1 t1,space2 1 ; indexBuffer texture struct r/o T2 t1,space3 1 ; vertexData texture struct r/o T3 t1,space4 1 ; polygonSizeBuffer texture struct r/o T4 t1,space5 1 ; target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64" target triple = "dxil-ms-dx" %dx.types.Handle = type { i8* } %struct.HitInfo = type { [5 x <4 x float>], [5 x float], i32 } %struct.Attributes = type { <2 x float> } %dx.types.ResourceProperties = type { i32, i32 } %dx.types.ResRet.i32 = type { i32, i32, i32, i32, i32 } %dx.types.ResRet.f32 = type { float, float, float, float, i32 } %"class.Texture2D >" = type { <4 x float>, %"class.Texture2D >::mips_type" } %"class.Texture2D >::mips_type" = type { i32 } %"class.StructuredBuffer" = type { i32 } %"class.StructuredBuffer" = type { %struct.VertexData } %struct.VertexData = type { <2 x float>, <3 x float> } %struct.SamplerState = type { i32 } @"\01?textures@@3PAV?$Texture2D@V?$vector@M$03@@@@A" = external constant [0 x %dx.types.Handle], align 4 @"\01?gSampler@@3USamplerState@@A" = external constant %dx.types.Handle, align 4 @"\01?textureIdBuffer@@3V?$StructuredBuffer@H@@A" = external constant %dx.types.Handle, align 4 @"\01?indexBuffer@@3V?$StructuredBuffer@H@@A" = external constant %dx.types.Handle, align 4 @"\01?vertexData@@3V?$StructuredBuffer@UVertexData@@@@A" = external constant %dx.types.Handle, align 4 @"\01?polygonSizeBuffer@@3V?$StructuredBuffer@H@@A" = external constant %dx.types.Handle, align 4 @dx.nothing.a = internal constant [1 x i32] zeroinitializer ; Function Attrs: nounwind define void @"\01?AnyHit@@YAXUHitInfo@@UAttributes@@@Z"(%struct.HitInfo* noalias %payload, %struct.Attributes* %attrib) #0 { %1 = load %dx.types.Handle, %dx.types.Handle* @"\01?gSampler@@3USamplerState@@A" %2 = load %dx.types.Handle, %dx.types.Handle* @"\01?polygonSizeBuffer@@3V?$StructuredBuffer@H@@A" %3 = load %dx.types.Handle, %dx.types.Handle* @"\01?vertexData@@3V?$StructuredBuffer@UVertexData@@@@A" %4 = load %dx.types.Handle, %dx.types.Handle* @"\01?indexBuffer@@3V?$StructuredBuffer@H@@A" %5 = load %dx.types.Handle, %dx.types.Handle* @"\01?textureIdBuffer@@3V?$StructuredBuffer@H@@A" %6 = load i32, i32* getelementptr inbounds ([1 x i32], [1 x i32]* @dx.nothing.a, i32 0, i32 0) %7 = call i32 @dx.op.primitiveIndex.i32(i32 161) ; PrimitiveIndex() %8 = load i32, i32* getelementptr inbounds ([1 x i32], [1 x i32]* @dx.nothing.a, i32 0, i32 0) %9 = load i32, i32* getelementptr inbounds ([1 x i32], [1 x i32]* @dx.nothing.a, i32 0, i32 0) %10 = load i32, i32* getelementptr inbounds ([1 x i32], [1 x i32]* @dx.nothing.a, i32 0, i32 0) %11 = icmp sge i32 %7, 0 br i1 %11, label %12, label %34 ;