Glow filter produces error on program exit in 1.7.2

I just upgraded to 1.7.2 and I noticed I was getting some nasty error print outs when I exited some of applications, but not others. The error reported was:

:display:gsg:glgsg(error): c:\buildslave\release_sdk_win32\build\panda3d\panda\src\glstuff\glGraphicsBuffer_src.cxx, line 1020: GL error 1282

This error is reported a total of 5 times when I close the panda3D window via the X in the top corner, on windows 7.

After a little experimentation, I believe I’ve confirmed the error to be caused by my glow filter, which is initiated by the following code:

self.filters = CommonFilters(base.win, base.cam)
		filterok = self.filters.setBloom(blend=(0,0,0,1), 
			desat=-0.5, intensity=3.0, size=2)

When I comment those lines out, I have no problem. Now, I’m not seeing any ramifications of this error during actual program execution, at least in a cursory examination. The error only appears when the window closes. I’m figuring, since GL error 1282 is an “Invalid Operation” (thank you internet for teaching me things), that maybe the filter is trying to operate on some window component that has been removed as the application is exited or something. I’m not sure.

Is this something I just need to wait on a new Panda3D build to get sorted out?

1.7.2 on 7-32bit, exits just fine.

Really? I’m running on 64-bit. I wonder if that’s related?

Anything is possible, but I’d be surprised if it’s related in this case. It’s more likely to be a combination of (a) your particular graphics driver and (b) your particular application and © the phase of the moon.

What graphics card do you have? Can you post a trivial application that reproduces the error message consistently for you?

David

Sorry it’s taken so long to get back to this one. I’ve had a lot on my mind.

My graphics card is an NVidia Geforce GT 430. I’m using the most up-to-date drivers.

Here’s the minimum amount of code I’ve found necessary to reproduce the error:

import direct.directbase.DirectStart
from direct.filter.CommonFilters import CommonFilters

class Test:
	def __init__(self):
		self.filters = CommonFilters(base.win, base.cam)
		filterok = self.filters.setBloom(blend=(0,0,0,1), 
			desat=-0.5, intensity=3.0, size=2)

T = Test()
run()

And here is the exact error output, copied to the best of my ability.

:display:gsg:glgsg(error): c:\buildslave\release_sdk_win32\build\panda3d\panda\src\glstuff\glGraphicsBuffer_src.cxx, line 1020: GL error 1282
:display:gsg:glgsg(error): c:\buildslave\release_sdk_win32\build\panda3d\panda\src\glstuff\glGraphicsBuffer_src.cxx, line 1020: GL error 1282
:display:gsg:glgsg(error): c:\buildslave\release_sdk_win32\build\panda3d\panda\src\glstuff\glGraphicsBuffer_src.cxx, line 1020: GL error 1282
:display:gsg:glgsg(error): c:\buildslave\release_sdk_win32\build\panda3d\panda\src\glstuff\glGraphicsBuffer_src.cxx, line 1020: GL error 1282
:display:gsg:glgsg(error): c:\buildslave\release_sdk_win32\build\panda3d\panda\src\glstuff\glGraphicsBuffer_src.cxx, line 1020: GL error 1282

I’ve fiddled around a little bit with the values I put into the filter, but they don’t seem to have any impact on the error, just FYI.

Just to reinforce here: This error hasn’t had any impact on the actual performance of my game in any test I’ve done. My concern with it is that it’s causing the application to fail to perform some of the clean up it undoubtedly performs when the application exits, and also I thought it should be brought to attention.