View Issue Details

IDProjectCategoryView StatusLast Update
0025147Open CASCADEOCCT:Visualizationpublic2019-05-25 19:07
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version6.8.0Fixed in Version6.8.0 
Summary0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
DescriptionEGL is a universal interface between OpenGL and native platform window systems.
On some systems it can be used as an alternative to traditional interfaces (WGL on Windows, GLX on systems with Xlib), but some support EGL as main API (Wayland, Android, BlackBerry 10).
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0024776 closedkgv Open CASCADE Visualization - inherit OpenGl_View from Graphic3d_CView 
parent of 0025158 closedbugmaster Open CASCADE Visualization, OpenGl_Context - support EGL as alternative to WGL and GLX 
parent of 0030745 closedbugmaster Open CASCADE Visualization, TKOpenGl - fix initialization of GLES3 context 
related to 0024868 assignedvpozdyayev Community Visulization, TKOpenGl - Exception when many views are created 
child of 0025146 closedbugmaster Open CASCADE Porting to Android 

Activities

git

2014-08-14 19:35

administrator   ~0030758

Branch CR25147 has been created by kgv.

SHA-1: 23b7001885fe47602fdf6beac4865fa5ce726d44


This branch includes the following new commits:

       new 23b7001 0025147: Visualization, TKOpenGl - support EGL as alternative to GLX


Detailed log of new commits:

commit 23b7001885fe47602fdf6beac4865fa5ce726d44
Author: kgv
Date: Thu Aug 14 19:35:16 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX

git

2014-08-15 09:18

administrator   ~0030762

Branch CR25147 has been updated forcibly by kgv.

SHA-1: c2d9141da8c5ee6970898fcf027bf344d9675049

git

2014-08-26 21:33

administrator   ~0031111

Branch CR25147_1 has been created by kgv.

SHA-1: 0bfd95b356b562e7d82dc95dd09505341fd59fb7


Detailed log of new commits:

Author: kgv
Date: Tue Aug 26 21:33:22 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX

git

2014-08-27 00:13

administrator   ~0031112

Branch CR25147_1 has been updated by kgv.

SHA-1: f88d4213787e0d0dabc46dbbf98f60e4a4c0dbc6


Detailed log of new commits:

Author: kgv
Date: Wed Aug 27 00:13:14 2014 +0400

    TKOpenGl - disable usage of Display Lists on OpenGL ES

Author: kgv
Date: Wed Aug 27 00:09:14 2014 +0400

    OpenGl_PrimitiveArray - disable glPointSize() calls on OpenGL ES 2.0+

Author: kgv
Date: Wed Aug 27 00:08:34 2014 +0400

    OpenGl_VertexBuffer - disable binding method for fixed pipeline on OpenGL ES 2.0+

Author: kgv
Date: Wed Aug 27 00:06:32 2014 +0400

    TKOpenGl - temporarily disable GLU calls

Author: kgv
Date: Wed Aug 27 00:03:53 2014 +0400

    OpenGl_Core - filter OpenGL ES 2.0 functions

git

2014-08-27 03:27

administrator   ~0031113

Branch CR25147_1 has been updated by kgv.

SHA-1: ff070c798a9c5127fa9cc64f034af407d9b06f35


Detailed log of new commits:

Author: kgv
Date: Wed Aug 27 03:20:46 2014 +0400

    OpenGl_GraphicDriver - request OpenGL ES 1.1 context using EGL

Author: kgv
Date: Wed Aug 27 03:20:09 2014 +0400

    TKOpenGl - adopt compilation within OpenGL ES 1.1

Author: kgv
Date: Wed Aug 27 03:15:58 2014 +0400

    OpenGl 2D layers - disable usage of Display Lists in OpenGL ES context

git

2014-09-04 16:47

administrator   ~0031383

Branch CR25147_3 has been created by kgv.

SHA-1: f69eb5a8ce2cb70ad6af8068068ba650579481ca


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 16:37:03 2014 +0400

    Visualization, TKOpenGl - disable functions unavailable on OpenGL ES 2.0

