View Issue Details

IDProjectCategoryView StatusLast Update
0029020Open CASCADEOCCT:Visualizationpublic2019-12-06 14:11
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2015 
Product Version7.1.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver
DescriptionFor some reason, all tested modern Intel GPUs fail dumping 3D viewer content with width>=5462 (the OpenGL driver reports GL_MAX_TEXTURE_SIZE + GL_MAX_VIEWPORT_DIMS as 16384). This happens without any OpenGL error - command produces just an empty content. Note that this limitation occurs only for the width - specifying greater values for a height produces correct image.

It is proposed to enable workaround in OCCT for this known Intel driver bug.
Steps To Reproducetestgrid bugs vis bug29020
TagsNo tags attached.
Test case numberbugs/vis/bug29020

Relationships

related to 0022696 closedbugmaster Community Visualization - Image dump of 3D Viewer is limited to Video hardware limits 

Activities

git

2017-08-18 16:50

administrator   ~0069596

Branch CR29020 has been created by kgv.

SHA-1: b4f65d19766fb6b172a971887ef0a7e57ba0111f


Detailed log of new commits:

Author: kgv
Date: Fri Aug 18 16:48:10 2017 +0300

    0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver

kgv

2018-10-01 08:10

developer   ~0079540

Maxim,

the patch is mostly ready - please update it to current master and create a test case.

git

2018-10-02 12:13

administrator   ~0079590

Branch CR29020_1 has been created by mnv.

SHA-1: c4960a558589d669255fb90afc3e2df562dc96bd


Detailed log of new commits:

Author: mnv
Date: Mon Oct 1 13:53:37 2018 +0300

    0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver
    
    Implemented workaround for dump images with width >= 5462 pix on Intel OpenGl driver.
    Changes according to OpenGl_Context::myVendor field in lowercase.

git

2018-10-02 12:39

administrator   ~0079593

Branch CR29020_1 has been updated forcibly by mnv.

SHA-1: 629e9d699af345a56fe76a3ba0b07a0668ceffe9

mnv

2018-10-02 14:52

developer   ~0079596

Patch is ready for review.
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR29020-master-MNV/view/ALL/

kgv

2018-10-02 15:01

developer   ~0079599

+  Graphic3d_TypeOfLimit_MaxViewDumpSizeX,               //!< maximum width  for image dump
+  Graphic3d_TypeOfLimit_MaxViewDumpSizeY,               //!< maximum height for image dump
...
+  Graphic3d_TypeOfLimit_IsWorkaroundFBO,                //!< indicates whether workaround for Intel driver problem with empty FBO for images with big width is applyed.

This is not how it is supposed to be checked.

Please add Graphic3d_TypeOfLimit_MaxViewDumpSizeX_UNSAFE/Graphic3d_TypeOfLimit_MaxViewDumpSizeY_UNSAFE instead.

+      Message::DefaultMessenger()->Send (TCollection_AsciiString ("Info, tiling image dump is used, image size (")
+                                                                 + aFBOVPSize.x() + "x" + aFBOVPSize.y() + ") exceeds hardware limits (" + aMaxTexSizeX + "x" + aMaxTexSizeY + ")", Message_Info);

"Trace" should be enough.

Message::DefaultMessenger ()->Send (TCollection_AsciiString ("Warning, workaround for Intel driver problem with empty FBO for images with big width is applyed."), Message_Warning);

It doesn't look fine putting specific vendor at this line.

+vdump $imagedir/${casename}_max_width.png -width $match -height 100
+
+vdump $imagedir/${casename}_max_height.png -width 100 -height $match

This test doesn't check result.

git

2018-10-02 18:09

administrator   ~0079616

Branch CR29020_2 has been created by mnv.

SHA-1: f898e9aabe9c8683cae26c455953f88b45f1c8f3


Detailed log of new commits:

Author: mnv
Date: Mon Oct 1 13:53:37 2018 +0300

    0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver
    
    Implemented workaround for dump images with width >= 5462 pix on Intel OpenGl driver.
    Changes according to OpenGl_Context::myVendor field in lowercase.

mnv

2018-10-04 17:50

developer   ~0079697

Patch is ready for review.

kgv

2018-10-04 18:11

developer   ~0079703

+  Standard_Integer myMaxDumpSize[2];       //!< maximum FBO size for image dump
+  Standard_Integer myCurDumpSize[2];       //!< current FBO size for image dump

Please use Graphic3d_Vec2i instead.

kgv

2018-10-04 18:53

developer   ~0079707

+vdump $imagedir/${casename}_empty.png -width $match -height 100
+
+vdisplay -dispMode 1 b
+vtop
+vfit

Please fill background with another color instead of displaying a box for more straightforward comparison.

git

2018-10-05 08:55

administrator   ~0079710

Branch CR29020_3 has been created by mnv.

SHA-1: 08943e19fa8e9eb56cee1da096d5c048ab157f0b


Detailed log of new commits:

Author: mnv
Date: Mon Oct 1 13:53:37 2018 +0300

    0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver
    
    Implemented workaround for dump images with width >= 5462 pix on Intel OpenGl driver.
    Changes according to OpenGl_Context::myVendor field in lowercase.

mnv

2018-10-05 08:56

developer   ~0079711

Patch is ready for review.

