Silverfrost Forums

Welcome to our forums

Tracking down the cause of 'No OpenGL buffers are open'

26 Mar 2018 10:08 #21666

I appreciate that ClearWin passes the API calls for OpenGL through to the OS.

In this instance it is issuing an error popup when I attempt to redraw an OpenGL window. The error is 'ClearWin+ error' and 'No OpenGL buffers are open'.

I'd like to know what causes this popup, specifically;

  • Which OpenGL calls can cause it to occur (it seems to be the ClearWin swap_opengl_buffers call that fails).
  • Is it before or after a call to the OpenGL layer (for example, is it validating before the call or showing as a result of a return code)?

Would it be possible to view the source code that generates this dialogue? I think it might help me a lot. If not, I'll have to get the disassembler out and go digging into the guts of ClearWin64.dll.

This is for 64 bit gFortran, consuming ClearWin DLLs. I have a small proof of concept working, it is only in my main application that the OpenGL handles / context are somehow not being swapped in.

Thank you in advance,

Ryan

26 Mar 2018 11:14 #21667

Here is a list of ClearWin+ C functions that can generate this message...

__clearwin_info __set_opengl_mouse_cursor_position __get_opengl_mouse_state __swap_opengl_buffers

These translate to CLEARWIN_INFO$ etc..

26 Mar 2018 12:25 #21668

Keep us informed if you resolve this issue. I had such error before and it annoyed me a lot. I forgot which workaround solved it after trying a million different things, the only I remember the solution was looking not very logical to me. I think the error appeared only in /debug mode and it did not appear with /64. The OpenGL was added to the compiler 20 years ago and was done almost perfectly with only one or two problems, or better say, potential problems which is literally amazing in the always buggy software world. The worst was the Simpleplot for example which in comparison was like a huge can of worms.

Please login to reply.