Author: kgv
Date: Thu Sep 4 14:07:27 2014 +0400

    0025215: Porting to Android - fix minor issues
    
    STEPConstruct_AP203Context = pw_gecos member of passwd struct disabled in android case.
    Standard_Atomic - correct usage of __atomic_inc()/__atomic_dec().
    Standard_CLocaleSentry - Android doesn't support locales in the C library.
    Standard_MMgrOpt - use "/dev/zero" and "/dev/null" for allocation of memory blocks on Android.

Author: kgv
Date: Thu Sep 4 16:37:27 2014 +0400

    Visualization, TKOpenGl - setup EGL context

Author: kgv
Date: Thu Sep 4 15:50:28 2014 +0400

    0025216: WNT_Window - remove unused fields and types (WNT_WindowData)
    
    Clean up InterfaceGraphic.hxx

git

2014-09-05 08:39

administrator   ~0031393

Branch CR25147_3 has been updated forcibly by kgv.

SHA-1: 3f2aba944a0dd1d74430d37e0b7482ab62f1a1e7

git

2014-09-05 08:47

administrator   ~0031394

Branch CR25147_3 has been updated by kgv.

SHA-1: 7f51631176e483190066497dc33bd7d113fb207a


Detailed log of new commits:

Author: kgv
Date: Fri Sep 5 08:47:32 2014 +0400

    OSD_Chronometer - fix compilation on Android

git

2014-09-05 12:43

administrator   ~0031407

Branch CR25147_4 has been created by kgv.

SHA-1: 44c76efa95158c6af1e6302fd54824129ca4108f


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 16:37:27 2014 +0400

    Visualization, TKOpenGl - setup EGL context

Author: kgv
Date: Thu Sep 4 15:50:28 2014 +0400

    0025216: WNT_Window - remove unused fields and types (WNT_WindowData)
    
    Clean up InterfaceGraphic.hxx

Author: ibs
Date: Thu Aug 28 12:14:30 2014 +0400

    gl2ps using and install directives disabled for android

Author: kgv
Date: Wed Aug 27 12:31:51 2014 +0400

    0025148: Visualization - drop TKNIS toolkit

Author: kgv
Date: Fri Sep 5 12:36:17 2014 +0400

    0025219: Visualization, TKOpenGl - disable code paths unavailable on OpenGL ES 2.0

Author: kgv
Date: Fri Sep 5 09:15:37 2014 +0400

    0025213: Visualization, TKOpenGl - do not use deprecated built-ins in GLSL shaders
    
    Inherit NCollection_Buffer from Standard_Transient, do not use incomplete NCollection_Handle.
    
    OpenGl_Context, add methods ActiveProgram(),BindProgram()
    to manage currently active GLSL program.
    Add method ::ToUseVbo().
    
    OpenGl_ShaderProgram, setup locations of pre-defined vertex attributes
    occVertex, occNormal, occTexCoord, occColor before linkage.
    Remove methods OpenGl_ShaderProgram::Bind(), ::BindWithVariables()
    and ::Unbind() - OpenGl_Context::BindProgram() should be used instead.
    
    Introduce class OpenGl_VertexBufferCompat, which emulates VBO
    behavior on systems without VBO (compatibility with broken OpenGL drivers on Windows).
    
    OpenGl_PrimitiveArray - use OpenGl_VertexBufferCompat when VBO is unavailable,
    remove duplicated code. Use OpenGl_VertexBuffer::HasNormalAttribute()
    method to activate lighting.
    
    OpenGl_Text - use OpenGl_VertexBufferCompat, eliminate duplicated code.
    
    Changes in OpenGl_VertexBuffer, drop methods BindFixed()/UnbindFixed().
    Superseded by new methods BindAllAttributes()/UnbindAllAttributes()
    which handle active GLSL program, when it is set.

Author: kgv
Date: Fri Sep 5 08:50:24 2014 +0400

    0025215: Porting to Android - fix minor issues
    
    STEPConstruct_AP203Context = pw_gecos member of passwd struct disabled in android case.
    Standard_Atomic - correct usage of __atomic_inc()/__atomic_dec().
    Standard_CLocaleSentry - Android doesn't support locales in the C library.
    Standard_MMgrOpt - use "/dev/zero" and "/dev/null" for allocation of memory blocks on Android.
    OSD_Chronometer - fix compilation on Android.

git

2014-09-05 14:21

