summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/pan_drm.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-05-22 02:45:42 +0000
committerAlyssa Rosenzweig <[email protected]>2019-06-04 20:14:50 +0000
commit2d9802233095095f3f20c113e3427ae5bd62f9a2 (patch)
tree2106eaa3c99320748ce251462b094f5d1ad5c704 /src/gallium/drivers/panfrost/pan_drm.c
parentc1715b558ab3dad36b094a8b44c10e53482eae9e (diff)
panfrost/midgard: Extend RA to non-vec4 sources
This represents a major break with the former RA design. We now use conflicting register classes to represent the subdivision of Midgard's 128-bit registers into varying sizes and arrangement. We determine class based on the number of components in the instructions' masks. To support this, we include a number of helpers in the RA to allow composing swizzles and masks, such that MIR written implicitly assuming .xyzw sources can be transformed to use actual (non-aligned) sources. The net result is a marked decrease in register pressure on non-vec4-exclusive shaders. We could still be doing much better. Not implemented yet are: - Register spilling - Per-component liveness Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Ryan Houdek <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/pan_drm.c')
0 files changed, 0 insertions, 0 deletions