Panda 1.9 (dev) on Win 7 x64

Is there a topic for discussion of the problems, found in dev version?
So far I leave report here. I attach screenshot of what I see when run simple code with loading ‘smiley’. Result is the same on both my systems: Win 7 x64 and Ubuntu 14.10 amd64.
My videocard AMD HD4850 (RV770)

I’ve tried this with my own game, and a small test-program, (which use “import direct.directbase.DirectStart”) but with little effect.

The logs from the two games did have one difference that I thought might be worth reporting: the original version–that which imported DirectStart after other Panda-related importations–printed “Created splash window 00080752” into the log, while the other–which imported DirectStart first–did not; perhaps the crash (on my end, at least) is indeed related to ShowBase–unless some change in importation order caused it to decide to simply not create a splash window. This difference was not noted in the test-program, in which neither printed any mention of a splash window.

I should perhaps note that I made these builds by simply running “panda3d packp3d_dev.p3d” and “panda3d pdeploy_dev.p3d” (with relevant parameters, including the “installer” option for the latter), and haven’t checked for a more recent version of those two p3d files.

(Speaking of which, I note that the “per_platform” issue seems to persist in the builds thus produced, although I seem to recall a fix being committed–perhaps I’m doing something incorrectly?)

ninth: uh. With which version of the SDK do you get that disfigured smiley?

Thaumaturge: let’s use this thread to discuss the SDK issues, and discuss issues with the runtime in a separate thread.

24-25 sep. I mean on 24 sep. bulid smiley is Ok, and 25 - like on image
I think it a25a9e655ef27a225e7c48148a3f9037d85db128
“Support strip cut indices and (using those) support direct rendering of linestrips in OpenGL”

Right now I trying to revert this commit, build and and see what will happen

Yes, reverting this commit make ‘smiley’ looks ok.
May be make config variable to disable this feature if necessary?

Hmm, okay. I do know there were some bugs with my strip cut index implementation at the time, but I fixed them later on. I’d be interested to see if the smiley distortion still occurs in a recent build, and if not, it’s probably something I had already fixed.

I did indeed add a configuration variable to disable the strip cut implementation, but I added it much later. For reference, it is as follows:

gl-support-primitive-restart-index false

However, I think it might also be likely that it is simply that the old .bam corresponding to the smiley.egg file is no longer valid. If so, disabling or clearing the bam cache or editing the .egg file (to update the modification timestamp) should fix the issue.


Anyway, apart from all that, I’d be really interested in learning whether the crashes persist in today’s version of Panda3D, after the changes I checked in yesterday. For your convenience, I uploaded an SDK build here:
rdb.name/Panda3D-1.9.0-x64.exe

Thanks for your help so far!

“gl-support-primitive-restart-index false” working, thanks
actually on Ubuntu I used latest version from Github, so that the problem was not solved. As for cache - I tried different models, also disfigured even frame rate counter, simply on the smiley problem is visible very well.

Unfortunately latest build for Win still not work. May be there have debug output or something else to clarify where exactly crash happens?

Wait, you’re saying that the disfigured geometry also shows on recent builds? And on Ubuntu? Can you give me the output of the “glxinfo” command so that I get a better feel for the capabilities of your graphics card?

Hmm, debug logs might help. Add “notify-level debug” or even “notify-level spam” to your Config.prc file to make panda more verbose.

If you have Visual Studio 2010 Express installed, you could run something like this to debug the program:

vcexpress.exe /debugexe "C:\Panda3D-1.9.0-x64\python\ppython.exe" path\to\test.py

And hit Run, and when it crashes, look at what the Call Stack looks like.

Wow, out of curiosity, i just tried “gl-support-primitive-restart-index false” on Windows and it’s started! :open_mouth: But I still should use “from pandac.PandaModules import *” instead of “from panda3d.core import *”

No, unfortunately no, but think that i can download it and trying.

Yes. I attached glxinfo output.
glxinfo.txt.7z (4.32 KB)

I was wrong about “gl-support-primitive-restart-index false” on Win. Seems program started after I added “from pandac.PandaModules import *” which nedded for loadPrcFileData. If I comment this string or using “panda3d.core” then get error.

Here Call stack and output of “notify-level spam”
debug.7z (4.83 KB)

Thanks, this is helpful! The combination of debug log and call stack allowed me to deduce that the error is occurring when we call into the NVIDIA Cg library to query support for Cg.

I’m wondering if there is perhaps a conflicting version of cg.dll or cgGL.dll on your system somewhere? If so, could you try renaming it so that only Panda’s copy is used?

Also, your glxinfo log was helpful as well. It shows that primitive restart index is supported, but only the NVIDIA extension thereof (wouldn’t have guessed that, since you have an AMD card) instead of the standard ARB version. This is a good lead. I’ll look deeper into this.

My apologies; to explain myself, I had hoped that the two problems might be connected (and thus that fixing one would fix both), and thought that the discrepency between log files might have been worth mentioning.

@rdb You are right. I’ve found installed Cg toolkit. After uninstalling it error is disappeared. Unfortunately I don’t remember which version of Cg Toolkit was installed. When I downloaded and installed version from nvidia site I was not able to reproduce problem again.
Reinstalling Cg Toolkit solved both problems: importing ShowBase and importing panda3d.core before importing ShowBase.

Notice: before I uninstalled Cg I found that problem with importing panda3d.core appears between 22 and 24 feb. (202-205 build)

Excellent!

I checked in some changes earlier that disable the use of the old GL_NV_primitive_restart_index extension to supply primitive restart capabilities. If some drivers do not reliably support it, it’s clearly not worth it. (Your drivers provide OpenGL 3.0, even though your card supports 3.3. The core version of primitive restart support, which is presumably more reliable, was not introduced until OpenGL 3.1.)

So, I think that all issues are now resolved, unless I missed something. I’m not sure what we can do about the Cg issue in a way that benefits others except for documenting that this could be a potential cause for crash.

Thanks so much for bringing up and helping to diagnose these issues!

I tryed to build and install this revision (on Ubuntu):

But seems it no affect on my video card ( Can I check somehow what’s happening?
Also about drivers - I saw the same picture on Win 7, but on Win 7 I have the latest official driver from ATI unlike Ubuntu with the opensource Gallium.

Odd - in both cases it is still fixed with the configuration variable?

Can you get debug output of “notify-level-glgsg debug” in both systems (with primitive restart enabled, of course)?

Ouch, I am sorry for mistake. On Win 7 and latest build which you provide here Panda 1.9 (dev) on Win 7 x64 smiley is Ok. Smiley was disfigured on version which I used before (build 08 oct), when couldn’t to run latest version. Though on Ubuntu something still wrong.
Attached log from three versions Ubuntu, Win - latest, Win - 08 oct
test.7z (4.12 KB)

And is the issue fixed on Ubuntu by setting “gl-support-primitive-restart-index false” in /etc/Config.prc?