administrator   ~0031413

Branch CR25147_4 has been updated by kgv.

SHA-1: 663063d85ecda862f2e9be59e7d1404a5e69414a


Detailed log of new commits:

Author: kgv
Date: Fri Sep 5 14:21:07 2014 +0400

    OSD_Disk, OSD_signal - fix compilation issues on Android

git

2014-09-05 16:29

administrator   ~0031422

Branch CR25147_4 has been updated forcibly by kgv.

SHA-1: f0b0fcafea23bf962296127d92ceae3e5c916da5

git

2014-09-05 18:01

administrator   ~0031428

Branch CR25147_4 has been updated forcibly by kgv.

SHA-1: 2b9d38e4e8cb73206111ddd11131e49e5e8a072a

git

2014-09-05 19:30

administrator   ~0031432

Branch CR25147_4 has been updated forcibly by kgv.

SHA-1: a6cd5bb7e86fecb07546773eb7d6c45c8ccddd96

git

2014-09-12 12:54

administrator   ~0031657

Branch CR25147_4 has been updated by ibs.

SHA-1: 0197d67b46404929ef3143a01116993079b34585


Detailed log of new commits:

Author: ibs
Date: Fri Sep 12 12:40:19 2014 +0400

    swap buffers turned off

git

2014-09-17 16:10

administrator   ~0031815

Branch CR25147_5 has been created by kgv.

SHA-1: 9d0d5000f1ab4cee803d076fd86eacee2a00cc48


Detailed log of new commits:

Author: kgv
Date: Wed Sep 17 15:46:21 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
    
    Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
    OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
    OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.

git

2014-09-29 16:51

administrator   ~0032319

Branch CR25147_6 has been created by kgv.

SHA-1: 42eaf0dda4d1b4ceb26aee288b88c0dd70e3ac88


Detailed log of new commits:

Author: kgv
Date: Wed Sep 17 15:46:21 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
    
    Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
    OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
    OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.

kgv

2014-09-29 16:52

developer   ~0032320

Dear bugmaster,

please test patch in branch CR25147_6.

git

2014-09-29 23:28

administrator   ~0032365

Branch CR25147 has been deleted by kgv.

SHA-1: c2d9141da8c5ee6970898fcf027bf344d9675049

git

2014-09-29 23:33

administrator   ~0032367

Branch CR25147_1 has been deleted by kgv.

SHA-1: ff070c798a9c5127fa9cc64f034af407d9b06f35

mkv

2014-09-30 17:06

tester   ~0032465

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

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 1 (0 on master)

There is new additional compilation warning on Windows platform:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/job/mnt-CR25147_6-master_build_occt_windows/5/warnings30Result/
OpenGl_GraphicDriver.cxx:54, MSBuild, Priority: Normal
'theToStealActiveContext' : unreferenced formal parameter

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

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 397792364 / 397680656
Total CPU difference: 48318.670000000006 / 46596.30000000006
products component :
Total MEMORY difference: 124706268 / 124607824
Total CPU difference: 15974.219999999987 / 14765.679999999953

Testing on Windows:
occt component :
Total MEMORY difference: 254484208 / 279236240
Total CPU difference: 32776.671875 / 39387.8125
products component :
Total MEMORY difference: 66797116 / 66961000
Total CPU difference: 11111.59375 / 11236.0625

There are no differences in images found by testdiff.

git

2014-09-30 18:51

administrator   ~0032474

Branch CR25147_6 has been updated by kgv.

SHA-1: 7633e0fbfef2f940c1d789985bf363ad19196855


Detailed log of new commits:

Author: kgv
Date: Tue Sep 30 18:51:16 2014 +0400

    fix unused argument warning

Author: kgv
Date: Mon Sep 29 18:06:51 2014 +0400

    trash

git

2014-09-30 18:55

administrator   ~0032475

Branch CR25147_6 has been updated forcibly by kgv.

SHA-1: 4f946df92a300f9dedb85068747c0a3dbd0d5f0d

kgv

2014-09-30 18:56

developer   ~0032476

Warning has been fixed.

mkv

2014-10-01 11:22

tester   ~0032494

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

