08-02-2020, 04:18 AM
(This post was last modified: 08-02-2020, 04:21 AM by icecream95.)
mesa-git-20.2.0_devel.126488.14a12b771d0-1:
Changes from 9418c8ec8dd to 14a12b771d0:
This is the largest set of changes to Panfrost in the last six months, so if
something didn't work before, now is a good time to try it again in case it
works now.
Last update I said that MSAA only worked with a couple of applications, but it
turns out that was just a configuration error on my side - MSAA should work for
all applications that use it (but with Xwayland a recent git xserver is needed).
If you don't install Mesa to /usr/lib, to get MSAA to work you may need to
export LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH from /usr/bin/Xorg (it's usually
already a wrapper script).
Features:
- Depth reload support (!5824)
This fixes many applications that require a flush in the middle of a frame, or
that need the depth buffer to be preserved between frames.
- ARB_blend_func_extended (!5620)
This is required for X with PAN_MESA_DEBUG=gl3 - it is now safe to set the flag
in /etc/profile or similar.
This also fixes stock alacritty, but the GLES versions might still have slightly
better performance.
- OpenGL ES 3.0 is enabled by default (!5858)
- Chromium now works (!5858):
To enable acceleration, go to chrome://flags, and enable "GPU rasterization"
and "Out of process rasterization".
Note that if you use Chromium in a 32-bit container, this will be using a
different version of Mesa which might not have this commit. /dev/dri will also
need to be bound into the container for acceleration to work.
- 8x MRT support (!5892)
This is needed for OpenGL 3 - now all that's left for 3.0 is NV_conditional_render.
- EXT_shader_framebuffer_fetch and KHR_blend_equation_advanced support (!5755)
- Per-sample shading support (!5929)
- FP16 support is enabled by default (!5960)
- Emulated RGTC support (!5975)
Performance:
- Frame throttling has been re-enabled (!5858)
This improves responsiveness during heavy workloads such as the refract demo of glmark2-es2.
- Fence waiting has been reduced (!5995)
This helps Chromium performance a bit.
- 16x8 and 8x4 tile sizes are now used. (!5892)
This can help performance sometimes when using MRT, for example with two
RGBA32 framebuffers. It will also speed up 8x MSAA when it is implemented...
Fixes:
- Faults when RASTERIZER_DISCARD is used have been fixed (!5858)
- MRT with blend shaders now works (!5892)
- KiCad 3D viewer rendering has been fixed (!5946)
Known regressions:
Commit 528e132d4f7 forces depth writeback even when it is not needed. This can
significantly hurt the performance of DarkPlaces, causing it to drop from 150 fps to 40 fps.
Finally, here is a picture of Windows DarkPlaces running via Wine and box86.
The emulation isn't perfect yet, so not everything is in the right place, and
performance is not perfect (see above), but it's almost playable:
Changes from 9418c8ec8dd to 14a12b771d0:
This is the largest set of changes to Panfrost in the last six months, so if
something didn't work before, now is a good time to try it again in case it
works now.
Last update I said that MSAA only worked with a couple of applications, but it
turns out that was just a configuration error on my side - MSAA should work for
all applications that use it (but with Xwayland a recent git xserver is needed).
If you don't install Mesa to /usr/lib, to get MSAA to work you may need to
export LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH from /usr/bin/Xorg (it's usually
already a wrapper script).
Features:
- Depth reload support (!5824)
This fixes many applications that require a flush in the middle of a frame, or
that need the depth buffer to be preserved between frames.
- ARB_blend_func_extended (!5620)
This is required for X with PAN_MESA_DEBUG=gl3 - it is now safe to set the flag
in /etc/profile or similar.
This also fixes stock alacritty, but the GLES versions might still have slightly
better performance.
- OpenGL ES 3.0 is enabled by default (!5858)
- Chromium now works (!5858):
To enable acceleration, go to chrome://flags, and enable "GPU rasterization"
and "Out of process rasterization".
Note that if you use Chromium in a 32-bit container, this will be using a
different version of Mesa which might not have this commit. /dev/dri will also
need to be bound into the container for acceleration to work.
- 8x MRT support (!5892)
This is needed for OpenGL 3 - now all that's left for 3.0 is NV_conditional_render.
- EXT_shader_framebuffer_fetch and KHR_blend_equation_advanced support (!5755)
- Per-sample shading support (!5929)
- FP16 support is enabled by default (!5960)
- Emulated RGTC support (!5975)
Performance:
- Frame throttling has been re-enabled (!5858)
This improves responsiveness during heavy workloads such as the refract demo of glmark2-es2.
- Fence waiting has been reduced (!5995)
This helps Chromium performance a bit.
- 16x8 and 8x4 tile sizes are now used. (!5892)
This can help performance sometimes when using MRT, for example with two
RGBA32 framebuffers. It will also speed up 8x MSAA when it is implemented...
Fixes:
- Faults when RASTERIZER_DISCARD is used have been fixed (!5858)
- MRT with blend shaders now works (!5892)
- KiCad 3D viewer rendering has been fixed (!5946)
Known regressions:
Commit 528e132d4f7 forces depth writeback even when it is not needed. This can
significantly hurt the performance of DarkPlaces, causing it to drop from 150 fps to 40 fps.
Finally, here is a picture of Windows DarkPlaces running via Wine and box86.
The emulation isn't perfect yet, so not everything is in the right place, and
performance is not perfect (see above), but it's almost playable: