View Issue Details

IDProjectCategoryView StatusLast Update
0026732Open CASCADEOCCT:Visualizationpublic2016-04-20 15:49
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
PlatformLinuxOSDebian 6.0 
Target Version7.0.0Fixed in Version7.0.0 
Summary0026732: Visualization, TKOpenGl - add option to request Core profile 3.2+ using GLX
DescriptionOpenGl_Window supports creation of core profile only using WinAPI and Cocoa. The GLX should be supported as well for testing within Draw Harness.
Steps To ReproduceN/A
Additional information
and documentation updates
Aspect_Window interface has been extended by new method NativeFBConfig() which should be provided by implementations.

Xw_Window now takes additional argument GLXFBConfig.
    
OpenGl_Window now will not create child window when XVisual for passed window is incomplete for OpenGL context. This should eliminate event-handling issues caused by unexpected window, but would require window to be properly created for OpenGL usage.
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0024570 closedbugmaster Community Qt5 mouse tracking is not working with V3d_View (GNU/Linux) 
child of 0024838 closedbugmaster Open CASCADE Visualization, TKOpenGl - make general rendering path compatible with OpenGL 3.1+ core profiles 
child of 0025854 closedbugmaster Open CASCADE Visualization, TKOpenGl - add option to request Core profile 3.2+ 
child of 0024123 closedbugmaster Open CASCADE Create debug OpenGL context when requested (GL_ARB_debug_output) 

Activities

git

2015-09-28 20:36

administrator   ~0046235

Branch CR26732 has been created by kgv.

SHA-1: 2900aaa5f013c7d2c3c18d65b8c06e3836852929


Detailed log of new commits:

Author: kgv
Date: Mon Sep 28 20:35:42 2015 +0300

    0026732: Visualization, TKOpenGl - add option to request Core profile 3.2+ using GLX
    
    Aspect_Window::NativeFBConfig() - extend interface with new method.
    Xw_Window - add Aspect_FBConfig option to constructors,
    use glXChooseFBConfig() instead of glXChooseVisual() on GLX1.3+.
    
    OpenGl_Window - create context using glXCreateContextAttribsARB()
    when GLXFBConfig is provided by Aspect_Window.
    This procedure now handles Core Profile and Debug Context options on Linux.
    
    OpenGl_Window - drop code implicitly creating child window
    when window XVisual is incomplete for OpenGL context.
    This should eliminate event-handling issues at application side,
    but would require window to be properly created by application.

kgv

2015-09-28 20:47

developer   ~0046236

Last edited: 2015-09-28 20:53

Context created without Core Profile option (Mesa drivers on Linux):
Draw[4]> vglinfo
OpenGL info:
  GLvendor    = 'X.Org'
  GLdevice    = 'Gallium 0.4 on AMD HAWAII'
  GLversion   = '3.0 Mesa 10.5.9'
  GLSLversion = '1.30'


Context created with Core Profile and Debug options:
Draw[7]> vglinfo
OpenGL info:
  GLvendor    = 'X.Org'
  GLdevice    = 'Gallium 0.4 on AMD HAWAII'
  GLversion   = '3.3 (Core Profile) Mesa 10.5.9'
  GLSLversion = '3.30'
  GLdebug     =  ON


Note that Mesa 10.5.9 does not cope with Ray-Tracing program, causing internal exception in the driver:
Draw[11]> vraytrace 1
LLVM triggered Diagnostic Handler: Ran out of VGPRs for spilling SGPR
LLVM triggered Diagnostic Handler: Ran out of VGPRs for spilling SGPR
...
LLVM triggered Diagnostic Handler: Ran out of VGPRs for spilling SGPR
An exception was caught 0x1e59230 : OSD_SIGSEGV: SIGSEGV 'segmentation violation' detected. Address 7f38d8a3dcbe
** Exception ** 0x1e59230 : OSD_SIGSEGV: SIGSEGV 'segmentation violation' detected. Address 7f38d8a3dcbe


kgv

2015-09-28 20:47

developer   ~0046237

Patch is ready for review in branch CR26732.

git

2015-09-29 13:15

administrator   ~0046250

Branch CR26732 has been updated forcibly by kgv.

SHA-1: d2e06d7499bfb4c1a0875aed4d23e0914cc470a7

san

2015-09-29 21:30

developer   ~0046300

Branch CR26732 reviewed without remarks, ready for testing.

mkv

2015-09-30 21:25