Number of compiler warnings:

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

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

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 398008632 / 397669948
Total CPU difference: 48305.18000000008 / 46596.14000000006
products component :
Total MEMORY difference: 124706732 / 124645448
Total CPU difference: 15551.68999999998 / 14771.669999999953

Testing on Windows:
occt component :
Total MEMORY difference: 250292288 / 251148280
Total CPU difference: 35558.453125 / 38607.0625
products component :
Total MEMORY difference: 70534312 / 66631884
Total CPU difference: 10207.296875 / 11155.78125

There are no differences in images found by testdiff.

git

2014-10-02 13:46

administrator   ~0032570

Branch CR25147_25282 has been created by kgv.

SHA-1: 3e8a422afbc2c3fa1377c9114bc62e558bbfe373


Detailed log of new commits:

Author: kgv
Date: Thu Oct 2 13:46:27 2014 +0400

    0025282: Visualization, OpenGl_PrimitiveArray - provide built-in GLSL programs as alternative to FFP
    
    Enumerations Visual3d_TypeOfModel, V3d_TypeOfShadingModel.
    - Remove unused values V3d_MULTICOLOR, V3d_HIDDEN, Visual3d_TOM_INTERP_COLOR.
    - Add per-pixel shading mode - V3d_PHONG, Visual3d_TOM_FRAGMENT.
    
    Draw Harness command vrenderparams.
    Add option -shadingModel to setup Shading Model.
    
    OpenGl_Caps::ffpEnable - new option to switch FFP/built-in GLSL programs.
    OpenGl_ShaderManager - add built-in GLSL programs.
    
    Draw Harness command vcaps.
    - Fix command syntax to meet coding rules.
    - Add option -ffp to activate/disable built-in GLSL programs.
    
    GLSL API changes.
    - Rename vertex attribute occColor -> occVertColor.
    - Introduce vec4 occColor uniform variable for light-less shaders.
    - Introduce float occPointSize uniform variable for marker programs.
    
    OpenGl_VertexBuffer::bindAttribute() - activate normalization for non-GL_FLOAT types,
    since color attribute is defined as 32-bit vector of 4 unsigned byte values.
    
    OpenGl_Context - add methods SetColor4fv() and SetPointSize()
    for parameters redirection to active GLSL program
    (as alternative to glColor4fv() and glPointSize()).
    
    OpenGl_ShaderProgram - define default precision for float types
    in Fragment Shader within OpenGL ES 2.0+ context.
    
    OpenGl_AspectMarker, initialize Aspect_TOM_O_POINT display list
    in the same way as sprite texture.
    
    OpenGl_Texture, do not use sized internal formats on OpenGL ES.

Author: kgv
Date: Thu Oct 2 13:43:33 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
    
    Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
    OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
    OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.

kgv

2014-10-02 13:47

developer   ~0032571

Please use branch CR25147_25282 for IR, rebased on 0025147 (resolving trivial merge conflict).

git

2014-10-21 16:43

administrator   ~0033448

Branch CR25147_25282 has been deleted by inv.

SHA-1: 3e8a422afbc2c3fa1377c9114bc62e558bbfe373

git

2014-10-21 16:44

administrator   ~0033458

Branch CR25147_6 has been deleted by inv.

SHA-1: 4f946df92a300f9dedb85068747c0a3dbd0d5f0d

git

2014-10-21 16:45

administrator   ~0033479

Branch CR25147_5 has been deleted by inv.

SHA-1: 9d0d5000f1ab4cee803d076fd86eacee2a00cc48

git

2014-10-21 16:45

administrator   ~0033484

Branch CR25147_4 has been deleted by inv.

SHA-1: 0197d67b46404929ef3143a01116993079b34585

git

2014-10-21 16:45

administrator   ~0033489

Branch CR25147_3 has been deleted by inv.

SHA-1: 7f51631176e483190066497dc33bd7d113fb207a

Related Changesets

occt: master 25b97fac

2014-10-02 09:43:33

kgv


