Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
5677 posts
|
Hi!
Apparently, it happens that we get an error "Frame buffer status: Unknown error". The error comes from the method checkStatus: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= NBGLFrameBuffer>>checkStatus | status | self bind. status := gl checkFramebufferStatusEXT: GL_FRAMEBUFFER. status = GL_FRAMEBUFFER_COMPLETE ifFalse: [ #( #GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT #GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT #GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER #GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER #GL_FRAMEBUFFER_UNSUPPORTED #GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE #GL_FRAMEBUFFER_UNDEFINED ) do: [:sym | (self class bindingOf: sym) ifNotNil: [:b | status = b value ifTrue: [ ^ self error: 'Frame buffer is incomplete: ', b key ] ]. ]. ^ self error: 'Frame buffer status: Unknown error'. ]. ^ true "ok" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Any idea what's going on? We took a Pharo 2.0, loaded Athens, NBOpenGL, SourceCity, and roassal3d. Running the test of roassal3d shows this. I suspect this error comes from some interaction between the tests. Closing an opengl window is enough to desallocate the opengl resources? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
9533 posts
|
On 26 June 2013 21:06, Alexandre Bergel <[hidden email]> wrote:
> Hi! > > Apparently, it happens that we get an error "Frame buffer status: Unknown error". The error comes from the method checkStatus: > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > NBGLFrameBuffer>>checkStatus > | status | > self bind. > status := gl checkFramebufferStatusEXT: GL_FRAMEBUFFER. > > status = GL_FRAMEBUFFER_COMPLETE ifFalse: [ > #( > #GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT > #GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT > #GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER > #GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER > #GL_FRAMEBUFFER_UNSUPPORTED > #GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE > #GL_FRAMEBUFFER_UNDEFINED > ) do: [:sym | > (self class bindingOf: sym) ifNotNil: [:b | > status = b value ifTrue: [ ^ self error: 'Frame buffer is incomplete: ', b key ] ]. > ]. > ^ self error: 'Frame buffer status: Unknown error'. > ]. > ^ true "ok" > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > Any idea what's going on? > > We took a Pharo 2.0, loaded Athens, NBOpenGL, SourceCity, and roassal3d. Running the test of roassal3d shows this. > I suspect this error comes from some interaction between the tests. Closing an opengl window is enough to desallocate the opengl resources? > ... [show rest of quote] If i remember , you should close and force GC. But of course, it would be preferable , if on window close event you explicitly deallocate things immediately, then you don't have to wait for GC to clean it for you. The problem, i think, is interference between two different opengl contexts. OpenGL is built so, that you need to actiave different context (glMakeCurrent) between using any functions for it (otherwise you would need to pass extra argument - a context handle, to each function).. Now i think the code that allocates/deallocates things in opengl assumes that a valid context is currently selected (or only single context ).. because apparently, if current context is different than where you did allocated the resources , you will get an error. > Cheers, > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > -- Best regards, Igor Stasenko. |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
5677 posts
|
Thanks Igor, I will ask our local OpenGL expert
Cheers, Alexandre On Jun 27, 2013, at 7:00 AM, Igor Stasenko <[hidden email]> wrote: > On 26 June 2013 21:06, Alexandre Bergel <[hidden email]> wrote: >> Hi! >> >> Apparently, it happens that we get an error "Frame buffer status: Unknown error". The error comes from the method checkStatus: >> >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >> NBGLFrameBuffer>>checkStatus >> | status | >> self bind. >> status := gl checkFramebufferStatusEXT: GL_FRAMEBUFFER. >> >> status = GL_FRAMEBUFFER_COMPLETE ifFalse: [ >> #( >> #GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT >> #GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT >> #GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER >> #GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER >> #GL_FRAMEBUFFER_UNSUPPORTED >> #GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE >> #GL_FRAMEBUFFER_UNDEFINED >> ) do: [:sym | >> (self class bindingOf: sym) ifNotNil: [:b | >> status = b value ifTrue: [ ^ self error: 'Frame buffer is incomplete: ', b key ] ]. >> ]. >> ^ self error: 'Frame buffer status: Unknown error'. >> ]. >> ^ true "ok" >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >> >> Any idea what's going on? >> >> We took a Pharo 2.0, loaded Athens, NBOpenGL, SourceCity, and roassal3d. Running the test of roassal3d shows this. >> I suspect this error comes from some interaction between the tests. Closing an opengl window is enough to desallocate the opengl resources? >> > > If i remember , you should close and force GC. > But of course, it would be preferable , if on window close event you > explicitly deallocate things immediately, > then you don't have to wait for GC to clean it for you. > > The problem, i think, is interference between two different opengl contexts. > OpenGL is built so, that you need to actiave different context > (glMakeCurrent) between using any functions for it > (otherwise you would need to pass extra argument - a context handle, > to each function).. > Now i think the code that allocates/deallocates things in opengl > assumes that a valid context is currently selected (or only single > context ).. > because apparently, if current context is different than where you did > allocated the resources , you will get an error. > >> Cheers, >> Alexandre >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> > > > -- > Best regards, > Igor Stasenko. > ... [show rest of quote] -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
Free forum by Nabble | Edit this page |