Crash in Water and GLSL tests

Hey people



Until recently the water and GLSL tests worked fine for me, but then they started crashing (at which time I also updated CVS, maybe it's related?), the log of QuadWaterTest is right below:

Apr 3, 2007 4:22:49 PM com.jme.app.BaseGame start
INFO: Application started.
Apr 3, 2007 4:22:49 PM com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
Apr 3, 2007 4:22:49 PM com.jme.system.PropertiesIO load
INFO: Read properties
Apr 3, 2007 4:22:54 PM com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
Apr 3, 2007 4:22:54 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Apr 3, 2007 4:22:54 PM com.jme.system.lwjgl.LWJGLDisplaySystem getValidDisplayMode
INFO: Selected DisplayMode: 1024 x 768 x 16 @60Hz
Apr 3, 2007 4:22:54 PM com.jme.system.PropertiesIO save
INFO: Saved properties
Apr 3, 2007 4:22:54 PM com.jme.app.BaseSimpleGame initSystem
INFO: jME version 0.11 beta
Apr 3, 2007 4:22:55 PM com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W:

how long has it been since you updated from cvs?  Maybe we can narrow down the changes.

renanse said:

how long has it been since you updated from cvs?  Maybe we can narrow down the changes.

About 3 weeks ago.

I think it's the FBO stuff, since I am using shaders fine in my game, only the tests aren't working.

We really should run all the tests every night with a fresh checkout from CVS and log any errors and exceptions. It can't be done on a typical server for obvious reasons but someone might have a semi-good box which runs every night anyway?

Except that would only tell us it runs/doesn't run on that one box.  (eg. the above tests work fine on my machines.)

True, but it happens that tests are broken by new check ins for good. Maybe not frequently enough (thankfully) that it would warrant running the tests daily though. Nevertheless, a way of going through all of them automatically instead of manually would be helpful IMHO.

Same problem with water tests …

some people seems to have problems with FBO stuff. some of them will probably be resolved when we get around to implement a fallback to pbuffers, but the main problem here at Jadestone has been that graphics cards erroneously report that they support fbo even if they don't.

can you try to update your gfx drivers and see if there's any difference?

Hey Momokofan, I have the same problem with my nvidia 5700LE card under Ubuntu Edgy…

I tried to make an update to Festy by using the simple button "update", that did'nt function.

I 've readed that they want to install beryl directly with the Edgy.

So beryl was installed I don't know how on my desktop with xgl loaded,

and I wonder if it's not the source of the problem using fbo wheras the xgl couch  uses pbuffer (or something like that I'm not an expert)



I'll install ubuntu  7.04 soon and tell about the JME'demos differences …

I believe MrCoder is right; I ran some OpenGL tests and it reported inconsistency errors for my card. I have the latest drivers, could be a problem with my system…

TestBloom works for me on a Mac Pro, NVIDIA GeForce 7300 GT

TestBloom fails for me on a Macbook Pro, Radeon X1600.



I managed to suppress the failure on the Macbook by editing com.jme.renderer.lwjgl.LWJGLTextureRenderer checkFBOComplete(), removing the default exception.  The effect still seemed to work.

None of the tests under jmetest.effects.glsl works for me, yet they all work from the demo section of the homepage.

I run Feisty for amd64 with a GeForce 7800 (official Ubuntu driver 1.0-9631)



I get

org.lwjgl.opengl.OpenGLException: Invalid operation (1282)

   at org.lwjgl.opengl.Util.checkGLError(Util.java:56)

   at org.lwjgl.opengl.Display.swapBuffers(Display.java:555)

   at org.lwjgl.opengl.Display.update(Display.java:571)

   at com.jme.renderer.lwjgl.LWJGLRenderer.displayBackBuffer(LWJGLRenderer.java:458)

   at com.jme.app.BaseGame.start(BaseGame.java:72)

   at jmetest.effects.glsl.TestBloom.main(TestBloom.java:79)

and



org.lwjgl.opengl.OpenGLException: Invalid operation (1282)

   at org.lwjgl.opengl.Util.checkGLError(Util.java:56)

   at com.jmex.effects.glsl.MotionBlurRenderPass.reloadShader(MotionBlurRenderPass.java:175)

   at com.jmex.effects.glsl.MotionBlurRenderPass.<init>(MotionBlurRenderPass.java:148)

   at jmetest.effects.glsl.TestMotionBlur.simpleInitGame(TestMotionBlur.java:111)

   at com.jme.app.BaseSimpleGame.initGame(BaseSimpleGame.java:497)

   at com.jme.app.SimplePassGame.initGame(SimplePassGame.java:97)

   at com.jme.app.BaseGame.start(BaseGame.java:56)

   at jmetest.effects.glsl.TestMotionBlur.main(TestMotionBlur.java:75)





TestSketch shows no errors but is just a white window.

All of these tests fail for me, although some just blackscreen and use processor cycles :smiley:


java.lang.RuntimeException: Unexpected reply from glCheckFramebufferStatusEXT: 36061
   at com.jme.renderer.lwjgl.LWJGLTextureRenderer.checkFBOComplete(LWJGLTextureRenderer.java:433)
   at com.jme.renderer.lwjgl.LWJGLTextureRenderer.render(LWJGLTextureRenderer.java:303)
   at com.jme.renderer.lwjgl.LWJGLTextureRenderer.render(LWJGLTextureRenderer.java:253)
   at com.jmex.effects.glsl.BloomRenderPass.doRender(BloomRenderPass.java:285)
   at com.jme.renderer.pass.Pass.renderPass(Pass.java:90)
   at com.jme.renderer.pass.BasicPassManager.renderPasses(BasicPassManager.java:89)
   at com.jme.app.SimplePassGame.render(SimplePassGame.java:81)
   at com.jme.app.BaseGame.start(BaseGame.java:78)
   at jmetest.effects.glsl.TestBloom.main(TestBloom.java:79)

This seems like a big problem… Maybe there should be an option to disable FBO?

I think the problem is that the fallback to pbuffers hasn't been implemented yet.

If I understand correctly earlier version used FBO as well, and that seemed to work for most of you. What happens if you try an older release?

No, Pbuffer was used before, see this thread: http://www.jmonkeyengine.com/jmeforum/index.php?topic=4250.0

Pbuffer fallback is already in.  There was an issue with fbo and cards that do not support non-pow2 textures that I've just resolved in CVS.  Please retest.  We'll get this fixed up I'm sure, just need these kinds of test results.  Thanks!

Good job! All tests work now, thanks.