Sign in to follow this  
Mick is Stumped


Recommended Posts

I'm trying to support hardware as far back as possible, so trying to get Shader Model 1.0 stuff to compile natively via D3DX.

For the 1_x stuff the docs say add the "D3DXSHADER_USE_LEGACY_D3DX9_31_DLL" flag.

Pretty much all of the currently available Microsoft docs only only mention the ID3DXEffectCompiler interface with respect to this. But many online discussions turned up by websearching seem to suggest it also works for D3DXCompileShader.

Anyway, I'm not sure using ID3DXEffectCompiler for a straightforward shader compile is worth the trouble to find out. What I've done is just put the dll which is supposed to house the legacy compiler (d3dx9_31.dll) in the execution path and flipped on said flag.

What I'm getting is the error which I think indicates a bad call, ie. something's wrong with the arguments. But anyway it's a generic error (0x8876086c)

Will probably give this up for the time being without some sort of lead.


Share this post

Link to post
Share on other sites
Still returns invalid call after directly loading the 31.dll library.

I did notice I was passing vs_1_0 instead of vs_1_1, but after fixing that there was no change.

If it was not reporting "D3DERR_INVALIDCALL" I'd guess the driver just wouldn't comply. But it's acting like there is something wrong with the call, even though as far as I can tell there is nothing.

The arguments work just fine for 2_0 and so on...

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this