http://bugs.winehq.org/show_bug.cgi?id=33476
--- Comment #3 from Stefan Dösinger stefan@codeweavers.com 2013-05-02 08:27:26 CDT --- I can reproduce the problem.
It seems that fxc wants to create a device to disassemble the compiled shader. No idea why it needs a device for that, but it wants the assembler code to put it into the output file as a comment.
This produces some usable output file:
WINEDEBUG=-all wine fxc.exe /T fx_2_0 BasicHLSL.fx /Fh foo.h Microsoft (R) Direct3D Shader Compiler 9.29.952.3111 Copyright (C) Microsoft Corporation 2002-2009. All rights reserved.
Failed to create D3D device Please check your SDK installation. File will not contain disassembled shader as a comment compilation succeeded; see C:\dxsdk\dx9\Utilities\bin\x86\foo.h
The produced file contains the binary code, but no assembler code. I'm trying to find out why device creation fails.