View Issue Details

IDProjectCategoryView StatusLast Update
0025854Open CASCADEOCCT:Visualizationpublic2015-09-28 20:22
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version6.9.0Fixed in Version6.9.0 
Summary0025854: Visualization, TKOpenGl - add option to request Core profile 3.2+
DescriptionOpenGL context creation routines should be extended to request Core profile instead of compatibility profile.
Steps To Reproduce
pload MODELING VISUALIZATION
vcaps -coreProfile
vcaps
vinit
vglinfo
box b 1 2 3
vdisplay b
vfit
TagsNo tags attached.
Test case numberbugs vis(004) bug25854

Relationships

parent of 0026002 closedbugmaster Visualization, TKOpenGl - detect alien Core Profile context 
parent of 0026732 closedbugmaster Visualization, TKOpenGl - add option to request Core profile 3.2+ using GLX 
child of 0024838 closedbugmaster Visualization, TKOpenGl - make general rendering path compatible with OpenGL 3.1+ core profiles 

Activities

git

2015-02-23 19:10

administrator   ~0037787

Branch CR25854 has been created by kgv.

SHA-1: 44cab416de481f7648aaf3605efdd6cf1b75886d


No new revisions were added by this update.

git

2015-02-24 15:04

administrator   ~0037815

Branch CR25854 has been updated forcibly by kgv.

SHA-1: c54638ea41b6a63f839a2d132cd1de2a88bb590a

kgv

2015-02-24 15:05

developer   ~0037818

Patch is ready for review in branch CR25854.

Please note that GLX is currently not supported since it requires Xw_Window/OpenGl_Window redesign to use GLXFBConfig.

git

2015-02-26 15:45

administrator   ~0037929

Branch CR25854 has been updated by kgv.

SHA-1: 246da6ef10a07ffc39b3c2e2601e56d3aebcd3be


Detailed log of new commits:

Author: kgv
Date: Thu Feb 26 15:45:19 2015 +0300

    fix compilation on GLES

san

2015-02-26 17:07

developer   ~0037931

Branch CR25854 reviewed without remarks, ready for testing.

mkv

2015-02-27 16:26

tester   ~0037952

