Jump to content

  • Log In with Google      Sign In   
  • Create Account

#Actualunbird

Posted 25 April 2013 - 03:19 PM

The command line compiler dumps its version when calling fxc /?. Compiling through the runtime is done through D3DCompile (or rather the SharpDX/SlimDX managed version thereof). The June 2010 SDK then uses the d3dcompiler_43.dll (the File Version actually is the compiler version), the Windows 8 SDK the d3dcompiler_44.dll.Hmmm, I'm currently digging the docs if one can grab that version through shader reflection.
 
Anyway: If you write your compiled binaries to a file (shader.fxo, see below) then fxc can grab the assembly from them with
 
fxc.exe /Fx shader.asm /dumpbin shader.fxo
 
The version is at the second line in shader.asm.

Edit: Ok, there is a Version field in ShaderDescription, but even the docs are enigmatic here. The field Creator, a string, is more informative:

Microsoft ® HLSL Shader Compiler 9.30.960.8229

Edit2: Yeah, forget about that Version field, it does not change when switching compilers. My bet it's rather shader type (VS, HS, etc).

#3unbird

Posted 25 April 2013 - 03:12 PM

The command line compiler dumps its version when calling fxc /?. Compiling through the runtime is done through D3DCompile (or rather the SharpDX/SlimDX managed version thereof). The June 2010 SDK then uses the d3dcompiler_43.dll (the File Version actually is the compiler version), the Windows 8 SDK the d3dcompiler_44.dll.Hmmm, I'm currently digging the docs if one can grab that version through shader reflection.
 
Anyway: If you write your compiled binaries to a file (shader.fxo, see below) then fxc can grab the assembly from them with
 
fxc.exe /Fx shader.asm /dumpbin shader.fxo
 
The version is at the second line in shader.asm.

Edit: Ok, there is a Version field in ShaderDescription, but even the docs are enigmatic here. The field Creator, a string, is more informative:

Microsoft ® HLSL Shader Compiler 9.30.960.8229

#2unbird

Posted 25 April 2013 - 03:11 PM

The command line compiler dumps its version when calling fxc /?. Compiling through the runtime is done through D3DCompile (or rather the SharpDX/SlimDX managed version thereof). The June 2010 SDK then uses the d3dcompiler_43.dll (the File Version actually is the compiler version), the Windows 8 SDK the d3dcompiler_44.dll.Hmmm, I'm currently digging the docs if one can grab that version through shader reflection.
 
Anyway: If you write your compiled binaries to a file (shader.fxo, see below) then fxc can grab the assembly from them with
 
fxc.exe /Fx shader.asm /dumpbin shader.fxo
 
The version is at the second line in shader.asm.

Edit: Ok, there is a Version field in ShaderDescription, but even the docs are enigmatic here. The field Creator, a string, is more informative here:

Microsoft ® HLSL Shader Compiler 9.30.960.8229

#1unbird

Posted 25 April 2013 - 03:01 PM

The command line compiler dumps its version when calling fxc /?. Compiling through the runtime is done through D3DCompile (or rather the SharpDX/SlimDX managed version thereof). The June 2010 SDK then uses the d3dcompiler_43.dll (the File Version actually is the compiler version), the Windows 8 SDK the d3dcompiler_44.dll.Hmmm, I'm currently digging the docs if one can grab that version through shader reflection.

 

Anyway: If you write your compiled binaries to a file (shader.fxo, see below) then fxc can grab the assembly from them with

 

fxc.exe /Fx shader.asm /dumpbin shader.fxo

 

The version is at the second line in shader.asm.


PARTNERS