summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-03-15 23:25:55 +0000
committerAlyssa Rosenzweig <[email protected]>2019-03-19 03:55:10 +0000
commitb98955e128ca3470d89c925f58567f2369f8072a (patch)
tree0f77c7c7a6c36fc6f597dace179b4c3fb0f80c98 /src/compiler
parent5e6d33a7b6cf7a9753fc8de167341da7f542b7cc (diff)
panfrost: Rewrite varying assembly
There are two stages to varying assembly in the command stream: creating the varying buffers in the command stream, and creating the varying meta descriptors (also in the command stream) linked to the aforementioned buffers. The previous code for this was ad hoc and brittle, making some invalid assumptions causing unmaintainable workarounds to pile up across the driver (both compiler and command stream side). This patch completely rewrites the varying assembly code. There's a trivial performance penalty (we now memcpy the varying meta to the command stream on draw, rather than on compile). That said, the improvement in flexibility and clarity is well-worth it. The motivator for these changes was support for gl_PointCoord (and eventually point sprites for legacy GL), which was impossible to implement with the old varying assembly code. With the new refactor, it's super easy; support for gl_PointCoord is included with this patch. All in all, I'm quite happy with how this turned out. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/compiler')
0 files changed, 0 insertions, 0 deletions