MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029020Open CASCADE[OCCT] OCCT:Visualizationpublic2017-08-18 16:102018-10-07 12:43
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformWindowsOSVC++ 2015OS Version64 bit
Product Version[OCCT] 7.1.0 
Target Version[OCCT] 7.4.0*Fixed in Version 
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
Attached Files

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

-  Notes
(0069596)
git (administrator)
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 (developer)
2018-10-01 08:10

Maxim,

the patch is mostly ready - please update it to current master and create a test case.
(0079590)
git (administrator)
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 (administrator)
2018-10-02 12:39

Branch CR29020_1 has been updated forcibly by mnv.

SHA-1: 629e9d699af345a56fe76a3ba0b07a0668ceffe9
(0079596)
mnv (developer)
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 (developer)
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 (administrator)
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 (developer)
2018-10-04 17:50

Patch is ready for review.
(0079703)
kgv (developer)
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 (developer)
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 (administrator)
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 (developer)
2018-10-05 08:56

Patch is ready for review.
(0079712)
kgv (developer)
2018-10-05 11:38

Please take the patch.
(0079715)
git (administrator)
2018-10-05 11:57

Branch CR29020_3 has been updated forcibly by mnv.

SHA-1: 7402738400944493e754d02e28ea00007c56ed23
(0079726)
bugmaster (administrator)
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 (administrator)
2018-10-07 12:43

Branch CR29020_3 has been deleted by inv.

SHA-1: 7402738400944493e754d02e28ea00007c56ed23
(0079751)
git (administrator)
2018-10-07 12:43

Branch CR29020_2 has been deleted by inv.

SHA-1: f898e9aabe9c8683cae26c455953f88b45f1c8f3
(0079752)
git (administrator)
2018-10-07 12:43

Branch CR29020_1 has been deleted by inv.

SHA-1: 629e9d699af345a56fe76a3ba0b07a0668ceffe9
(0079753)
git (administrator)
2018-10-07 12:43

Branch CR29020 has been deleted by inv.

SHA-1: b4f65d19766fb6b172a971887ef0a7e57ba0111f

- Related Changesets
occt: master 6997ff1c
Timestamp: 2018-10-01 10:53:37
Author: 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.
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 View Revisions
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:55 kgv Relationship added related to 0030181
2018-10-01 07:56 kgv Status new => assigned
2018-10-01 07:56 kgv Relationship deleted related to 0030181
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 View Revisions
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 View Revisions
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


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker