Lines Matching defs:pixel

244             // load the framebuffer pixel
252 pixel_t pixel;
257 pixel = directTex ? parts.texel[directTex-1] : parts.iterated;
258 pixel.flags &= ~CORRUPTIBLE;
270 // allocate a register for the resulting pixel
271 pixel.setTo(regs.obtain(), &mCbFormat, FIRST);
273 build_component(pixel, parts, GGLFormat::ALPHA, regs);
281 build_component(pixel, parts, GGLFormat::RED, regs);
282 build_component(pixel, parts, GGLFormat::GREEN, regs);
283 build_component(pixel, parts, GGLFormat::BLUE, regs);
285 pixel.flags |= CORRUPTIBLE;
291 if (pixel.reg == -1) {
294 pixel = mDstPixel;
299 build_logic_op(pixel, regs);
302 build_masking(pixel, regs);
305 store(parts.cbPtr, pixel, WRITE_BACK);
453 void GGLAssembler::build_component( pixel_t& pixel,
463 const int dst_component_size = pixel.component_size(component);
474 // downshift component and rebuild pixel...
475 downshift(pixel, component, temp, parts.dither);
813 void GGLAssembler::build_logic_op(pixel_t& pixel, Scratch& regs)
822 pixel_t s(pixel);
823 if (!(pixel.flags & CORRUPTIBLE)) {
824 pixel.reg = regs.obtain();
825 pixel.flags |= CORRUPTIBLE;
830 case GGL_CLEAR: MOV(AL, 0, pixel.reg, imm(0)); break;
831 case GGL_AND: AND(AL, 0, pixel.reg, s.reg, d.reg); break;
832 case GGL_AND_REVERSE: BIC(AL, 0, pixel.reg, s.reg, d.reg); break;
834 case GGL_AND_INVERTED: BIC(AL, 0, pixel.reg, d.reg, s.reg); break;
835 case GGL_NOOP: MOV(AL, 0, pixel.reg, d.reg); break;
836 case GGL_XOR: EOR(AL, 0, pixel.reg, s.reg, d.reg); break;
837 case GGL_OR: ORR(AL, 0, pixel.reg, s.reg, d.reg); break;
838 case GGL_NOR: ORR(AL, 0, pixel.reg, s.reg, d.reg);
839 MVN(AL, 0, pixel.reg, pixel.reg); break;
840 case GGL_EQUIV: EOR(AL, 0, pixel.reg, s.reg, d.reg);
841 MVN(AL, 0, pixel.reg, pixel.reg); break;
842 case GGL_INVERT: MVN(AL, 0, pixel.reg, d.reg); break;
844 BIC(AL, 0, pixel.reg, d.reg, s.reg);
845 MVN(AL, 0, pixel.reg, pixel.reg); break;
846 case GGL_COPY_INVERTED: MVN(AL, 0, pixel.reg, s.reg); break;
848 BIC(AL, 0, pixel.reg, s.reg, d.reg);
849 MVN(AL, 0, pixel.reg, pixel.reg); break;
850 case GGL_NAND: AND(AL, 0, pixel.reg, s.reg, d.reg);
851 MVN(AL, 0, pixel.reg, pixel.reg); break;
852 case GGL_SET: MVN(AL, 0, pixel.reg, imm(0)); break;
934 void GGLAssembler::build_masking(pixel_t& pixel, Scratch& regs)
943 pixel_t s(pixel);
944 if (!(pixel.flags & CORRUPTIBLE)) {
945 pixel.reg = regs.obtain();
946 pixel.flags |= CORRUPTIBLE;
968 build_and_immediate(pixel.reg, s.reg, mask, fb.size());
969 s = pixel;
979 if (s.reg == pixel.reg) {
982 MOV(AL, 0, pixel.reg, fb.reg);
985 ORR(AL, 0, pixel.reg, s.reg, fb.reg);