Committer: bugmaster Details Diff
0025147: Visualization, TKOpenGl - support EGL as alternative to GLX

Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.
Affected Issues
0025147
mod - src/Aspect/Aspect_Window.cdl Diff File
mod - src/Cocoa/Cocoa_Window.hxx Diff File
mod - src/OpenGl/OpenGl_Caps.cxx Diff File
mod - src/OpenGl/OpenGl_Caps.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver_7.cxx Diff File
mod - src/OpenGl/OpenGl_Window.cxx Diff File
mod - src/OpenGl/OpenGl_Window.hxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File
mod - src/WNT/WNT_Window.cdl Diff File
mod - src/WNT/WNT_Window.lxx Diff File
mod - src/Xw/Xw_Window.hxx Diff File

Issue History

Date Modified Username Field Change
2014-08-14 09:01 kgv New Issue
2014-08-14 09:01 kgv Assigned To => kgv
2014-08-14 09:01 kgv Summary Visualization, TKOpenGl - support EGL1.4 as alternative to WGL and GLX => Visualization, TKOpenGl - support EGL as alternative to WGL and GLX
2014-08-14 09:01 kgv Relationship added child of 0025146
2014-08-14 19:35 git Note Added: 0030758
2014-08-15 09:18 git Note Added: 0030762
2014-08-15 09:26 kgv Summary Visualization, TKOpenGl - support EGL as alternative to WGL and GLX => Visualization, TKOpenGl - support EGL as alternative to GLX
2014-08-15 09:31 kgv Relationship added related to 0024776
2014-08-18 08:45 kgv Relationship added parent of 0025158
2014-08-26 21:33 git Note Added: 0031111
2014-08-27 00:13 git Note Added: 0031112
2014-08-27 03:27 git Note Added: 0031113
2014-09-04 16:47 git Note Added: 0031383
2014-09-05 08:39 git Note Added: 0031393
2014-09-05 08:47 git Note Added: 0031394
2014-09-05 12:43 git Note Added: 0031407
2014-09-05 14:21 git Note Added: 0031413
2014-09-05 16:29 git Note Added: 0031422
2014-09-05 18:01 git Note Added: 0031428
2014-09-05 19:30 git Note Added: 0031432
2014-09-12 12:54 git Note Added: 0031657
2014-09-17 16:10 git Note Added: 0031815
2014-09-29 16:51 git Note Added: 0032319
2014-09-29 16:52 kgv Note Added: 0032320
2014-09-29 16:52 kgv Assigned To kgv => bugmaster
2014-09-29 16:52 kgv Status new => resolved
2014-09-29 16:52 kgv Status resolved => reviewed
2014-09-29 16:54 mkv Assigned To bugmaster => mkv
2014-09-29 22:29 kgv Relationship added related to 0024868
2014-09-29 23:28 git Note Added: 0032365
2014-09-29 23:33 git Note Added: 0032367
2014-09-30 17:06 mkv Note Added: 0032465
2014-09-30 17:06 mkv Assigned To mkv => kgv
2014-09-30 17:06 mkv Status reviewed => assigned
2014-09-30 17:06 mkv Test case number => Not needed
2014-09-30 18:51 git Note Added: 0032474
2014-09-30 18:55 git Note Added: 0032475
2014-09-30 18:56 kgv Note Added: 0032476
2014-09-30 18:56 kgv Assigned To kgv => bugmaster
2014-09-30 18:56 kgv Status assigned => resolved
2014-09-30 18:56 kgv Status resolved => reviewed
2014-09-30 20:07 mkv Assigned To bugmaster => mkv
2014-10-01 11:22 mkv Note Added: 0032494
2014-10-01 11:22 mkv Assigned To mkv => bugmaster
2014-10-01 11:22 mkv Status reviewed => tested
2014-10-02 13:46 git Note Added: 0032570
2014-10-02 13:47 kgv Note Added: 0032571
2014-10-03 14:07 bugmaster Changeset attached => occt master 25b97fac
2014-10-03 14:07 bugmaster Status tested => verified
2014-10-03 14:07 bugmaster Resolution open => fixed
2014-10-21 16:43 git Note Added: 0033448
2014-10-21 16:44 git Note Added: 0033458
2014-10-21 16:45 git Note Added: 0033479
2014-10-21 16:45 git Note Added: 0033484
2014-10-21 16:45 git Note Added: 0033489
2014-11-11 12:43 aiv Fixed in Version => 6.8.0
2014-11-11 13:02 aiv Status verified => closed
2019-05-25 19:07 kgv Relationship added parent of 0030745