DX9 renderer error / crash on exit

Hi.
Today I decided to test the DX9 renderer and got this error:

:display:gsg:dxgsg9(error): vertex_element_type_array check not implemented yet

I’ve used it before and it has worked (although it crashes every time the app is supposed to close). I couldn’t figure out what I had changed to cause it, but I thought I’d report it in at least :blush:

try to remove your bam cache … i think this is some thing related to bam storing openGL vertexes in openGL format.

I emptied the cache files and even released all models from the pool, but it still gives the same error in an infinite loop. Regarding the crash upon closing, here’s what the error report says:

Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	python.exe
  Application Version:	0.0.0.0
  Application Timestamp:	47bd6a89
  Fault Module Name:	cgD3D9.dll
  Fault Module Version:	1.5.0.14
  Fault Module Timestamp:	450f6899
  Exception Code:	c0000005
  Exception Offset:	00007965
  OS Version:	6.0.6001.2.1.0.256.1
  Locale ID:	1035
  Additional Information 1:	c11a
  Additional Information 2:	18d232e4d8435ebf655f59efa077f117
  Additional Information 3:	3cc0
  Additional Information 4:	2bc86780a51643567bc39fde6d5f1f8a

The error message has nothing to do with the bam cache (which is not supposed to be terribly sensitive to OpenGL vs. DirectX differences anyway), but is rather complaining about matching up your vertex columns to the appropriate shader inputs. I’m a little fuzzy about what this code in question is doing, but there appears to be some ambiguity in your vertex data as to which column matches which shader input.

The crash at exit seems like something unrelated, but there’s unfortunately not enough information there to debug it.

David

Thanks for the reply. Ummmm, I managed to track down the vertex error to the following lines (or rather it’s the latter line that actually triggers it):

    filters = CommonFilters(base.win, base.cam)
    filters.setBloom(blend=(0.3, 0.3, 0.3, 0.0), mintrigger=0.7, maxtrigger=1.0, desat=0.4, intensity=1.25, size="medium")

We reckoned with pro-rsoft that this is a Panda bug of some sort since it does not appear with OpenGL and I’m not even using any shaders of my own. The most complex stuff I have are vertex colors and a texture :laughing: I can upload my files if you really want to look at them.

Regarding the crash on exit, it happens with EVERY dx9 enabled app, including this monster:

from pandac.PandaModules import loadPrcFileData
loadPrcFileData("", "load-display pandadx9")
loadPrcFileData("", "notify-level spam")
import direct.directbase.DirectStart
from direct.showbase.DirectObject import DirectObject

class World(DirectObject):
  def __init__(self):
    print "Hello World"

w = World()
run()

The best information I can provide on this is that the last line generated by the notifying system is this: Removed wdxGraphicsWindow9 025AA8B4
That is preceeded by a horde of input tasking.

I suppose I could mention that my system specs include Vista64 and nVidia 8800GTS. I have no problems with other 3D accelerated apps including old and new games so I’m not eager to blame any of this on drivers :slight_smile:

Your monster application does not crash on my computer (Panda3D 1.5.3, NVIDIA GPU).

But there is another thing I don’t think is nice: ppython connects on my computer to the server crl.microsoft.com (131.107.115.28) port 80. Looks like DirectX calls big brother at home.

We have had issues with cleanup at exit time in pandadx9 before. I suspect this is more of that. Our pandadx9 code is, frankly, very poorly written, and wants a rewrite, but it’s what we’ve got for now. It is possible that this has recently been fixed in the CVS trunk, since we have fixed some cleanup issues recently.

Wow, really? That’s astonishing. Does it happen in pview too?

David

@drwr Yes. Looks like the IP changes. This time 131.107.115.28. But only happens if I switch manually to pandadx9. I have Visual Studio 2005 installed, perhaps this is the reason, but if I run DirectX 9 samples from codesampler.com there is no ET phone home effect.

Seems that there isn’t anything super malicious going on there. I think you can google to find out how to disable ET from phoning home.

Thanks ZeroByte. My opinion I better don’t write down here. I never ever used IE and never will, but I’ve to change an option in IE for DirectX, …

Hi Panda Dev Community!

Has anyone ever gotten further into this crash at exit problem? Is it potentially fixed in a newer release?

Here is what I know about it (Tested with version 1.3x):

It is definitely in the the clean-up portion of the code, and I only ever experience it with DX9 enabled. Finally, it only occurs on windows vista. WinXP is good, as well as 7. I haven’t varied between 32bit and 64bit in my testing.

I haven’t pushed into the C++ side of things. If I don’t hear back that this issue has been addressed elsewhere, I guess this will be my next destination.

Thanks!

I don’t think this issue has been addressed yet. There are few developers who appear to be interested in improving Panda’s support for shaders in DirectX. If you’re such a developer and are willing to investigate this problem, we’d love to have your contributions. :slight_smile:

David