MantisBT - Open CASCADE
View Issue Details
0029020Open CASCADE[OCCT] OCCT:Visualizationpublic2017-08-18 16:102018-10-07 12:43
kgv 
bugmaster 
normalminor 
verifiedfixed 
WindowsVC++ 201564 bit
[OCCT] 7.1.0 
[OCCT] 7.4.0* 
bugs/vis/bug29020
0029020: Visualization, V3d_View - workaround image dump issue on Intel OpenGL driver
For 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.
testgrid bugs vis bug29020
No tags attached.
related to 0022696assigned san Community Image dump of 3D Viewer is limited to Video hardware limits 
Issue History
2017-08-18 16:10kgvNew Issue
2017-08-18 16:10kgvAssigned To => kgv
2017-08-18 16:50gitNote Added: 0069596
2017-08-21 07:54kgvTarget Version7.2.0 => 7.3.0
2017-08-22 10:51kgvRelationship addedrelated to 0022696
2017-08-22 10:52kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=17363#r17363
2018-03-13 14:58kgvResolutionopen => no change required
2018-03-13 14:58kgvTarget Version7.3.0 => 7.4.0*
2018-10-01 07:55kgvRelationship addedrelated to 0030181
2018-10-01 07:56kgvStatusnew => assigned
2018-10-01 07:56kgvRelationship deletedrelated to 0030181
2018-10-01 08:10kgvNote Added: 0079540
2018-10-01 08:10kgvAssigned Tokgv => mnv
2018-10-01 08:10kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=20013#r20013
2018-10-01 08:11kgvResolutionno change required => open
2018-10-02 12:13gitNote Added: 0079590
2018-10-02 12:39gitNote Added: 0079593
2018-10-02 14:52mnvNote Added: 0079596
2018-10-02 14:52mnvAssigned Tomnv => kgv
2018-10-02 14:52mnvStatusassigned => resolved
2018-10-02 14:52mnvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=20016#r20016
2018-10-02 15:01kgvNote Added: 0079599
2018-10-02 15:01kgvAssigned Tokgv => mnv
2018-10-02 15:01kgvStatusresolved => assigned
2018-10-02 18:09gitNote Added: 0079616
2018-10-04 17:50mnvNote Added: 0079697
2018-10-04 17:50mnvAssigned Tomnv => kgv
2018-10-04 17:50mnvStatusassigned => resolved
2018-10-04 18:11kgvNote Added: 0079703
2018-10-04 18:23kgvAssigned Tokgv => mnv
2018-10-04 18:23kgvStatusresolved => assigned
2018-10-04 18:53kgvNote Added: 0079707
2018-10-05 08:55gitNote Added: 0079710
2018-10-05 08:56mnvNote Added: 0079711
2018-10-05 08:56mnvAssigned Tomnv => kgv
2018-10-05 08:56mnvStatusassigned => resolved
2018-10-05 11:38kgvNote Added: 0079712
2018-10-05 11:38kgvAssigned Tokgv => bugmaster
2018-10-05 11:38kgvStatusresolved => reviewed
2018-10-05 11:57gitNote Added: 0079715
2018-10-05 15:11bugmasterTest case number => bugs/vis/bug29020
2018-10-05 15:31bugmasterNote Added: 0079726
2018-10-05 15:31bugmasterStatusreviewed => tested
2018-10-06 19:15bugmasterChangeset attached => occt master 6997ff1c
2018-10-06 19:15bugmasterStatustested => verified
2018-10-06 19:15bugmasterResolutionopen => fixed
2018-10-07 12:43gitNote Added: 0079747
2018-10-07 12:43gitNote Added: 0079751
2018-10-07 12:43gitNote Added: 0079752
2018-10-07 12:43gitNote Added: 0079753

Notes
(0069596)
git   
2017-08-18 16:50   
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
(0079540)
kgv   
2018-10-01 08:10   
Maxim,

the patch is mostly ready - please update it to current master and create a test case.
(0079590)
git   
2018-10-02 12:13   
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.
(0079593)
git   
2018-10-02 12:39   
Branch CR29020_1 has been updated forcibly by mnv.

SHA-1: 629e9d699af345a56fe76a3ba0b07a0668ceffe9
(0079596)
mnv   
2018-10-02 14:52   
Patch is ready for review.
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR29020-master-MNV/view/ALL/ [^]
(0079599)
kgv   
2018-10-02 15:01   
+  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.
(0079616)
git   
2018-10-02 18:09   
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.
(0079697)
mnv   
2018-10-04 17:50   
Patch is ready for review.
(0079703)
kgv   
2018-10-04 18:11   
+  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.
(0079707)
kgv   
2018-10-04 18:53   
+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.
(0079710)
git   
2018-10-05 08:55   
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.
(0079711)
mnv   
2018-10-05 08:56   
Patch is ready for review.
(0079712)
kgv   
2018-10-05 11:38   
Please take the patch.
(0079715)
git   
2018-10-05 11:57   
Branch CR29020_3 has been updated forcibly by mnv.

SHA-1: 7402738400944493e754d02e28ea00007c56ed23
(0079726)
bugmaster   
2018-10-05 15:31   
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
(0079747)
git   
2018-10-07 12:43   
Branch CR29020_3 has been deleted by inv.

SHA-1: 7402738400944493e754d02e28ea00007c56ed23
(0079751)
git   
2018-10-07 12:43   
Branch CR29020_2 has been deleted by inv.

SHA-1: f898e9aabe9c8683cae26c455953f88b45f1c8f3
(0079752)
git   
2018-10-07 12:43   
Branch CR29020_1 has been deleted by inv.

SHA-1: 629e9d699af345a56fe76a3ba0b07a0668ceffe9
(0079753)
git   
2018-10-07 12:43   
Branch CR29020 has been deleted by inv.

SHA-1: b4f65d19766fb6b172a971887ef0a7e57ba0111f