[Mesa-dev] [PATCH] panfrost: Backport driver to Mali T600/T700

Emil Velikov emil.l.velikov at gmail.com
Fri Feb 15 18:06:29 UTC 2019


Hi Alyssa,

On Thu, 14 Feb 2019 at 01:58, Alyssa Rosenzweig <alyssa at rosenzweig.io> wrote:
>
> There are a few differenes between Mali T860 (Panfrost's primary
> reference target) and the older Midgard generations (T600/T700):
>
>  - Miscellaneous different magic numbers. It's not clear what these
> numbers mean on either the old or new configurations yet.
>
>  - Errata fixes. T800 is the final Midgard generation and presumably the
> least buggy. Older Midgard has some extra hardware errata we have to
> workaround.
>
> - SFBD vs MFBD split. Essentially, older Midgard use a Single
> FrameBuffer Descriptor (SFBD), which corresponds to single
> render-target rendering. Newer Midgard (T760+) use a Multiple
> FrameBuffer Descriptor (MFBD), allowing multiple RTs. On ES 2.0, these
> descriptors serve the same function, but we implement both, depending on
> the version of the hardware.
>
> - CPU bitness. 32-bit systems generally use 32-bit GPU descriptors, and
> vice versa for 64-bit. Our target T760 systems are 32-bit whereas our
> target T860 systems are 64-bit. More work is needed in this area.
>
> This patch fixes support in these areas for supporting older Midgard
> hardware. It is tested on Mali T760 and Mali T860.
>
> Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
> ---
>  .../drivers/panfrost/include/panfrost-job.h   |  21 +-
>  src/gallium/drivers/panfrost/meson.build      |   1 +
>  src/gallium/drivers/panfrost/pan_assemble.c   |   4 +-
>  src/gallium/drivers/panfrost/pan_blending.c   |   4 +-
>  src/gallium/drivers/panfrost/pan_context.c    | 541 ++++++++++--------
>  src/gallium/drivers/panfrost/pan_context.h    |  31 +-
>  6 files changed, 340 insertions(+), 262 deletions(-)
>
Some random ideas which came to mind while skimming through:
- about 1/5 of the patch seems to be white space changes
- doesn't seem like BIFROST is defined anywhere
- other drivers keep details like is_t6xx, require_sfbd, others in
driver/screen specific struct
- the __LP64__ checks seems suspicious, no other mesa driver has those

HTH
-Emil


More information about the mesa-dev mailing list