panfrost: Refactor blend descriptors
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sat, 4 May 2019 21:57:01 +0000 (21:57 +0000)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Tue, 7 May 2019 03:21:08 +0000 (03:21 +0000)
commit050b934a24072df862a1fdad424c8f33379e8e26
treef2b76ca2a22e3b6fd89990996679017bf71588b1
parentd4a249aa09d0571e07859f847494f728acb6ee77
panfrost: Refactor blend descriptors

This commit does a fairly large cleanup of blend descriptors, although
there should not be any functional changes. In particular, we split
apart the Midgard and Bifrost blend descriptors, since they are
radically different. From there, we can identify that the Midgard
descriptor as previously written was really two render targets'
descriptors stuck together. From this observation, we split the Midgard
descriptor into what a single RT actually needs. This enables us to
correctly dump blending configuration for MRT samples on Midgard. It
also allows the Midgard and Bifrost blend code to peacefully coexist,
with runtime selection rather than a #ifdef. So, as a bonus, this will
help the future Bifrost effort, eliminating one major source of
compile-time architectural divergence.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
src/gallium/drivers/panfrost/include/panfrost-job.h
src/gallium/drivers/panfrost/pan_context.c
src/gallium/drivers/panfrost/pandecode/decode.c