Paraview 5.11.0 EGL vs Mesa - "Invalid Texture Dimensions"

I’m trying to compare the GPU-accelerated Paraview 5.11.0 in client/server mode to the CPU version under various conditions (number of GPUs, number of cores, etc). The test server is a dual-GPU Linux machine (Ubuntu 20.0.4 LTS) with two Xeon processors and 256 GiB of RAM.

The 5.11.0 EGL version (downloaded from the ParaView website) seems to work fine on my ~15 GiB volumetric test data. However, I can’t seem to find a command line switch to disable GPU acceleration to test the “pure CPU” performance to compare to the GPU accelerated timings.

I therefore tried the 5.11.0 Mesa variant (again downloaded from the ParaView website) and when I try to load the test data I get the following message:

( 107.550s) [pvserver        ]   vtkVolumeTexture.cxx:943    ERR| vtkVolumeTexture (0x15847020): Invalid texture dimensions [6180, 4135, 623]

Given that I’m faking the graphics hardware via Mesa, is there a way to disable this limitation? I’ve got plenty of RAM to use, after all!

Do you mean the OSMesa version ?

Sure do! ParaView 5.11.0-osmesa-MPI-Linux-Python3.9-x86_64 in case the details are relevant.

Can you try with the nightly instead of 5.11.0 ?

jgrime:~/paraview_mesa/ParaView-master-5.11.1-1862-g99cf1048e5-osmesa-MPI-Linux-Python3.10-x86_64$ mpiexec -np 1 bin/pvserver
Waiting for client...
Connection URL: cs://xxx:11111
Accepting connection(s): xxx:11111
Client connected.
Failed to create /home/jgrime/.cache/mesa_shader_cache for shader cache (Permission denied)---disabling.
(1560.538s) [pvserver        ]   vtkVolumeTexture.cxx:944    ERR| vtkVolumeTexture (0x3d1e9d0): Invalid texture dimensions [6180, 4135, 623]

Nope. :pensive:

Looks like a limitation of the osmesa driver.

Oh well, such is life.

If you wanted to, you could raise the limit either by submitting a change to the mesa code base or making a local edit to mesa and compiling both it and ParaView yourself. That’s the only way to raise this limit.

1 Like