View Issue Details

IDProjectCategoryView StatusLast Update
0031668Open CASCADEOCCT:Visualizationpublic2020-12-02 17:13
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWebAssembly 
Product Version7.5.0 
Target Version7.5.0Fixed in Version7.5.0 
Summary0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39
DescriptionBuilding 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'


TagsNo tags attached.
Test case numberNot required

Relationships

related to 0031583 closedbugmaster Open CASCADE Visualization, OpenGl_Context - load OpenGL ES 3.0 functions 
related to 0031671 closedbugmaster Open CASCADE Coding Rules - eliminate warnings issued by clang 11 

Activities

git

2020-07-16 16:13

administrator   ~0093154

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.

git

2020-07-16 16:39

administrator   ~0093155

Branch CR31668 has been updated forcibly by kgv.

SHA-1: 67f30ce4209d22c045eac2de99aafb07ecd360d3

git

2020-07-16 16:43

administrator   ~0093156

Branch CR31668 has been updated forcibly by kgv.

SHA-1: 5999534e5ceae3e3c6faada1dfcf5a8bc594db01

git

2020-07-16 16:53

administrator   ~0093159

Branch CR31668 has been updated forcibly by kgv.

SHA-1: 4ec21d3e1a756f3f7f023a8343a5d9f5cb7a2086

git

2020-07-16 16:55

administrator   ~0093160

Branch CR31668 has been updated forcibly by kgv.

SHA-1: 2e51b9b7ca83ce39f872adf4b4ae89c14151220e

kgv

2020-07-16 17:30

developer   ~0093161

Patch is ready for review.

git

2020-07-17 11:19

administrator   ~0093168

Branch CR31668 has been updated forcibly by kgv.

SHA-1: d577a90fd9f594ac47cc2a1fe97c95043255af67

git

2020-07-17 11:36

administrator   ~0093169

Branch CR31668 has been updated forcibly by kgv.

SHA-1: e543a3a5f0702f86d5f0ebbe32e4e90225d1f9e8

git

2020-07-17 11:52

administrator   ~0093170

Branch CR31668 has been updated forcibly by kgv.

SHA-1: 3b61fbdd90ec7e2ebb8f85ded5a9275df4ba5c13

osa

2020-07-17 12:06

developer   ~0093171

The patch was reviewed

bugmaster

2020-07-25 13:20

administrator   ~0093310

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

git

2020-07-25 14:03

administrator   ~0093346

Branch CR31668 has been deleted by inv.

SHA-1: 3b61fbdd90ec7e2ebb8f85ded5a9275df4ba5c13

Related Changesets

occt: master 7465bfa6

2020-07-16 13:15:22

kgv


Committer: bugmaster Details Diff
0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39

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.
Message_PrinterSystemLog does not use a broken emscripten_log() anymore, which corrupted UNICODE strings.

WasmOcctView::initWindow() - callbacks now set using EMSCRIPTEN_EVENT_TARGET_WINDOW
instead of 0 used by older Emscripten API.

Mouse callbacks now track canvas element and use
EmscriptenMouseEvent::targetX/targetY instead of ::canvasX/canvasY
as the latter was broken.

Added emscripten_set_main_loop() setup to shut up eglSwapInterval() error message.
Fixed missing \0 at the end of string converted by toUtf8Array().
Affected Issues
0031668
mod - samples/webgl/main.cpp Diff File
mod - samples/webgl/occt-webgl-sample.html Diff File
mod - samples/webgl/WasmOcctView.cpp Diff File
mod - src/Message/Message_PrinterSystemLog.cxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_GlCore30.hxx Diff File

Issue History

Date Modified Username Field Change
2020-07-16 16:10 kgv New Issue
2020-07-16 16:10 kgv Assigned To => kgv
2020-07-16 16:13 git Note Added: 0093154
2020-07-16 16:39 git Note Added: 0093155
2020-07-16 16:43 git Note Added: 0093156
2020-07-16 16:53 git Note Added: 0093159
2020-07-16 16:54 kgv Relationship added related to 0031583
2020-07-16 16:55 kgv Summary Visualization - WebGL sample doesn't work on latest Emscripten => Visualization - WebGL sample doesn't work on Emscripten 1.39
2020-07-16 16:55 kgv Description Updated
2020-07-16 16:55 git Note Added: 0093160
2020-07-16 17:30 kgv Note Added: 0093161
2020-07-16 17:30 kgv Assigned To kgv => osa
2020-07-16 17:30 kgv Status new => resolved
2020-07-17 11:19 git Note Added: 0093168
2020-07-17 11:36 git Note Added: 0093169
2020-07-17 11:52 git Note Added: 0093170
2020-07-17 12:06 osa Note Added: 0093171
2020-07-17 12:06 osa Assigned To osa => bugmaster
2020-07-17 12:06 osa Status resolved => reviewed
2020-07-17 13:30 kgv Platform => WebAssembly
2020-07-17 13:31 kgv OS Version => Emscripten 1.39
2020-07-17 15:08 kgv Relationship added related to 0031671
2020-07-25 13:20 bugmaster Note Added: 0093310
2020-07-25 13:20 bugmaster Status reviewed => tested
2020-07-25 13:28 bugmaster Test case number => Not required
2020-07-25 13:57 bugmaster Changeset attached => occt master 7465bfa6
2020-07-25 13:57 bugmaster Status tested => verified
2020-07-25 13:57 bugmaster Resolution open => fixed
2020-07-25 14:03 git Note Added: 0093346
2020-12-02 16:43 emo Fixed in Version => 7.5.0
2020-12-02 17:13 emo Status verified => closed