[Mesa-dev] [RFC] r600g: evergreen/cayman tessellation support

Dave Airlie airlied at gmail.com
Sun Nov 29 22:20:09 PST 2015


Hi,

Patchbomb time, this set of patches is a first pass at add adding
ARB_tessellation_shader support to the r600g driver. Only Evergreen
and newer GPUs support tessellation. On any of the GPUs that support
native FP64, this will enable OpenGL 4.1 on them.

The first bunch of patches are a bit of a driver rework to get
things in better shape for tessellation, they shouldn't cause
any regressions.

This runs heaven on cayman and should pass all the piglits
unless I've done something wrong.

Development hit two HW programming fun times, one with tess and
dynamic GPR interaction requiring disabling dynamic GPRs, and
one with programming of some SIMD registers to block TESS shaders
on one unit. These fixed most of the hangs we saw during development.

This doesn't contain SB support yet, Glenn has started working on it.

Currently tested hw:
working: CAYMAN, REDWOOD, BARTS, TURKS
hangs on any tessellation: CAYMAN
hangs differently at least with heaven: SUMO

This patchset doesn't block it on any GPUs, but when merged it
probably should.

Also available at:
http://cgit.freedesktop.org/~airlied/mesa/log/?h=r600g-tess-submit

Thanks to Glenn Kennard for lots of discussion and testing.

Dave.



More information about the mesa-dev mailing list