# Microsoft D3D12 Raytracing Samples



## StefanM (Mar 31, 2018)

This collection of samples act as an introduction to DirectX Raytracing (DXR). The samples are divided into tutorials and advanced samples. Each tutorial sample introduces a few new concepts. Advanced samples demonstrate more complex techniques and applications of raytracing.

The samples implement both DXR and D3D12 Raytracing Fallback Layer APIs. This is purely for demonstration purposes to show API differences. Real-world applications will implement only one or the other. The Fallback Layer uses DXR if a driver and OS supports it. Otherwise, it falls back to the compute pipeline to emulate raytracing. Developers aiming for wider HW support should target the Fallback Layer.

*Requirements*

Visual Studio 2017 with the Windows 10 Fall Creators Update SDK
Windows 10 with the Fall Creators Update
A graphics card with retail DXIL capabilities.
DXIL.dll should be pulled from the latest Windows SDK to accompany the compiler or enable Developer mode.
Download DirectXRaytracingBinariesV1.0.zip from https://github.com/Microsoft/DirectX-Graphics-Samples/releases and copy all the contents to Samples/Desktop/D3D12Raytracing/tools/x64
That is all that is required for the Fallback Layer. To take advantage of DXR you will additionally need a raytracing compatible driver. Please contact the IHV you’re working with for drivers that will work with DXR. For Nvidia, you can review the following blog post for the DXR support requirements: https://devblogs.nvidia.com/introduction-nvidia-rtx-directx-raytracing/.

DXIL is located at c:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\dxil.dll

PostbuildCopy.bat failed, so i copied runtimes manually except from d3d12.dll which is Redstone 4.

For some reason shader compiler fails on my GTX 1060 mobile, maybe i need the imminent R396 GeForce driver 



Spoiler: debug output



