diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-05-22 02:45:42 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-06-04 20:14:50 +0000 |
commit | 2d9802233095095f3f20c113e3427ae5bd62f9a2 (patch) | |
tree | 2106eaa3c99320748ce251462b094f5d1ad5c704 /src/gallium/drivers/panfrost/pan_drm.c | |
parent | c1715b558ab3dad36b094a8b44c10e53482eae9e (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