kgv

2018-10-05 11:38

developer   ~0079712

Please take the patch.

git

2018-10-05 11:57

administrator   ~0079715

Branch CR29020_3 has been updated forcibly by mnv.

SHA-1: 7402738400944493e754d02e28ea00007c56ed23

bugmaster

2018-10-05 15:31

administrator   ~0079726

Combination -
OCCT branch : CR29020_1 SHA - 629e9d699af345a56fe76a3ba0b07a0668ceffe9
Products branch : master SHA - bdd0353fc53f9279cf9520705239af63f757c03a
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: 17340.62999999987 / 17401.889999999843 [-0.35%]
Products
Total CPU difference: 7418.260000000062 / 7431.600000000062 [-0.18%]
Windows-64-VC14:
OCCT
Total CPU difference: 17489.896113998526 / 17485.309684598556 [+0.03%]
Products
Total CPU difference: 8360.577193099994 / 8352.574341799986 [+0.10%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-10-07 12:43

administrator   ~0079747

Branch CR29020_3 has been deleted by inv.

SHA-1: 7402738400944493e754d02e28ea00007c56ed23

git

2018-10-07 12:43

administrator   ~0079751

Branch CR29020_2 has been deleted by inv.

SHA-1: f898e9aabe9c8683cae26c455953f88b45f1c8f3

git

2018-10-07 12:43

administrator   ~0079752

Branch CR29020_1 has been deleted by inv.

SHA-1: 629e9d699af345a56fe76a3ba0b07a0668ceffe9

git

2018-10-07 12:43

administrator   ~0079753

Branch CR29020 has been deleted by inv.

SHA-1: b4f65d19766fb6b172a971887ef0a7e57ba0111f

Related Changesets

occt: master 6997ff1c

2018-10-01 10:53:37

mnv


Committer: bugmaster Details Diff
0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver

Implemented workaround for dump images with width >= 5462 pix on Intel OpenGl driver.
Changes according to OpenGl_Context::myVendor field in lowercase.
Affected Issues
0029020
mod - src/Graphic3d/Graphic3d_TypeOfLimit.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/V3d/V3d_View.cxx Diff File
add - tests/bugs/vis/bug29020 Diff File

Issue History

Date Modified Username Field Change
2017-08-18 16:10 kgv New Issue
2017-08-18 16:10 kgv Assigned To => kgv
2017-08-18 16:50 git Note Added: 0069596
2017-08-21 07:54 kgv Target Version 7.2.0 => 7.3.0
2017-08-22 10:51 kgv Relationship added related to 0022696
2017-08-22 10:52 kgv Steps to Reproduce Updated
2018-03-13 14:58 kgv Resolution open => no change required
2018-03-13 14:58 kgv Target Version 7.3.0 => 7.4.0
2018-10-01 07:56 kgv Status new => assigned
2018-10-01 08:10 kgv Note Added: 0079540
2018-10-01 08:10 kgv Assigned To kgv => mnv
2018-10-01 08:10 kgv Steps to Reproduce Updated
2018-10-01 08:11 kgv Resolution no change required => open
2018-10-02 12:13 git Note Added: 0079590
2018-10-02 12:39 git Note Added: 0079593
2018-10-02 14:52 mnv Note Added: 0079596
2018-10-02 14:52 mnv Assigned To mnv => kgv
2018-10-02 14:52 mnv Status assigned => resolved
2018-10-02 14:52 mnv Steps to Reproduce Updated
2018-10-02 15:01 kgv Note Added: 0079599
2018-10-02 15:01 kgv Assigned To kgv => mnv
2018-10-02 15:01 kgv Status resolved => assigned
2018-10-02 18:09 git Note Added: 0079616
2018-10-04 17:50 mnv Note Added: 0079697
2018-10-04 17:50 mnv Assigned To mnv => kgv
2018-10-04 17:50 mnv Status assigned => resolved
2018-10-04 18:11 kgv Note Added: 0079703
2018-10-04 18:23 kgv Assigned To kgv => mnv
2018-10-04 18:23 kgv Status resolved => assigned
2018-10-04 18:53 kgv Note Added: 0079707
2018-10-05 08:55 git Note Added: 0079710
2018-10-05 08:56 mnv Note Added: 0079711
2018-10-05 08:56 mnv Assigned To mnv => kgv
2018-10-05 08:56 mnv Status assigned => resolved
2018-10-05 11:38 kgv Note Added: 0079712
2018-10-05 11:38 kgv Assigned To kgv => bugmaster
2018-10-05 11:38 kgv Status resolved => reviewed
2018-10-05 11:57 git Note Added: 0079715
2018-10-05 15:11 bugmaster Test case number => bugs/vis/bug29020
2018-10-05 15:31 bugmaster Note Added: 0079726
2018-10-05 15:31 bugmaster Status reviewed => tested
2018-10-06 19:15 bugmaster Changeset attached => occt master 6997ff1c
2018-10-06 19:15 bugmaster Status tested => verified
2018-10-06 19:15 bugmaster Resolution open => fixed
2018-10-07 12:43 git Note Added: 0079747
2018-10-07 12:43 git Note Added: 0079751
2018-10-07 12:43 git Note Added: 0079752
2018-10-07 12:43 git Note Added: 0079753