paint(): need blittedquads != 0 to stack blitters #1068

pull/1328/head
nick black 4 years ago committed by Nick Black
parent 87def26efb
commit 2507a1712b

@ -312,8 +312,11 @@ paint(const ncplane* p, struct crender* rvec, int dstleny, int dstlenx,
// Evaluate the background first, in case we have HIGHCONTRAST fg text.
if(cell_bg_alpha(targc) > CELL_ALPHA_OPAQUE){
const nccell* vis = &p->fb[nfbcellidx(p, y, x)];
//fprintf(stderr, "y/x: %d/%d crenderbq: 0x%x visbq: 0x%x\n", y, x, crender->s.blittedquads, cell_blittedquadrants(vis));
if(!((~crender->s.blittedquads) & cell_blittedquadrants(vis))){
// to be on the blitter stacking path, we need
// 1) crender->s.blittedquads to be non-zero
// 2) cell_blittedquadrants(vis) to be non-zero
// 3) somewhere crender is 0, blittedquads is 1
if(!crender->s.blittedquads || !((~crender->s.blittedquads) & cell_blittedquadrants(vis))){
if(cell_bg_default_p(vis)){
vis = &p->basecell;
}

Loading…
Cancel
Save