Sign in to follow this  
LostSoul78

Bugs in February 2005 SDK?

Recommended Posts

Hi everyone, I just upgraded to the February 2005 SDK and now I am experiencing crashes in the effects framework. Happens with different projects and different fx-files, but the dx samples still work. The top of the call stack is always: d3dx9d_24.dll!D3DXEffects::_Unpack<float,4>() + 0x1e d3dx9d_24.dll!D3DXEffects::CEffect::Unpack<float,4>() + 0x5b d3dx9d_24.dll!D3DXEffects::CEffect::ApplyAssignment() + 0x4a4 d3dx9d_24.dll!D3DXEffects::CEffect::ApplyBlock() + 0x149 d3dx9d_24.dll!D3DXEffects::CEffect::ApplyAssignment_Apply() + 0x10fe d3dx9d_24.dll!D3DXEffects::CEffect::ApplyAssignment() + 0xac5 d3dx9d_24.dll!D3DXEffects::CEffect::ApplyBlock() + 0x149 d3dx9d_24.dll!D3DXEffects::CEffect::BeginPass() + 0x2c4 ... I am not sure what this means, but it looks like the effect compiler is broken. The fx-files used to work with previous versions of the sdk up to december, so I doubt it is my fault... plus: d3dx should not crash, no matter what. Any ideas? Any guys from Microsoft present? I managed to work-around some of the problems, but I still have a bad feeling about this... David

Share this post


Link to post
Share on other sites
Im clueless to why your getting this error, but im also experiencing problems with the Effect class. You could always try the offical DirectX newsgroup - Google Groups has it if your newgroup server doesnt.

Microsoft.Public.Win32.Programmer.DirectX I believe

Share this post


Link to post
Share on other sites
Hi folks,

I have the same problem.
Sometimes when the application crashes I get the following debug output:

D3DX: ID3DXEffect: Cannot unpack non-numeric type into shader constant
D3DX: Assertion failure! (d:\bt\36\private\multimedia\directx\dxg\d3dx9\shader\fx\runtimeeffect.cpp 3233): 0
D3DX: ID3DXEffect: Cannot unpack non-numeric type into shader constant
D3DX: Assertion failure! (d:\bt\36\private\multimedia\directx\dxg\d3dx9\shader\fx\runtimeeffect.cpp 3233): 0
First-chance exception at 0x009db9ce (d3dx9d_24.dll) in Didgeridoo.exe: 0xC0000005: Access violation reading location 0x41d3889c.
Unhandled exception at 0x009db9ce (d3dx9d_24.dll) in Didgeridoo.exe: 0xC0000005: Access violation reading location 0x41d3889c.

... but I definitly do not assign a non-numeric type variable to a numeric shader constant. Sometimes, it helps to change some parts of the fx-file or to disable preshaders, but that can't be the solution to that problem ...

---
dma

Share this post


Link to post
Share on other sites
The official newsgroups ( microsoft.public.win32.programmer.directx.graphics almost as acid2 said, also this list might help ) and the direct-email: directx@microsoft.com are probably the best people to talk to here.

Send them as much information as you can - ideally in the form of a small "repro" sample and a copy of all debug/error output you get, and steps to reproduce it.

Looking at what you've got, it is quite possible that you've found a bug - or you've found a way of feeding something bad into the system that it can't copy with [smile].

Let us know how it goes.
Jack

Share this post


Link to post
Share on other sites
If the issue is not discussed in the newsgroup yet, definately e-mail the dx team.
They will answer you within a couple hours and tell you whether it's a bug (which they will fix) or not.

Share this post


Link to post
Share on other sites
... I think I've found a reason for this problem:
ID3DXEffect::BeginPass only crashes if it's called on a cloned effect. It might be the same problem as in this thread:

http://www.gamedev.net/community/forums/topic.asp?topic_id=256348

However - doesn't look like anyone has posted a solution for that so far.

You can reproduce the crash, by adding the following lines to SkinnedMesh.cpp (dxsdk-skinnedmesh-sample) behind the call of D3DXCreateEffectFromFile.


if (g_pEffect)
{
ID3DXEffect* pClonedEffect = NULL;

V_RETURN( g_pEffect->CloneEffect(pd3dDevice, &pClonedEffect) );

g_pEffect->Release();
g_pEffect = pClonedEffect;
}


... or is there something wrong with these lines?

----
dma

ps: don't forget to select HLSL-Skinning if you run the sample

[Edited by - dma42 on February 17, 2005 5:57:40 AM]

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