diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2019-11-24 17:44:53 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2019-11-24 17:50:18 -0800 |
commit | 4d87a91891a2ff29f399edebfcd3590316a14445 (patch) | |
tree | 0560129e41949191082fbb4611ebca328269d414 /.gitignore | |
parent | 0b2f0d406657515559c697533f5e27cf05437507 (diff) |
montage: rework fragmenter
This repurposes the generic fb_fragment_tile_single() to better fit
the montage use case.
Partially covered areas are simply skipped, and tiles no longer need
to be square.
In determining the tile width and height, I'm just using the sqrt of
the number of modules and dividing the frame width and height. But
when the sqrt has a fraction, it's rounded up on the width divide
and rounded down on the height divide. So the width gets the extra
column of tiles, and the height just throws away the fraction.
I think it's OK for now, until someone gets a bug up their ass and
wants to avoid having vacant tiles in the bottom right corner when
the number of modules doesn't cooperate.
One problem with the just skipping partially covered areas is they
don't get zeroed out - no fragment is ever generated for them.
To fix that there will prolly have to be a fb_fragment_zero() of
the frame @ prepare :(. I guess it wouldn't be the end of the
world if the fragmenter itself zeroed out skipped regions. It's
kind of an ugly layering violation but this is a private montage-
specific fragmenter.
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions