OpenUSD icon indicating copy to clipboard operation
OpenUSD copied to clipboard

hdEmbree issues (black screen for testHdEmbree unless in --offscreen mode; one unit test fails)

Open optseb opened this issue 11 months ago • 5 comments

Description of Issue

A black screen window appears when running (from build/): ./pxr/imaging/plugin/hdEmbree/testHdEmbree. Expected: Some graphical output rendered by embree.

Also, if I run ./pxr/imaging/plugin/hdEmbree/testHdEmbree --offscreen then the program memory leaks up to the limit of the installed RAM on my laptop.

Also, failure of the Embree unit test:

1210 - testUsdImagingGLAovVisualization_Embree_normal (Failed)

(This unit test segfaults)

(Also, the following tests FAILED, but these may not be related to embree: 1187 - testUsdImagingGLGeomSubsets_Medium (Failed) 1192 - testUsdImagingGLGeomSubsets_Medium_SceneIndex (Failed))

Steps to Reproduce

  1. build OpenUSD on Ubuntu Linux machine from the dev branch at commit 8d56cde3d . I’ve switched on the building of the embree plugin. I’ve first compiled the various necessary dependencies, including embree (at version 3.13.5), OpenImageIO and oneTBB (at version tbb2020Update3).
  2. Run make test and see Test 1210 fail.
  3. Run ./pxr/imaging/plugin/hdEmbree/testHdEmbree and see black screen window appear.

System Information (OS, Hardware)

Intel Core i7 CPU and RTX3060 GPU (Dell G15 laptop). Ubuntu 23.10, gcc 13.2.0, NVidia driver 535.161.07 installed and active.

Package Versions

compiled locally: oneTBB, embree, OpenImageIO, Imath, openexr, libjpeg-turbo, OpenSubdiv, ptex. Package managed versions of libtiff-dev, libjpeg-dev, libxxf86vm-dev installed. boost 1.81 locally installed (not packaged managed).

Build Flags

Default build flags - cmake call to usd was:

cmake .. -DPYTHON_EXECUTABLE=/home/seb/src/usd/usd_pyenv/bin/python3.11 -DPXR_BUILD_EMBREE_PLUGIN=TRUE

optseb avatar Mar 28 '24 17:03 optseb

Filed as internal issue #USD-9498

jesschimein avatar Mar 28 '24 17:03 jesschimein

Please let me know if you need more specific information about library versions etc.

optseb avatar Mar 28 '24 17:03 optseb

I have the same problem on a second machine which runs Ubuntu 23.04. I have also demonstrated the black testHdEmbree window from the release branch of OpenUSD (commit f941bce34 / tag v24.03)

If anyone could hint at where I should find the 2D image data that should be displayed in the Window, that would help me debug this.

optseb avatar Apr 02 '24 13:04 optseb

I've come back to looking at this issue.

I'm working with a tag on the release branch (commit https://github.com/PixarAnimationStudios/OpenUSD/commit/f941bce34505c88eaf32dc79f36eab2659b2b1ee / tag v24.03)

I've also changed the version of embree to 3.2.2 to align with the version specified on this page: https://github.com/PixarAnimationStudios/OpenUSD/blob/release/VERSIONS.md

I run, get a black window, press 'q' to quit and get this in my terminal window:

(python) [seb@rog-strix1 14:31:02 hdEmbree]$ ./testHdEmbree
NVIDIA Corporation
NVIDIA GeForce RTX 4080 Laptop GPU/PCIe/SSE2
4.6.0 NVIDIA 535.171.04
FAILED
Coding Error: in _Execute at line 215 of /home/seb/src/pixar_openusd_build/OpenUSD/pxr/imaging/plugin/hdEmbree/renderPass.cpp -- Failed verification: ' !_aovBindings.empty() ' -- No aov bindings to render into

So that seems like a good clue. Any suggestions as to why the program might not be populating _aovBindings would be gratefully received.

optseb avatar May 17 '24 13:05 optseb

The _aovBindings message was maybe a red herring. I silenced it by adding the arguments "--aov color"

I then tried switching the program into 'offscreen' mode:

./testHdEmbree --aov color --offscreen

and this DOES create a file called color1.png! Great.

Without the --offscreen switch I get a blank window, and I'd love to know how to get the 'non offscreen' mode to work.

optseb avatar May 17 '24 13:05 optseb