microsoft / DirectXShaderCompiler

This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang.
Other
3.05k stars 677 forks source link

PIX: Numbering pass fails with /Od when subroutines are used #2918

Open jeffnn opened 4 years ago

jeffnn commented 4 years ago

Repro: Run the pix file mentioned in PIX bug 26308011. Attempt to recompile the shader in question with /Od. (Ask jeffnn/jeffno for details on how to do this)

This assert hits:

!dbg attachment points at wrong subprogram for function !78 = !DISubprogram(name: "ClusterAirprobeVolumesCS", scope: !79, file: !79, line: 153, type: !80, isLocal: false, isDefinition: true, scopeLine: 154, flags: DIFlagPrototyped, isOptimized: false, function: void () @ClusterAirprobeVolumesCS) void () @ClusterAirprobeVolumesCS call void @llvm.dbg.declare(metadata [1 x float]* %126, metadata !964, metadata !604), !dbg !970 !970 = !DILocation(line: 96, column: 1, scope: !965) !965 = distinct !DILexicalBlock(scope: !966, file: !79, line: 90, column: 3) !109 = !DISubprogram(name: "CullAirprobeVolumes", linkageName: "\01?CullAirprobeVolumes@@YA?AV?$vector@I$03@@Y07V?$vector@M$02@@@Z", scope: !79, file: !79, line: 71, type: !110, isLocal: false, isDefinition: true, scopeLine: 72, flags: DIFlagPrototyped, isOptimized: false) Exception thrown at 0x00007FFE881C361C in WinPixEngineHost.exe: Microsoft C++ exception: std::exception at memory location 0x00000074B87FCFD8.

damyanp commented 2 months ago

@jeffnn - moved this to dormant (ie we're not planning to schedule anyone to work on it). If you happen to know that this is no longer relevant please feel free to close it.