Dear BugMaster,
Branch CR0-IR-2015-02-26 from occt git-repository (and IR-2015-02-26 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: d50ef8d48e82465828de99322e70862de9d3c149

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 2 (2 on master)

products component :
Linux: 11 (11 on master)
Windows: 4 (4 on master)

Regressions/Differences:
http://occt-tests/CR0-IR-2015-02-26-IR-2015-02-26-occt-64/Debian60-64/summary.html
http://occt-tests/CR0-IR-2015-02-26-IR-2015-02-26-occt-64/Windows-64-VC10/summary.html


There are following differences in images found by testdiff.
http://occt-tests/CR0-IR-2015-02-26-IR-2015-02-26-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE demo samples dimensions: dimensions.png differs
IMAGE bugs vis bug25060: bug25060_Driver1_Viewer1_View1.png differs
IMAGE bugs vis bug24902_2: bug24902_2_Driver1_Viewer1_View1.png differs
IMAGE bugs vis bug25132: bug25132_flight_solid.png differs
IMAGE bugs vis bug25132: bug25132_Partition_1.png differs
IMAGE bugs vis bug25132: bug25132_solid_with_cavities.png differs
IMAGE bugs vis bug24901: bug24901_Driver1_Viewer1_View1.png differs
IMAGE bugs vis bug24224: bug24224_Driver1_Viewer1_View1.png differs
IMAGE bugs vis bug24902_1: bug24902_1_Driver1_Viewer1_View1.png differs
IMAGE bugs vis bug25768: bug25768_Driver1_Viewer1_View1.png differs

git

2015-02-28 10:16

administrator   ~0037972

Branch CR25854 has been updated by kgv.

SHA-1: 6870b15c6a6fa16964cacd0e8440a31eacce25b8


Detailed log of new commits:

Author: kgv
Date: Sat Feb 28 10:13:36 2015 +0300

    OpenGl_Window, WGL - try to create core profile with highest supported OpenGL version

Author: kgv
Date: Sat Feb 28 10:02:12 2015 +0300

    OpenGl_Context::ReadGlVersion() - make method public

Author: kgv
Date: Sat Feb 28 09:42:29 2015 +0300

    OpenGl_Context - initialize all fields within constructor

Author: kgv
Date: Sat Feb 28 09:40:35 2015 +0300

    OpenGl_Context::init() - do not create default VAO within compatibility profile, since it is incompatible with glBegin()/glEnd()

git

2015-02-28 17:51

administrator   ~0037975

Branch CR25854_1 has been created by kgv.

SHA-1: 20ab35949c1865d90da673da8cda68bd9e2bbb90


Detailed log of new commits:

Author: kgv
Date: Sat Feb 28 17:50:51 2015 +0300

    0025854: Visualization, TKOpenGl - add option to request Core profile 3.2+
    
    OpenGl_Caps::contextCompatible - new option to request compatibility/core OpenGL profile.
    OpenGl_Window - request core profile when requested (WGL and Cocoa).
    OpenGl_Context::CheckExtension() - retrieve extensions using glGetStringi().
    OpenGl_Context::init() - set backward-compatible functions to NULL within core profile:
    core11, core15, core20, core32back, core33back, core41back, core42back, core43back, core44back.
    OpenGl_Context::BindDefaultVao() - create default VAO required for core profile.
    OpenGl_Context::ReadGlVersion() - make method public.
    OpenGl_ShaderManager - create programs using GLSL version 150 when available.
    OpenGl_VertexBuffer, OpenGl_ShaderProgram, OpenGl_ShaderObject - use
    functions set from core profile instead of compatibility.
    
    TKOpenGl - escape deprecated functionality with runtime checks.
    
    Command vcaps - add option -compatibleProfile to request core/compatibility profile.
    NIS_View - prevenr rendering within Core profile (unsupported).

kgv

2015-02-28 17:52

developer   ~0037976

Please test branch CR25854_1.

mkv

2015-03-04 19:15

tester   ~0038108

Dear BugMaster,
Branch CR25854_1 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: 20ab35949c1865d90da673da8cda68bd9e2bbb90

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 2 (2 on master)

products component :
Linux: 11 (11 on master)
Windows: 4 (4 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests.nnov.opencascade.com/CR25854-1-master-occt-64/Debian60-64/bugs/vis/bug25854.html
bugs vis(004) bug25854: OK
http://occt-tests.nnov.opencascade.com/CR25854-1-master-occt-64/Windows-64-VC10/bugs/vis/bug25854.html
bugs vis(004) bug25854: Bad image

Testing on Linux:
occt component :
Total MEMORY difference: 91976117 / 91912097
Total CPU difference: 58441.370000000046 / 59519.03999999998
products component :
Total MEMORY difference: 23559758 / 23389757
Total CPU difference: 15316.219999999992 / 16554.389999999985

Testing on Windows:
occt component :
Total MEMORY difference: 57935408 / 57944267
Total CPU difference: 42386.1875 / 38926.375
products component :
Total MEMORY difference: 16207384 / 16209637
Total CPU difference: 12509.015625 / 9535.171875

There are no differences in images found by testdiff.

git

2015-03-04 19:18

administrator   ~0038109

Branch CR25854_1 has been updated by mkv.

SHA-1: 2f67e7a46a22c424ba85d22af5e177359065fe92


Detailed log of new commits:

Author: mkv
Date: Wed Mar 4 19:18:06 2015 +0300

    Test case for issue CR25854

mkv

2015-03-04 19:18

tester   ~0038110

Dear kgv,
could you please review test case
bugs vis(004) bug25854

git

2015-03-05 10:19

administrator   ~0038120

Branch CR25854_1 has been updated by kgv.

SHA-1: 68640906609236493e5ae1dd7ec611dff7b5084b


Detailed log of new commits:

Author: kgv
Date: Thu Mar 5 10:19:22 2015 +0300

    Aspect_GraphicCallbackStruct::IsCoreProfile - add new field to the struct for NIS

kgv

2015-03-05 10:22

developer   ~0038121

Last edited: 2015-03-05 10:22

In branch CR25854_1, fixed CoreProfile check in NIS_View (dead code) on NVIDIA drivers.
It should be sufficient to check only test case for this bug (bugs/vis/bug25854).

git

2015-03-18 13:39

administrator   ~0038617

Branch CR25854 has been deleted by inv.

SHA-1: 6870b15c6a6fa16964cacd0e8440a31eacce25b8

git

2015-03-18 13:39

administrator   ~0038618

Branch CR25854_1 has been deleted by inv.

SHA-1: 68640906609236493e5ae1dd7ec611dff7b5084b

Related Changesets

occt: master 4e1523ef

2015-03-05 13:00:51

kgv


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

OpenGl_Caps::contextCompatible - new option to request compatibility/core OpenGL profile.
OpenGl_Window - request core profile when requested (WGL and Cocoa).
OpenGl_Context::CheckExtension() - retrieve extensions using glGetStringi().
OpenGl_Context::init() - set backward-compatible functions to NULL within core profile:
core11, core15, core20, core32back, core33back, core41back, core42back, core43back, core44back.
OpenGl_Context::BindDefaultVao() - create default VAO required for core profile.
OpenGl_Context::ReadGlVersion() - make method public.
OpenGl_ShaderManager - create programs using GLSL version 150 when available.
OpenGl_VertexBuffer, OpenGl_ShaderProgram, OpenGl_ShaderObject - use
functions set from core profile instead of compatibility.

TKOpenGl - escape deprecated functionality with runtime checks.

Command vcaps - add option -compatibleProfile to request core/compatibility profile.
NIS_View - prevenr rendering within Core profile (unsupported).

Test case for issue CR25854

Aspect_GraphicCallbackStruct::IsCoreProfile - add new field to the struct for NIS
Affected Issues
0025854
mod - src/Aspect/Aspect_GraphicCallbackProc.hxx Diff File
mod - src/NIS/NIS_View.cxx Diff File
mod - src/OpenGl/OpenGl_AspectFace.cxx Diff File
mod - src/OpenGl/OpenGl_AspectLine.cxx Diff File
mod - src/OpenGl/OpenGl_AspectMarker.cxx Diff File
mod - src/OpenGl/OpenGl_AspectText.cxx Diff File
mod - src/OpenGl/OpenGl_Caps.cxx Diff File
mod - src/OpenGl/OpenGl_Caps.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_Context_1.mm Diff File
mod - src/OpenGl/OpenGl_LineAttributes.cxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderObject.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderProgram.cxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.hxx Diff File
mod - src/OpenGl/OpenGl_TextureBufferArb.cxx Diff File
mod - src/OpenGl/OpenGl_VertexBuffer.cxx Diff File
mod - src/OpenGl/OpenGl_VertexBuffer.lxx Diff File
mod - src/OpenGl/OpenGl_View_2.cxx Diff File
mod - src/OpenGl/OpenGl_Window.cxx Diff File
mod - src/OpenGl/OpenGl_Window_1.mm Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace_5.cxx Diff File
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - tests/bugs/vis/bug25854 Diff File

Issue History

Date Modified Username Field Change
2015-02-23 18:54 kgv New Issue
2015-02-23 18:54 kgv Assigned To => kgv
2015-02-23 18:54 kgv Relationship added child of 0024838
2015-02-23 18:55 kgv Status new => assigned
2015-02-23 18:55 kgv Summary Visualization, TKOpenGl - add option to requiest Core profile 3.2+ => Visualization, TKOpenGl - add option to request Core profile 3.2+
2015-02-23 19:10 git Note Added: 0037787
2015-02-24 15:04 git Note Added: 0037815
2015-02-24 15:05 kgv Note Added: 0037818
2015-02-24 15:05 kgv Assigned To kgv => san
2015-02-24 15:05 kgv Status assigned => resolved
2015-02-26 15:45 git Note Added: 0037929
2015-02-26 17:07 san Note Added: 0037931
2015-02-26 17:07 san Assigned To san => bugmaster
2015-02-26 17:07 san Status resolved => reviewed
2015-02-26 17:30 mkv Assigned To bugmaster => mkv
2015-02-27 16:26 mkv Note Added: 0037952
2015-02-27 16:26 mkv Assigned To mkv => kgv
2015-02-27 16:26 mkv Status reviewed => assigned
2015-02-28 10:16 git Note Added: 0037972
2015-02-28 17:51 git Note Added: 0037975
2015-02-28 17:52 kgv Note Added: 0037976
2015-02-28 17:52 kgv Assigned To kgv => bugmaster
2015-02-28 17:52 kgv Status assigned => resolved
2015-02-28 17:52 kgv Status resolved => reviewed
2015-03-02 12:33 mkv Assigned To bugmaster => mkv
2015-03-04 19:15 mkv Note Added: 0038108
2015-03-04 19:15 mkv Assigned To mkv => kgv
2015-03-04 19:15 mkv Status reviewed => assigned
2015-03-04 19:18 git Note Added: 0038109
2015-03-04 19:18 mkv Note Added: 0038110
2015-03-04 19:19 mkv Test case number => bugs vis(004) bug25854
2015-03-05 10:19 git Note Added: 0038120
2015-03-05 10:22 kgv Note Added: 0038121
2015-03-05 10:22 kgv Assigned To kgv => bugmaster
2015-03-05 10:22 kgv Status assigned => resolved
2015-03-05 10:22 kgv Status resolved => reviewed
2015-03-05 10:22 kgv Note Edited: 0038121
2015-03-05 14:21 mkv Assigned To bugmaster => mkv
2015-03-06 15:13 bugmaster Changeset attached => occt master 4e1523ef
2015-03-06 15:13 bugmaster Assigned To mkv => bugmaster
2015-03-06 15:13 bugmaster Status reviewed => verified
2015-03-06 15:13 bugmaster Resolution open => fixed
2015-03-18 13:39 git Note Added: 0038617
2015-03-18 13:39 git Note Added: 0038618
2015-04-01 14:40 kgv Relationship added parent of 0026002
2015-05-14 15:28 aiv Status verified => closed
2015-05-14 15:31 aiv Fixed in Version => 6.9.0
2015-09-28 20:22 kgv Relationship added parent of 0026732