'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'D:\DirectX-Graphics-Samples-master\Samples\Desktop\D3D12Raytracing\Build_VS15\x64\Release\Output\D3D12RaytracingMiniEngineSample\D3D12RaytracingMiniEngineSample.exe'. Module was built without symbols.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\apphelp.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\win32u.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\gdi32full.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\msvcp_win.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\combase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\rpcrt4.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\msvcp140.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\dxgi.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\bcryptprimitives.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\D3D12.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\vcruntime140.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\dinput8.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\XInput9_1_0.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\msvcp110_win.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\advapi32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\sechost.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\imm32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\kernel.appcore.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\InputHost.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\CoreMessaging.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\CoreUIComponents.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\SHCore.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\ntmarta.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\WinTypes.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\WinTypes.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Unloaded 'C:\Windows\System32\WinTypes.dll'
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\cryptbase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\ResourcePolicyClient.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Unloaded 'C:\Windows\System32\ResourcePolicyClient.dll'
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\DriverStore\FileRepository\nvami.inf_amd64_d7e2c0745f609b64\nvldumdx.dll'. Cannot find or open the PDB file.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\version.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\crypt32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\msasn1.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\wintrust.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\imagehlp.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\cryptsp.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\rsaenh.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\bcrypt.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\DriverStore\FileRepository\nvami.inf_amd64_d7e2c0745f609b64\nvwgf2umx.dll'. Cannot find or open the PDB file.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\winmm.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\winmmbase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\winmmbase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\winmmbase.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Unloaded 'C:\Windows\System32\winmmbase.dll'
'D3D12RaytracingMiniEngineSample.exe' (Win32): Unloaded 'C:\Windows\System32\winmmbase.dll'
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\cfgmgr32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\shell32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\windows.storage.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\shlwapi.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\powrprof.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\profapi.dll'. Symbols loaded.
The thread 0x3714 has exited with code 0 (0x0).
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\dxilconv.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\uxtheme.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\msctf.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\oleaut32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Program Files\ASUSTeKcomputer.Inc\SS2\UserInterface\x64\SS2OSD.dll'. Cannot find or open the PDB file.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Program Files\ASUSTeKcomputer.Inc\SS2\UserInterface\x64\SS2DevProps.dll'. Cannot find or open the PDB file.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\ole32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\ws2_32.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\dwmapi.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\clbcatq.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\MMDevAPI.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\devobj.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\propsys.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\AudioSes.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\avrt.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\dcomp.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\hid.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'C:\Windows\System32\setupapi.dll'. Symbols loaded.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'D:\DirectX-Graphics-Samples-master\Samples\Desktop\D3D12Raytracing\Build_VS15\x64\Release\Output\D3D12RaytracingMiniEngineSample\dxcompiler.dll'. Cannot find or open the PDB file.
'D3D12RaytracingMiniEngineSample.exe' (Win32): Loaded 'D:\DirectX-Graphics-Samples-master\Samples\Desktop\D3D12Raytracing\Build_VS15\x64\Release\Output\D3D12RaytracingMiniEngineSample\dxil.dll'. Symbols loaded.
<unknown>:0:0: payloadOffset should always be inlined (cost=always)
<unknown>:0:0: payloadOffset inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_0
<unknown>:0:0: fb_dxop_dispatchRaysIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_dispatchRaysIndex inlined into RayGen.ss_0
<unknown>:0:0: fb_dxop_dispatchRaysIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_dispatchRaysIndex inlined into RayGen.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into RayGen.ss_0
<unknown>:0:0: stackFramePush should always be inlined (cost=always)
<unknown>:0:0: stackFramePush inlined into RayGen.ss_0
<unknown>:0:0: pendingAttrOffset should always be inlined (cost=always)
<unknown>:0:0: pendingAttrOffset inlined into RayGen.ss_0
<unknown>:0:0: committedAttrOffset should always be inlined (cost=always)
<unknown>:0:0: committedAttrOffset inlined into RayGen.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into RayGen.ss_1
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into RayGen.ss_1
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into RayGen.ss_1
<unknown>:0:0: stackFramePop should always be inlined (cost=always)
<unknown>:0:0: stackFramePop inlined into RayGen.ss_1
<unknown>:0:0: payloadOffset should always be inlined (cost=always)
<unknown>:0:0: payloadOffset inlined into Hit.ss_0
<unknown>:0:0: fb_dxop_dispatchRaysIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_dispatchRaysIndex inlined into Hit.ss_0
<unknown>:0:0: fb_dxop_dispatchRaysIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_dispatchRaysIndex inlined into Hit.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Hit.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Hit.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Hit.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Hit.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Hit.ss_0
<unknown>:0:0: fb_dxop_rayTCurrent should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayTCurrent inlined into Hit.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into Hit.ss_0
<unknown>:0:0: pendingAttrOffset should always be inlined (cost=always)
<unknown>:0:0: pendingAttrOffset inlined into Hit.ss_0
<unknown>:0:0: committedAttrOffset should always be inlined (cost=always)
<unknown>:0:0: committedAttrOffset inlined into Hit.ss_0
<unknown>:0:0: payloadOffset should always be inlined (cost=always)
<unknown>:0:0: payloadOffset inlined into Miss.ss_0
<unknown>:0:0: fb_dxop_dispatchRaysIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_dispatchRaysIndex inlined into Miss.ss_0
<unknown>:0:0: fb_dxop_dispatchRaysIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_dispatchRaysIndex inlined into Miss.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Miss.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Miss.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Miss.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into Miss.ss_0
<unknown>:0:0: pendingAttrOffset should always be inlined (cost=always)
<unknown>:0:0: pendingAttrOffset inlined into Miss.ss_0
<unknown>:0:0: committedAttrOffset should always be inlined (cost=always)
<unknown>:0:0: committedAttrOffset inlined into Miss.ss_0
<unknown>:0:0: traceFramePush should always be inlined (cost=always)
<unknown>:0:0: traceFramePush inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_CommitHit should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_CommitHit inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetObjectToWorld should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetObjectToWorld inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetWorldToObject should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetWorldToObject inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetObjectRayDirection should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetObjectRayDirection inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetObjectRayOrigin should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetObjectRayOrigin inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetPendingTriVals should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetPendingTriVals inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: pendingAttrOffset should always be inlined (cost=always)
<unknown>:0:0: pendingAttrOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_rayTMin should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayTMin inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_rayTCurrent should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayTCurrent inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_rayFlags should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayFlags inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_rayTCurrent should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayTCurrent inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetInstanceIndex should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetInstanceIndex inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_GeometryIndex should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_GeometryIndex inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: traceFramePop should always be inlined (cost=always)
<unknown>:0:0: traceFramePop inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackFramePop should always be inlined (cost=always)
<unknown>:0:0: stackFramePop inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetPayloadOffset should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetPayloadOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_rayFlags should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayFlags inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_instanceIndex should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_instanceIndex inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetInstanceIndex should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetInstanceIndex inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_rayTCurrent should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_rayTCurrent inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_worldRayOrigin should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_worldRayOrigin inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_worldRayOrigin should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_worldRayOrigin inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_worldRayOrigin should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_worldRayOrigin inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_worldRayDirection should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_worldRayDirection inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_worldRayDirection should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_worldRayDirection inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_dxop_worldRayDirection should always be inlined (cost=always)
<unknown>:0:0: fb_dxop_worldRayDirection inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_GroupIndex should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_GroupIndex inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_TraceRayBegin should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_TraceRayBegin inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetRayFlags should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetRayFlags inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: fb_Fallback_SetPayloadOffset should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetPayloadOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackFramePush should always be inlined (cost=always)
<unknown>:0:0: stackFramePush inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: pendingAttrOffset should always be inlined (cost=always)
<unknown>:0:0: pendingAttrOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: committedAttrOffset should always be inlined (cost=always)
<unknown>:0:0: committedAttrOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: payloadOffset should always be inlined (cost=always)
<unknown>:0:0: payloadOffset inlined into Fallback_TraceRay.ss_0
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: traceFramePop should always be inlined (cost=always)
<unknown>:0:0: traceFramePop inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: stackFramePop should always be inlined (cost=always)
<unknown>:0:0: stackFramePop inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: fb_Fallback_SetPayloadOffset should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetPayloadOffset inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into Fallback_TraceRay.ss_1
<unknown>:0:0: RayGen.ss_0 should always be inlined (cost=always)
<unknown>:0:0: RayGen.ss_0 inlined into dispatch
<unknown>:0:0: RayGen.ss_1 should always be inlined (cost=always)
<unknown>:0:0: RayGen.ss_1 inlined into dispatch
<unknown>:0:0: Hit.ss_0 should always be inlined (cost=always)
<unknown>:0:0: Hit.ss_0 inlined into dispatch
<unknown>:0:0: Miss.ss_0 should always be inlined (cost=always)
<unknown>:0:0: Miss.ss_0 inlined into dispatch
<unknown>:0:0: Fallback_TraceRay.ss_0 should always be inlined (cost=always)
<unknown>:0:0: Fallback_TraceRay.ss_0 inlined into dispatch
<unknown>:0:0: Fallback_TraceRay.ss_1 should always be inlined (cost=always)
<unknown>:0:0: Fallback_TraceRay.ss_1 inlined into dispatch
<unknown>:0:0: fb_Fallback_SetLaunchParams should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_SetLaunchParams inlined into fb_Fallback_Scheduler
<unknown>:0:0: dispatch should always be inlined (cost=always)
<unknown>:0:0: dispatch inlined into fb_Fallback_Scheduler
<unknown>:0:0: stackInit should always be inlined (cost=always)
<unknown>:0:0: stackInit inlined into fb_Fallback_Scheduler
<unknown>:0:0: stackFrameOffset should always be inlined (cost=always)
<unknown>:0:0: stackFrameOffset inlined into fb_Fallback_Scheduler
<unknown>:0:0: stackIntPtr should always be inlined (cost=always)
<unknown>:0:0: stackIntPtr inlined into fb_Fallback_Scheduler
<unknown>:0:0: fb_Fallback_Scheduler should always be inlined (cost=always)
<unknown>:0:0: fb_Fallback_Scheduler inlined into main
error: validation errors
TODO - Metadata must be well-formed in operand count and types
All metadata must be used by dxil!56 = !{!57}
All metadata must be used by dxil!56 = !{!57}
All metadata must be used by dxil!56 = !{!57}
All metadata must be used by dxil!61 = !{!62}
All metadata must be used by dxil!64 = !{!65}
All metadata must be used by dxil!67 = !{!68}
All metadata must be used by dxil!70 = !{!71}
All metadata must be used by dxil!70 = !{!71}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!73 = !{!74, !76, !77, !79, !80}
All metadata must be used by dxil!81 = !{!82}
All metadata must be used by dxil!84 = !{!85}
All metadata must be used by dxil!84 = !{!85}
All metadata must be used by dxil!84 = !{!85}

Validation failed.


D3D12 Raytracing Fallback Error: Failed to compile the shader
Exception thrown at 0x00007FFEA4F74008 in D3D12RaytracingMiniEngineSample.exe: Microsoft C++ exception: _com_error at memory location 0x000000BEE4B4CBD0.
Unhandled exception at 0x00007FFEA4F74008 in D3D12RaytracingMiniEngineSample.exe: Microsoft C++ exception: _com_error at memory location 0x000000BEE4B4CBD0.


----------



## FordGT90Concept (Mar 31, 2018)

It failed to compile because of validation errors.  Might be because it failed to download everything from GitHub.


----------



## StefanM (Mar 31, 2018)

Thanks for the heads-up.

Indeed the Sponza textures are in a completely different folder. I try to sort that out.
Actually i had that issue before with VS2017.

At least "Hello World" is running...


----------