tester   ~0046356

Dear BugMaster,
Branch CR26732 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: d2e06d7499bfb4c1a0875aed4d23e0914cc470a7

Number of compiler warnings:

occt component :
Linux: 13 (13 on master)
Windows: 0 (0 on master)

products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 93997147 / 93325036 [+0.72%]
Total CPU difference: 19675.799999999355 / 19755.04999999924 [-0.40%]
products component :
Total MEMORY difference: 26270638 / 26299695 [-0.11%]
Total CPU difference: 7289.970000000004 / 7198.129999999997 [+1.28%]

Testing on Windows:
occt component :
Total MEMORY difference: 57924373 / 57934651 [-0.02%]
Total CPU difference: 19179.121742298856 / 17727.329635999078 [+8.19%]
products component :
Total MEMORY difference: 17133670 / 17140676 [-0.04%]
Total CPU difference: 5607.175143199978 / 5623.134045499962 [-0.28%]

There are no differences in images found by testdiff.

git

2015-10-16 16:17

administrator   ~0046900

Branch CR26732 has been deleted by kgv.

SHA-1: d2e06d7499bfb4c1a0875aed4d23e0914cc470a7

Related Changesets

occt: master b6bf4ec1

2015-09-29 07:15:32

kgv


Committer: bugmaster Details Diff
0026732: Visualization, TKOpenGl - add option to request Core profile 3.2+ using GLX

Aspect_Window::NativeFBConfig() - extend interface with new method.
Xw_Window - add Aspect_FBConfig option to constructors,
use glXChooseFBConfig() instead of glXChooseVisual() on GLX1.3+.

OpenGl_Window - create context using glXCreateContextAttribsARB()
when GLXFBConfig is provided by Aspect_Window.
This procedure now handles Core Profile and Debug Context options on Linux.

OpenGl_Window - drop code implicitly creating child window
when window XVisual is incomplete for OpenGL context.
This should eliminate event-handling issues at application side,
but would require window to be properly created by application.
Affected Issues
0026732
add - src/Aspect/Aspect_FBConfig.hxx Diff File
mod - src/Aspect/Aspect_Window.hxx Diff File
mod - src/Aspect/FILES Diff File
mod - src/Cocoa/Cocoa_Window.hxx Diff File
mod - src/OpenGl/OpenGl_Window.cxx Diff File
mod - src/WNT/WNT_Window.hxx Diff File

Issue History

Date Modified Username Field Change
2015-09-28 20:22 kgv New Issue
2015-09-28 20:22 kgv Assigned To => kgv
2015-09-28 20:22 kgv Relationship added child of 0024838
2015-09-28 20:22 kgv Relationship added child of 0025854
2015-09-28 20:36 git Note Added: 0046235
2015-09-28 20:47 kgv Note Added: 0046236
2015-09-28 20:47 kgv Assigned To kgv => san
2015-09-28 20:47 kgv Status new => resolved
2015-09-28 20:47 kgv Additional Information Updated
2015-09-28 20:47 kgv Note Added: 0046237
2015-09-28 20:47 kgv Status resolved => reviewed
2015-09-28 20:49 kgv Relationship added child of 0024123
2015-09-28 20:53 kgv Additional Information Updated
2015-09-28 20:53 kgv Note Edited: 0046236
2015-09-28 21:56 kgv Status reviewed => assigned
2015-09-28 21:56 kgv Status assigned => resolved
2015-09-29 13:15 git Note Added: 0046250
2015-09-29 21:30 san Note Added: 0046300
2015-09-29 21:30 san Assigned To san => bugmaster
2015-09-29 21:30 san Status resolved => reviewed
2015-09-30 15:07 mkv Assigned To bugmaster => mkv
2015-09-30 21:25 mkv Note Added: 0046356
2015-09-30 21:25 mkv Assigned To mkv => bugmaster
2015-09-30 21:25 mkv Status reviewed => tested
2015-09-30 21:25 mkv Test case number => Not needed
2015-10-02 14:56 bugmaster Changeset attached => occt master b6bf4ec1
2015-10-02 14:56 bugmaster Status tested => verified
2015-10-02 14:56 bugmaster Resolution open => fixed
2015-10-16 16:17 git Note Added: 0046900
2015-11-17 16:39 kgv Relationship added related to 0024570
2016-04-20 15:44 aiv Fixed in Version => 7.0.0
2016-04-20 15:49 aiv Status verified => closed