Lines Matching defs:pixel

242             // load the framebuffer pixel
250 pixel_t pixel;
255 pixel = directTex ? parts.texel[directTex-1] : parts.iterated;
256 pixel.flags &= ~CORRUPTIBLE;
268 // allocate a register for the resulting pixel
269 pixel.setTo(regs.obtain(), &mCbFormat, FIRST);
271 build_component(pixel, parts, GGLFormat::ALPHA, regs);
279 build_component(pixel, parts, GGLFormat::RED, regs);
280 build_component(pixel, parts, GGLFormat::GREEN, regs);
281 build_component(pixel, parts, GGLFormat::BLUE, regs);
283 pixel.flags |= CORRUPTIBLE;
289 if (pixel.reg == -1) {
292 pixel = mDstPixel;
297 build_logic_op(pixel, regs);
300 build_masking(pixel, regs);
303 store(parts.cbPtr, pixel, WRITE_BACK);
452 void GGLAssembler::build_component( pixel_t& pixel,
462 const int dst_component_size = pixel.component_size(component);
473 // downshift component and rebuild pixel...
474 downshift(pixel, component, temp, parts.dither);
812 void GGLAssembler::build_logic_op(pixel_t& pixel, Scratch& regs)
821 pixel_t s(pixel);
822 if (!(pixel.flags & CORRUPTIBLE)) {
823 pixel.reg = regs.obtain();
824 pixel.flags |= CORRUPTIBLE;
829 case GGL_CLEAR: MOV(AL, 0, pixel.reg, imm(0)); break;
830 case GGL_AND: AND(AL, 0, pixel.reg, s.reg, d.reg); break;
831 case GGL_AND_REVERSE: BIC(AL, 0, pixel.reg, s.reg, d.reg); break;
833 case GGL_AND_INVERTED: BIC(AL, 0, pixel.reg, d.reg, s.reg); break;
834 case GGL_NOOP: MOV(AL, 0, pixel.reg, d.reg); break;
835 case GGL_XOR: EOR(AL, 0, pixel.reg, s.reg, d.reg); break;
836 case GGL_OR: ORR(AL, 0, pixel.reg, s.reg, d.reg); break;
837 case GGL_NOR: ORR(AL, 0, pixel.reg, s.reg, d.reg);
838 MVN(AL, 0, pixel.reg, pixel.reg); break;
839 case GGL_EQUIV: EOR(AL, 0, pixel.reg, s.reg, d.reg);
840 MVN(AL, 0, pixel.reg, pixel.reg); break;
841 case GGL_INVERT: MVN(AL, 0, pixel.reg, d.reg); break;
843 BIC(AL, 0, pixel.reg, d.reg, s.reg);
844 MVN(AL, 0, pixel.reg, pixel.reg); break;
845 case GGL_COPY_INVERTED: MVN(AL, 0, pixel.reg, s.reg); break;
847 BIC(AL, 0, pixel.reg, s.reg, d.reg);
848 MVN(AL, 0, pixel.reg, pixel.reg); break;
849 case GGL_NAND: AND(AL, 0, pixel.reg, s.reg, d.reg);
850 MVN(AL, 0, pixel.reg, pixel.reg); break;
851 case GGL_SET: MVN(AL, 0, pixel.reg, imm(0)); break;
919 void GGLAssembler::build_masking(pixel_t& pixel, Scratch& regs)
928 pixel_t s(pixel);
929 if (!(pixel.flags & CORRUPTIBLE)) {
930 pixel.reg = regs.obtain();
931 pixel.flags |= CORRUPTIBLE;
953 build_and_immediate(pixel.reg, s.reg, mask, fb.size());
954 s = pixel;
964 if (s.reg == pixel.reg) {
967 MOV(AL, 0, pixel.reg, fb.reg);
970 ORR(AL, 0, pixel.reg, s.reg, fb.reg);