Advertisement

warning X4715

Started by November 01, 2017 07:08 PM
1 comment, last by galop1n 7 years, 3 months ago

Apparently I obtain some:
         FXC : warning X4715: emitting a system-interpreted value which may not be written in every execution path of the shader [C:\projects\mage\MAGE\MAGE.vcxproj]
         FXC : warning X4715: emitting a system-interpreted value which may not be written in every execution path of the shader [C:\projects\mage\MAGE\MAGE.vcxproj]
         FXC : warning X4715: emitting a system-interpreted value which may not be written in every execution path of the shader [C:\projects\mage\MAGE\MAGE.vcxproj]
         FXC : warning X4715: emitting a system-interpreted value which may not be written in every execution path of the shader [C:\projects\mage\MAGE\MAGE.vcxproj]
         FXC : warning X4715: emitting a system-interpreted value which may not be written in every execution path of the shader [C:\projects\mage\MAGE\MAGE.vcxproj]
         FXC : warning X4715: emitting a system-interpreted value which may not be written in every execution path of the shader [C:\projects\mage\MAGE\MAGE.vcxproj]

in debug mode. Unlike other warnings, I do not receive any file and/or line information from FXC. I tracked these warnings down in my Appveyor history, but it does not make sense (I just changed some markdown file and since then these warnings are always there in debug mode.)

 

I noticed that my debug mode uses "enable debugging information", what does that mean exactly for my shaders? Do I pay some performance and/or bytes for this (otherwise, I could use this for release as well)?

🧙

debug information for shaders are useful to debug ( pushing at open doors here ) :) It is also useful to reverse engineer other people work ( at least the reflection data most don't remove ) ! For your shipped data, you should use D3DStripShader to strip everything ( debug + reflection ).

In term of runtime performance, unless you change other compilation flags like favor branch and disable optimization, generation of debug info is not a problem. Even optimization of the DXBC not always a good idea, as it can obfuscate logic and lead to sub-optimal uCode in the driver compilation ( but it is mostly unpredictable so :( ), but it is another story.

You can also generate the debug information, extract the PDB part of the shader blob, write it in a dev only folder and just inject the file PDB name in the shader blob to let PIX/RenderDoc find it.

This topic is closed to new replies.

Advertisement