View Issue Details

IDProjectCategoryView StatusLast Update
0032101Open CASCADEOCCT:Visualizationpublic2021-02-06 14:29
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.5.0 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032101: Visualization, TKOpenGl - use GL_UNPACK_ROW_LENGTH within OpenGL ES 3.0 / WebGL 2.0
DescriptionOpenGl_Texture includes optimal code paths basing on GL_UNPACK_ROW_LENGTH property which are disabled within OpenGL ES context:
  #if !defined(GL_ES_VERSION_2_0)
    // notice that GL_UNPACK_ROW_LENGTH is not available on OpenGL ES 2.0 without GL_EXT_unpack_subimage extension
    const GLint anExtraBytes = GLint(theImage->RowExtraBytes());
    const GLint aPixelsWidth = GLint(theImage->SizeRowBytes() / theImage->SizePixelBytes());
    glPixelStorei (GL_UNPACK_ROW_LENGTH, (anExtraBytes >= anAligment) ? aPixelsWidth : 0);
  #endif


OpenGL ES 3.0 supports GL_UNPACK_ROW_LENGTH, so that it is desired checking this feature in runtime, not in compiler time.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required

Activities

git

2021-02-01 20:44

administrator   ~0098585

Branch CR32101 has been created by kgv.

SHA-1: 0919904a0568849d31c819e5481bba7e037efb27


Detailed log of new commits:

Author: kgv
Date: Mon Feb 1 20:46:00 2021 +0300

    0032101: Visualization, TKOpenGl - use GL_UNPACK_ROW_LENGTH within OpenGL ES 3.0 / WebGL 2.0
    
    Added OpenGl_Context::hasUnpackRowLength property for using GL_UNPACK_ROW_LENGTH in runtime.
    OpenGl_Texture now uses GL_UNPACK_ROW_LENGTH on OpenGL ES 3.0 when necessary.
    OpenGl_Texture::InitCubeMap() now allows uploading vertically-stacked cubemaps
    without GL_UNPACK_ROW_LENGTH requirement.

git

2021-02-01 21:18

administrator   ~0098586

Branch CR32101 has been updated forcibly by kgv.

SHA-1: c28da5c6629d761d985010e5378f86174cb5576f

kgv

2021-02-02 00:44

developer   ~0098595

Patch is ready for review
- OCCT branch: CR32101.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32101-master-KGV/

osa

2021-02-02 11:54

developer   ~0098605

The patch was reviewed

bugmaster

2021-02-06 14:15

administrator   ~0098713

Combination -
OCCT branch : IR-2021-02-05
master SHA - d918913f1cfa6df6852ccc3cab50aae2b5a29821
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2021-02-05 SHA - 7f3780c87f7b9ca7bc315437ae37fd3815a4316d
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: 17801.74000000001 / 17781.070000000076 [+0.12%]
Products
Total CPU difference: 11522.820000000105 / 11527.24000000011 [-0.04%]
Windows-64-VC14:
OCCT
Total CPU difference: 19371.578125 / 19391.0625 [-0.10%]
Products
Total CPU difference: 12882.46875 / 12836.03125 [+0.36%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-02-06 14:29

administrator   ~0098736

Branch CR32101 has been deleted by inv.

SHA-1: c28da5c6629d761d985010e5378f86174cb5576f

Related Changesets

occt: master e1d17ceb

2021-02-01 17:46:00

kgv


Committer: bugmaster Details Diff
0032101: Visualization, TKOpenGl - use GL_UNPACK_ROW_LENGTH within OpenGL ES 3.0 / WebGL 2.0

Added OpenGl_Context::hasUnpackRowLength property for using GL_UNPACK_ROW_LENGTH in runtime.
OpenGl_Texture now uses GL_UNPACK_ROW_LENGTH on OpenGL ES 3.0 when necessary.
OpenGl_Texture::InitCubeMap() now allows uploading vertically-stacked cubemaps
without GL_UNPACK_ROW_LENGTH requirement.
Affected Issues
0032101
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_Font.cxx Diff File
mod - src/OpenGl/OpenGl_FrameBuffer.cxx Diff File
mod - src/OpenGl/OpenGl_Texture.cxx Diff File

Issue History

Date Modified Username Field Change
2021-02-01 17:21 kgv New Issue
2021-02-01 17:21 kgv Assigned To => kgv
2021-02-01 20:44 git Note Added: 0098585
2021-02-01 21:18 git Note Added: 0098586
2021-02-02 00:44 kgv Note Added: 0098595
2021-02-02 00:44 kgv Assigned To kgv => osa
2021-02-02 00:44 kgv Status new => resolved
2021-02-02 11:54 osa Note Added: 0098605
2021-02-02 11:54 osa Assigned To osa => bugmaster
2021-02-02 11:54 osa Status resolved => reviewed
2021-02-06 14:15 bugmaster Note Added: 0098713
2021-02-06 14:15 bugmaster Status reviewed => tested
2021-02-06 14:18 bugmaster Test case number => Not required
2021-02-06 14:24 bugmaster Changeset attached => occt master e1d17ceb
2021-02-06 14:24 bugmaster Status tested => verified
2021-02-06 14:24 bugmaster Resolution open => fixed
2021-02-06 14:29 git Note Added: 0098736