Opened 9 years ago
Closed 9 years ago
#575 closed defect (fixed)
Status line message causes OpenGL error
Reported by: | Tom Goddard | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Window Toolkit | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following commands result in an OpenGL error caused by the status line messages emitted while the step 2 map data is loaded. Commenting out status line event processing eliminates the error. Possibly the OpenGL context is changed during the status messages.
open 8344 fromDatabase emdb
vol #1 reg all
Then change step in volume panel to 2.
UCSF ChimeraX version: 0.1 (2016-12-21)
OpenGL version: 4.1 NVIDIA-10.14.20 355.10.05.15f03
OpenGL renderer: NVIDIA GeForce GTX 680MX OpenGL Engine
OpenGL vendor: NVIDIA Corporation
open 8344 fromDatabase emdb
Summary of feedback from opening 8344 fetched from emdb
note Fetching map 8344 from local cache: /Users/goddard/Downloads/ChimeraX/EMDB/emd_8344.map
Opened emd_8344.map, grid size 1725,1668,330, pixel 3.19,3.19,3.19, shown at step 1, values int8
volume #1 region all
Error in drawing scene. Redraw is now stopped.
Traceback (most recent call last):
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/updateloop.py", line 43, in draw_new_frame
view.draw(check_for_changes = False)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/view.py", line 190, in draw
draw_drawings(r, cpinv, mdraw)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 1219, in draw_drawings
lambda: _draw_multiple(drawings, r, p, Drawing.TRANSPARENT_DRAW_PASS))
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/opengl.py", line 742, in draw_transparent
draw()
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 1219, in <lambda>
lambda: _draw_multiple(drawings, r, p, Drawing.TRANSPARENT_DRAW_PASS))
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 1225, in _draw_multiple
d.draw(renderer, place, draw_pass, selected_only)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 578, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 611, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 578, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/drawing.py", line 611, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/map/grayscale.py", line 172, in draw
self.make_planes()
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/map/grayscale.py", line 209, in make_planes
plist = self.make_axis_planes()
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/map/grayscale.py", line 215, in make_axis_planes
plist = self.make_plane_drawings(planes)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/map/grayscale.py", line 256, in make_plane_drawings
p.texture = self.texture_plane(k, axis)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/map/grayscale.py", line 270, in texture_plane
t = Texture(d)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/opengl.py", line 1758, in init
self.initialize_texture(size, format, iformat, tdtype, ncomp, data)
File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/graphics/opengl.py", line 1841, in initialize_texture
GL.glTexParameteri(gl_target, GL.GL_TEXTURE_SWIZZLE_G, GL.GL_RED)
File "errorchecker.pyx", line 53, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError (src/errorchecker.c:1218)
OpenGL.error.GLError: GLError(
err = 1280,
description = b'invalid enumerant',
baseOperation = glTexParameteri,
cArguments = (
GL_TEXTURE_2D,
GL_TEXTURE_SWIZZLE_G,
GL_RED,
)
)
Fixed by not sending status messages during redraw. Status message display during processing is still a problem.