MantisBT - Open CASCADE
View Issue Details
0031668Open CASCADE[OCCT] OCCT:Visualizationpublic2020-07-16 16:102020-07-25 14:03
kgv 
bugmaster 
normalminor 
verifiedfixed 
WebAssemblyEmscripten 1.39
[OCCT] 7.5.0* 
[OCCT] 7.5.0* 
Not required
0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39
Building WebGL sample using latest Emscripten release 1.39 switched from fastcomp to upstream (LLVM) toolchain results in numerous errors and non-working input.

First blocking error:
Uncaught (in promise) DOMException: Document.querySelector: '0' is not a valid selector occt-webgl-sample.js:9416



next error specific to eglSetSwapInterval():
emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! 
Call emscripten_set_main_loop first to set one up.


another one related to eglGetProcAddress() for functions required by OpenGL ES 3.0 specs:
TKOpenGl | Type: Error | ID: 0 | Severity: High | Message:
  Error! OpenGL context reports version 3.0 but does not export required functions for 3.0 (glMapBufferRange)

Please report this issue to OpenGL driver vendor 'mozilla'


No tags attached.
related to 0031583verified bugmaster Open CASCADE Visualization, OpenGl_Context - load OpenGL ES 3.0 functions 
related to 0031671verified bugmaster Open CASCADE Coding Rules - eliminate warnings issued by clang 11 
Issue History
2020-07-16 16:10kgvNew Issue
2020-07-16 16:10kgvAssigned To => kgv
2020-07-16 16:13gitNote Added: 0093154
2020-07-16 16:39gitNote Added: 0093155
2020-07-16 16:43gitNote Added: 0093156
2020-07-16 16:53gitNote Added: 0093159
2020-07-16 16:54kgvRelationship addedchild of 0031070
2020-07-16 16:54kgvRelationship addedrelated to 0031583
2020-07-16 16:55kgvSummaryVisualization - WebGL sample doesn't work on latest Emscripten => Visualization - WebGL sample doesn't work on Emscripten 1.39
2020-07-16 16:55kgvDescription Updatedbug_revision_view_page.php?rev_id=23152#r23152
2020-07-16 16:55gitNote Added: 0093160
2020-07-16 17:30kgvNote Added: 0093161
2020-07-16 17:30kgvAssigned Tokgv => osa
2020-07-16 17:30kgvStatusnew => resolved
2020-07-17 11:19gitNote Added: 0093168
2020-07-17 11:36gitNote Added: 0093169
2020-07-17 11:52gitNote Added: 0093170
2020-07-17 12:06osaNote Added: 0093171
2020-07-17 12:06osaAssigned Toosa => bugmaster
2020-07-17 12:06osaStatusresolved => reviewed
2020-07-17 13:30kgvPlatform => WebAssembly
2020-07-17 13:31kgvOS Version => Emscripten 1.39
2020-07-17 15:08kgvRelationship addedrelated to 0031671
2020-07-25 13:20bugmasterNote Added: 0093310
2020-07-25 13:20bugmasterStatusreviewed => tested
2020-07-25 13:28bugmasterTest case number => Not required
2020-07-25 13:57bugmasterChangeset attached => occt master 7465bfa6
2020-07-25 13:57bugmasterStatustested => verified
2020-07-25 13:57bugmasterResolutionopen => fixed
2020-07-25 14:03gitNote Added: 0093346

Notes
(0093154)
git   
2020-07-16 16:13   
Branch CR31668 has been created by kgv.

SHA-1: 3df29a7ba050ee522b4858fe764cbc2df5d0d757


Detailed log of new commits:

Author: kgv
Date: Thu Jul 16 16:15:22 2020 +0300

    0031668: Visualization - WebGL sample doesn't work on latest Emscripten
    
    OpenGl_Context now skips loading functions related to mapping buffer,
    which are required by OpenGL ES 3.0 specs but not provided by WebGL 2.0.
    
    WasmOcctView::initWindow() - callbacks now set using EMSCRIPTEN_EVENT_TARGET_WINDOW
    instead of 0 used by older Emscripten API.
    Added emscripten_set_main_loop() setup to shut up eglSetSwapInterval() error.
(0093155)
git   
2020-07-16 16:39   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: 67f30ce4209d22c045eac2de99aafb07ecd360d3
(0093156)
git   
2020-07-16 16:43   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: 5999534e5ceae3e3c6faada1dfcf5a8bc594db01
(0093159)
git   
2020-07-16 16:53   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: 4ec21d3e1a756f3f7f023a8343a5d9f5cb7a2086
(0093160)
git   
2020-07-16 16:55   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: 2e51b9b7ca83ce39f872adf4b4ae89c14151220e
(0093161)
kgv   
2020-07-16 17:30   
Patch is ready for review.
(0093168)
git   
2020-07-17 11:19   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: d577a90fd9f594ac47cc2a1fe97c95043255af67
(0093169)
git   
2020-07-17 11:36   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: e543a3a5f0702f86d5f0ebbe32e4e90225d1f9e8
(0093170)
git   
2020-07-17 11:52   
Branch CR31668 has been updated forcibly by kgv.

SHA-1: 3b61fbdd90ec7e2ebb8f85ded5a9275df4ba5c13
(0093171)
osa   
2020-07-17 12:06   
The patch was reviewed
(0093310)
bugmaster   
2020-07-25 13:20   
Combination -
OCCT branch : IR-2020-07-24
master SHA - 4c7a3faef5f292475c23ee615ad49d57fc039b58
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-07-24 SHA - be95aa91db3bd344c872901349e58022d3c687fc
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17271.39000000011 / 17230.04000000007 [+0.24%]
Products
Total CPU difference: 800.6699999999917 / 791.7399999999936 [+1.13%]
Windows-64-VC14:
OCCT
Total CPU difference: 18742.140625 / 18745.390625 [-0.02%]
Products
Total CPU difference: 1329.234375 / 1321.390625 [+0.59%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0093346)
git   
2020-07-25 14:03   
Branch CR31668 has been deleted by inv.

SHA-1: 3b61fbdd90ec7e2ebb8f85ded5a9275df4ba5c13