View Issue Details

IDProjectCategoryView StatusLast Update
0023668Open CASCADEOCCT:Testspublic2015-06-10 09:04
ReportersanAssigned Tokgv  
PrioritynormalSeveritymajor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2008 
Product Version6.5.4 
Target Version6.6.0Fixed in Version6.6.0 
Summary0023668: OCCT automated testing: Using Mesa3d for 3D visualization on virtual Windows machines
DescriptionSome time has been spent on attempts to use Mesa3d (http://www.mesa3d.org/) as OpenGL API implementation used by DRAWEXE on virtual Windows machines.

Here is the summary of the results (quite poor in fact):

1. No Mesa, using default OpenGL 1.1 implementation provided by Windows.
- Only very basic OpenGL features available, some new functionality that will require OpenGL 1.2+ might now work in the future.
- Highlighting of detected subshapes (cyan color) is not visible on snapshots created by vdump command (0023525).

2. Mesa3d 6.4.1 (Win32 binaries attached).
- Supports OpenGL 1.5 and some useful OpenGL extensions, including FBO.
- Test 3D view seems to work.
- But highlighting of detected subshapes (cyan color) does not work either in the 3D window or in snapshots created by vdump command.

3. Up-to-date Mesa3d 9.0.
Two kinds of rasterizers have been tried:
- Win32 GDI-based
- Gallium GDI-based rasterizer built with LLVM 3.1 (http://llvm.org/).

Both versions of opengl32.dll crash but differently. Corresponding bugs have been reported to https://bugs.freedesktop.org:
- https://bugs.freedesktop.org/show_bug.cgi?id=58716
- https://bugs.freedesktop.org/show_bug.cgi?id=58718

Before the patched Mesa3d is available, a workaround will be used: vis tests will be run on a dedicated physical Windows station with hardware-accelerated OpenGL implementation.
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • mesa641dlls.zip (695,432 bytes)
  • mesa782dlls.7z (1,372,868 bytes)

Relationships

parent of 0023525 closedkgv Disappearing of highlight in screenshot 
related to 0024363 closedkgv Automated Tests - optimize testing environment for visualization tests 
related to 0026329 closedkgv Restore floating point signals handling in DRAW 

Activities

san

2012-12-24 17:42

developer  

mesa641dlls.zip (695,432 bytes)

kgv

2013-01-23 16:12

developer   ~0023093

4. Mesa3d 7.8.2 (Win32 binaries at occt653products).
- Supports OpenGL 2.1.
- Test 3D view seems to work.
- Highlighting works correctly but it is possible to let down viewer by clicking on 3D viewer within already active local selection. Shouldn't limit usage (testing).

kgv

2013-01-23 17:29

developer  

mesa782dlls.7z (1,372,868 bytes)

kgv

2013-01-23 17:54

developer   ~0023100

OCCT patch available for review in branch CR23668.

Introduced new Draw Harness command dlibpath to prepend dynamic libraries search path. It uses SetDllDirectory on Windows so it is possible to specify path to custom opengl32.dll (changing PATH environment will not work due to DLL search path order which prefer System32 first).

Notice that to take effect this command should be called each time before pload VISUALIZATION. For example:
dlibpath "g:/occt-3rdparty/occt653products/mesa-7.8.2-vc9-32/bin"
pload VISUALIZATION
vinit
vglinfo

san

2013-01-23 18:16

developer   ~0023101

Branch CR23668 reviewed without remarks, ready for testing.

Dear bugmaster,

It is necessary to run the complete set of tests under Windows using Mesa 7.8.2 DLLs provided by kgv, paying special attention to the test cases using highlighting.

kgv

2013-01-24 14:46

developer   ~0023123

Patch was updated and pushed to branch CR23668_1:
- dlibpath was removed as not very useful to users.
- DRAWEXE now parses advanced environment variable CSF_UserDllPath to prepend DLL search path. Windows-only!

So now CSF_UserDllPath should be defined before starting DRAWEXE in environment scripts like:
set "CSF_UserDllPath=g:/occt-3rdparty/occt653products/mesa-7.8.2-vc9-32/bin"
DRAWEXE
pload VISUALIZATION
vinit
vglinfo

mkv

2013-01-25 12:18

tester   ~0023142

Dear BugMaster,
Branch CR23668_1 (and products from GIT master) was compiled on Linux and Windows platforms and tested.

Number of compiler warnings:

occt component :
Linux: 3 (3 on master)
Windows: 85 (85 on master)

products component :
Linux: 9 (9 on master)
Windows: 54 (54 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
No testing cases

Testing on Linux:
Total MEMORY difference: 221077480 / 219733800
Total CPU difference: 8397.74000000028 / 14274.820000000042

Testing on Windows:
Total MEMORY difference: 311007052 / 294553020
Total CPU difference: 11591.6875 / 11675.59375

There are not serious differences in images found by testdiff.

Related Changesets

occt: master dac04bfa

2013-01-24 10:42:36

kgv

Details Diff
0023668: OCCT automated testing: Using Mesa3d for 3D visualization on virtual Windows machines

Added advanced Draw Harness environment variable CSF_UserDllPath
to prepend DLL search path for system libraries like "opengl32.dll".

Added new Draw Harness command vglinfo to print OpenGL self info.
Affected Issues
0023668
mod - src/Draw/Draw.cxx Diff File
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2012-12-24 17:42 san New Issue
2012-12-24 17:42 san Assigned To => mkv
2012-12-24 17:42 san File Added: mesa641dlls.zip
2012-12-24 17:43 san Description Updated
2012-12-24 17:47 san Assigned To mkv => san
2012-12-24 17:49 san Relationship added parent of 0023525
2013-01-22 18:44 kgv Assigned To san => kgv
2013-01-22 18:50 kgv Assigned To kgv => san
2013-01-22 18:50 kgv Status new => resolved
2013-01-22 21:04 kgv Status resolved => assigned
2013-01-23 16:12 kgv Note Added: 0023093
2013-01-23 17:29 kgv File Added: mesa782dlls.7z
2013-01-23 17:30 kgv Assigned To san => kgv
2013-01-23 17:54 kgv Note Added: 0023100
2013-01-23 17:54 kgv Assigned To kgv => san
2013-01-23 17:54 kgv Status assigned => resolved
2013-01-23 18:16 san Note Added: 0023101
2013-01-23 18:16 san Assigned To san => bugmaster
2013-01-23 18:16 san Status resolved => reviewed
2013-01-24 14:46 kgv Note Added: 0023123
2013-01-25 12:18 mkv Note Added: 0023142
2013-01-25 12:19 mkv Test case number => Not needed
2013-01-25 12:19 mkv Status reviewed => tested
2013-01-28 18:06 kgv Changeset attached => occt master dac04bfa
2013-01-28 18:06 kgv Assigned To bugmaster => kgv
2013-01-28 18:06 kgv Status tested => verified
2013-01-28 18:06 kgv Resolution open => fixed
2013-02-20 10:19 bugmaster Target Version => 6.6.0
2013-04-23 13:35 aiv Status verified => closed
2013-04-29 15:22 aiv Fixed in Version => 6.6.0
2013-11-15 11:28 kgv Relationship added related to 0024363
2015-06-10 09:04 kgv Relationship added related to 0026329