[Mesa-dev] [PATCH 1/3] gallium: add renderonly library

Alexandre Courbot acourbot at nvidia.com
Thu Dec 8 07:16:03 UTC 2016


On 11/30/2016 10:44 PM, Christian Gmeiner wrote:
> This a very lightweight library to add basic support for
> renderonly GPUs. It does all the magic regarding in/exporting
> buffers etc. This library will likely break android support and
> hopefully will get replaced with a better solution based on gbm2.

Since we have no idea when said better solution will be available, and
the situation of render-only GPUs has been unsustainable for way too
long, I really hope a solution like this one can be merged in the meantime.

I have tried it after porting support for Tegra
(https://github.com/austriancoder/mesa/commit/2c7354701ee21ca28f69f5d7588f1d497553b4bf)
to this latest version. Here are a few issues I have met:

First, setting the tiling works indeed just fine if we are using an
ioctl for this. However my impression was that the preferred way of
doing it was through FB modifiers, and we started moving Tegra to this
scheme. Problem: the FB modifier is passed through a call to
drmModeAddFB2WithModifiers(), which is called by the client program, not
Mesa - which in this case leaves the program with the burden of figuring
out what the modifier should be. So with FB modifiers the problem is
still here.

Another issue I have seen is that GLX does not seem to work with this.
X/modesetting starts just fine, and GLamor also seems to initialize.
However glxinfo freezes on a xshmfence_await() call, and all GLX
programs fail as follow:

# glxgears
libGL error: MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  149 ()
  Minor opcode of failed request:  2
  Serial number of failed request:  37
  Current serial number in output stream:  38

Not sure if you are having these issues with Vivante as well?


More information about the mesa-dev mailing list