Lines Matching refs:push
139 struct nouveau_pushbuf *push = pNv->pushbuf;
170 BEGIN_NV04(push, NV30_3D(BLEND_FUNC_ENABLE), 1);
171 PUSH_DATA (push, 0);
173 BEGIN_NV04(push, NV30_3D(BLEND_FUNC_ENABLE), 5);
174 PUSH_DATA (push, 1);
175 PUSH_DATA (push, sblend);
176 PUSH_DATA (push, dblend);
177 PUSH_DATA (push, 0x00000000);
178 PUSH_DATA (push, NV40_3D_BLEND_EQUATION_ALPHA_FUNC_ADD |
186 struct nouveau_pushbuf *push = pNv->pushbuf;
188 PUSH_DATAu(push, pNv->scratch, SOLID(unit), 2);
189 PUSH_DATA (push, pPict->pSourcePict->solidFill.color);
190 PUSH_DATA (push, 0);
191 BEGIN_NV04(push, NV30_3D(TEX_OFFSET(unit)), 8);
192 PUSH_MTHDl(push, NV30_3D(TEX_OFFSET(unit)), pNv->scratch, SOLID(unit),
194 PUSH_DATA (push, NV40_3D_TEX_FORMAT_FORMAT_A8R8G8B8 | 0x8000 |
200 PUSH_DATA (push, NV30_3D_TEX_WRAP_S_REPEAT |
203 PUSH_DATA (push, NV40_3D_TEX_ENABLE_ENABLE);
204 PUSH_DATA (push, 0x0000aae4);
205 PUSH_DATA (push, NV30_3D_TEX_FILTER_MIN_NEAREST |
207 PUSH_DATA (push, 0x00010001);
208 PUSH_DATA (push, 0x00000000);
209 BEGIN_NV04(push, NV40_3D(TEX_SIZE1(unit)), 1);
210 PUSH_DATA (push, 0x00100040);
212 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_CONST_ID), 17);
213 PUSH_DATA (push, unit * 4);
214 PUSH_DATAf(push, 1.0);
215 PUSH_DATAf(push, 0.0);
216 PUSH_DATAf(push, 0.0);
217 PUSH_DATAf(push, 0.0);
218 PUSH_DATAf(push, 0.0);
219 PUSH_DATAf(push, 1.0);
220 PUSH_DATAf(push, 0.0);
221 PUSH_DATAf(push, 0.0);
222 PUSH_DATAf(push, 0.0);
223 PUSH_DATAf(push, 0.0);
224 PUSH_DATAf(push, 1.0);
225 PUSH_DATAf(push, 0.0);
226 PUSH_DATAf(push, 1.0);
227 PUSH_DATAf(push, 1.0);
228 PUSH_DATAf(push, 0.0);
229 PUSH_DATAf(push, 0.0);
243 struct nouveau_pushbuf *push = pNv->pushbuf;
251 BEGIN_NV04(push, NV30_3D(TEX_OFFSET(unit)), 8);
252 PUSH_MTHDl(push, NV30_3D(TEX_OFFSET(unit)), bo, 0, reloc);
253 PUSH_MTHDs(push, NV30_3D(TEX_FORMAT(unit)), bo, fmt->card_fmt |
263 PUSH_DATA (push, NV30_3D_TEX_WRAP_S_CLAMP_TO_EDGE |
268 PUSH_DATA (push, NV30_3D_TEX_WRAP_S_MIRRORED_REPEAT |
274 PUSH_DATA (push, NV30_3D_TEX_WRAP_S_REPEAT |
280 PUSH_DATA (push, NV30_3D_TEX_WRAP_S_CLAMP_TO_BORDER |
284 PUSH_DATA (push, NV40_3D_TEX_ENABLE_ENABLE);
285 PUSH_DATA (push, fmt->card_swz);
287 PUSH_DATA (push, NV30_3D_TEX_FILTER_MIN_LINEAR |
290 PUSH_DATA (push, NV30_3D_TEX_FILTER_MIN_NEAREST |
293 PUSH_DATA (push, (pPix->drawable.width << 16) | pPix->drawable.height);
294 PUSH_DATA (push, 0); /* border ARGB */
295 BEGIN_NV04(push, NV40_3D(TEX_SIZE1(unit)), 1);
296 PUSH_DATA (push, (1 << NV40_3D_TEX_SIZE1_DEPTH__SHIFT) |
299 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_CONST_ID), 17);
300 PUSH_DATA (push, unit * 4);
302 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[0][0]));
303 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[0][1]));
304 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[0][2]));
305 PUSH_DATAf(push, 0);
306 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[1][0]));
307 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[1][1]));
308 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[1][2]));
309 PUSH_DATAf(push, 0);
310 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[2][0]));
311 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[2][1]));
312 PUSH_DATAf(push, xFixedToFloat(pPict->transform->matrix[2][2]));
313 PUSH_DATAf(push, 0);
315 PUSH_DATAf(push, 1.0);
316 PUSH_DATAf(push, 0.0);
317 PUSH_DATAf(push, 0.0);
318 PUSH_DATAf(push, 0.0);
319 PUSH_DATAf(push, 0.0);
320 PUSH_DATAf(push, 1.0);
321 PUSH_DATAf(push, 0.0);
322 PUSH_DATAf(push, 0.0);
323 PUSH_DATAf(push, 0.0);
324 PUSH_DATAf(push, 0.0);
325 PUSH_DATAf(push, 1.0);
326 PUSH_DATAf(push, 0.0);
328 PUSH_DATAf(push, 1.0 / pPix->drawable.width);
329 PUSH_DATAf(push, 1.0 / pPix->drawable.height);
330 PUSH_DATAf(push, 0.0);
331 PUSH_DATAf(push, 1.0);
358 struct nouveau_pushbuf *push = pNv->pushbuf;
368 BEGIN_NV04(push, NV30_3D(RT_FORMAT), 3);
369 PUSH_DATA (push, NV30_3D_RT_FORMAT_TYPE_LINEAR |
371 PUSH_DATA (push, exaGetPixmapPitch(pPix));
372 PUSH_MTHDl(push, NV30_3D(COLOR0_OFFSET), bo, 0,
462 struct nouveau_pushbuf *push = pNv->pushbuf;
465 if (!PUSH_SPACE(push, 128))
467 PUSH_RESET(push);
499 BEGIN_NV04(push, NV30_3D(FP_ACTIVE_PROGRAM), 1);
500 PUSH_MTHD (push, NV30_3D(FP_ACTIVE_PROGRAM), pNv->scratch, fragprog,
505 BEGIN_NV04(push, NV30_3D(FP_CONTROL), 1);
506 PUSH_DATA (push, 0x02000000);
511 BEGIN_NV04(push, NV40_3D(TEX_CACHE_CTL), 1);
512 PUSH_DATA (push, 2);
513 BEGIN_NV04(push, NV40_3D(TEX_CACHE_CTL), 1);
514 PUSH_DATA (push, 1);
516 nouveau_pushbuf_bufctx(push, pNv->bufctx);
517 if (nouveau_pushbuf_validate(push)) {
518 nouveau_pushbuf_bufctx(push, NULL);
526 PUSH_VTX2s(struct nouveau_pushbuf *push,
529 BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(8)), 2);
530 PUSH_DATA (push, ((y1 & 0xffff) << 16) | (x1 & 0xffff));
531 PUSH_DATA (push, ((y2 & 0xffff) << 16) | (x2 & 0xffff));
532 BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(0)), 1);
533 PUSH_DATA (push, ((dy & 0xffff) << 16) | (dx & 0xffff));
542 struct nouveau_pushbuf *push = pNv->pushbuf;
544 if (!PUSH_SPACE(push, 64))
552 BEGIN_NV04(push, NV30_3D(SCISSOR_HORIZ), 2);
553 PUSH_DATA (push, (w << 16) | dx);
554 PUSH_DATA (push, (h << 16) | dy);
555 BEGIN_NV04(push, NV30_3D(VERTEX_BEGIN_END), 1);
556 PUSH_DATA (push, NV30_3D_VERTEX_BEGIN_END_TRIANGLES);
557 PUSH_VTX2s(push, sx, sy + (h * 2), mx, my + (h * 2), dx, dy + (h * 2));
558 PUSH_VTX2s(push, sx, sy, mx, my, dx, dy);
559 PUSH_VTX2s(push, sx + (w * 2), sy, mx + (w * 2), my, dx + (w * 2), dy);
560 BEGIN_NV04(push, NV30_3D(VERTEX_BEGIN_END), 1);
561 PUSH_DATA (push, NV30_3D_VERTEX_BEGIN_END_STOP);
577 struct nouveau_pushbuf *push = pNv->pushbuf;
604 if (!PUSH_SPACE(push, 256))
607 BEGIN_NV04(push, NV01_SUBC(3D, OBJECT), 1);
608 PUSH_DATA (push, pNv->Nv3D->handle);
609 BEGIN_NV04(push, NV30_3D(DMA_NOTIFY), 1);
610 PUSH_DATA (push, pNv->notify0->handle);
611 BEGIN_NV04(push, NV30_3D(DMA_TEXTURE0), 2);
612 PUSH_DATA (push, fifo->vram);
613 PUSH_DATA (push, fifo->gart);
614 BEGIN_NV04(push, NV30_3D(DMA_COLOR0), 2);
615 PUSH_DATA (push, fifo->vram);
616 PUSH_DATA (push, fifo->vram);
619 BEGIN_NV04(push, SUBC_3D(0x1ea4), 3);
620 PUSH_DATA (push, 0x00000010);
621 PUSH_DATA (push, 0x01000100);
622 PUSH_DATA (push, 0xff800006);
623 BEGIN_NV04(push, SUBC_3D(0x1fc4), 1);
624 PUSH_DATA (push, 0x06144321);
625 BEGIN_NV04(push, SUBC_3D(0x1fc8), 2);
626 PUSH_DATA (push, 0xedcba987);
627 PUSH_DATA (push, 0x00000021);
628 BEGIN_NV04(push, SUBC_3D(0x1fd0), 1);
629 PUSH_DATA (push, 0x00171615);
630 BEGIN_NV04(push, SUBC_3D(0x1fd4), 1);
631 PUSH_DATA (push, 0x001b1a19);
632 BEGIN_NV04(push, SUBC_3D(0x1ef8), 1);
633 PUSH_DATA (push, 0x0020ffff);
634 BEGIN_NV04(push, SUBC_3D(0x1d64), 1);
635 PUSH_DATA (push, 0x00d30000);
636 BEGIN_NV04(push, NV30_3D(ENGINE), 1);
637 PUSH_DATA (push, NV30_3D_ENGINE_FP);
642 BEGIN_NV04(push, NV30_3D(FP_REG_CONTROL), 1);
643 PUSH_DATA (push, 0x0000000F);
645 BEGIN_NV04(push, NV30_3D(VIEWPORT_TRANSLATE_X), 8);
646 PUSH_DATAf(push, 0.0);
647 PUSH_DATAf(push, 0.0);
648 PUSH_DATAf(push, 0.0);
649 PUSH_DATAf(push, 0.0);
650 PUSH_DATAf(push, 1.0);
651 PUSH_DATAf(push, 1.0);
652 PUSH_DATAf(push, 1.0);
653 PUSH_DATAf(push, 0.0);
657 BEGIN_NV04(push, NV30_3D(STENCIL_ENABLE(0)), 1);
658 PUSH_DATA (push, 0);
659 BEGIN_NV04(push, NV30_3D(STENCIL_ENABLE(1)), 1);
660 PUSH_DATA (push, 0);
661 BEGIN_NV04(push, NV30_3D(ALPHA_FUNC_ENABLE), 1);
662 PUSH_DATA (push, 0);
663 BEGIN_NV04(push, NV30_3D(DEPTH_WRITE_ENABLE), 2);
664 PUSH_DATA (push, 0);
665 PUSH_DATA (push, 0);
666 BEGIN_NV04(push, NV30_3D(COLOR_MASK), 1);
667 PUSH_DATA (push, 0x01010101); /* TR,TR,TR,TR */
668 BEGIN_NV04(push, NV30_3D(CULL_FACE_ENABLE), 1);
669 PUSH_DATA (push, 0);
670 BEGIN_NV04(push, NV30_3D(BLEND_FUNC_ENABLE), 1);
671 PUSH_DATA (push, 0);
672 BEGIN_NV04(push, NV30_3D(COLOR_LOGIC_OP_ENABLE), 2);
673 PUSH_DATA (push, 0);
674 PUSH_DATA (push, NV30_3D_COLOR_LOGIC_OP_OP_COPY);
675 BEGIN_NV04(push, NV30_3D(DITHER_ENABLE), 1);
676 PUSH_DATA (push, 0);
677 BEGIN_NV04(push, NV30_3D(SHADE_MODEL), 1);
678 PUSH_DATA (push, NV30_3D_SHADE_MODEL_SMOOTH);
679 BEGIN_NV04(push, NV30_3D(POLYGON_OFFSET_FACTOR),2);
680 PUSH_DATAf(push, 0.0);
681 PUSH_DATAf(push, 0.0);
682 BEGIN_NV04(push, NV30_3D(POLYGON_MODE_FRONT), 2);
683 PUSH_DATA (push, NV30_3D_POLYGON_MODE_FRONT_FILL);
684 PUSH_DATA (push, NV30_3D_POLYGON_MODE_BACK_FILL);
685 BEGIN_NV04(push, NV30_3D(POLYGON_STIPPLE_PATTERN(0)), 0x20);
687 PUSH_DATA (push, 0xFFFFFFFF);
689 BEGIN_NV04(push, NV30_3D(TEX_ENABLE(i)), 1);
690 PUSH_DATA (push, 0);
693 BEGIN_NV04(push, NV30_3D(DEPTH_CONTROL), 1);
694 PUSH_DATA (push, 0x110);
696 BEGIN_NV04(push, NV30_3D(RT_ENABLE), 1);
697 PUSH_DATA (push, NV30_3D_RT_ENABLE_COLOR0);
699 BEGIN_NV04(push, NV30_3D(RT_HORIZ), 2);
700 PUSH_DATA (push, (4096 << 16));
701 PUSH_DATA (push, (4096 << 16));
702 BEGIN_NV04(push, NV30_3D(SCISSOR_HORIZ), 2);
703 PUSH_DATA (push, (4096 << 16));
704 PUSH_DATA (push, (4096 << 16));
705 BEGIN_NV04(push, NV30_3D(VIEWPORT_HORIZ), 2);
706 PUSH_DATA (push, (4096 << 16));
707 PUSH_DATA (push, (4096 << 16));
708 BEGIN_NV04(push, NV30_3D(VIEWPORT_CLIP_HORIZ(0)), 2);
709 PUSH_DATA (push, (4095 << 16));
710 PUSH_DATA (push, (4095 << 16));
712 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_FROM_ID), 1);
713 PUSH_DATA (push, 0);
714 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
715 PUSH_DATA (push, 0x401f9c6c); /* mov o[hpos], a[0] */
716 PUSH_DATA (push, 0x0040000d);
717 PUSH_DATA (push, 0x8106c083);
718 PUSH_DATA (push, 0x6041ef80);
719 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
720 PUSH_DATA (push, 0x00001c6c); /* mov r0.xyw, a[8].xyww */
721 PUSH_DATA (push, 0x0040080f);
722 PUSH_DATA (push, 0x8106c083);
723 PUSH_DATA (push, 0x6041affc);
724 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
725 PUSH_DATA (push, 0x00009c6c); /* dp3 r1.x, r0.xyw, c[0].xyz */
726 PUSH_DATA (push, 0x0140000f);
727 PUSH_DATA (push, 0x808680c3);
728 PUSH_DATA (push, 0x60410ffc);
729 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
730 PUSH_DATA (push, 0x00009c6c); /* dp3 r1.y, r0.xyw, c[1].xyz */
731 PUSH_DATA (push, 0x0140100f);
732 PUSH_DATA (push, 0x808680c3);
733 PUSH_DATA (push, 0x60408ffc);
734 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
735 PUSH_DATA (push, 0x00009c6c); /* dp3 r1.w, r0.xyw, c[2].xyz */
736 PUSH_DATA (push, 0x0140200f);
737 PUSH_DATA (push, 0x808680c3);
738 PUSH_DATA (push, 0x60402ffc);
739 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
740 PUSH_DATA (push, 0x401f9c6c); /* mul o[tex0].xyw, r1, c[3] */
741 PUSH_DATA (push, 0x0080300d);
742 PUSH_DATA (push, 0x8286c0c3);
743 PUSH_DATA (push, 0x6041af9c);
744 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
745 PUSH_DATA (push, 0x00001c6c); /* mov r0.xyw, a[9].xyww */
746 PUSH_DATA (push, 0x0040090f);
747 PUSH_DATA (push, 0x8106c083);
748 PUSH_DATA (push, 0x6041affc);
749 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
750 PUSH_DATA (push, 0x00009c6c); /* dp3 r1.x, r0.xyw, c[4].xyz */
751 PUSH_DATA (push, 0x0140400f);
752 PUSH_DATA (push, 0x808680c3);
753 PUSH_DATA (push, 0x60410ffc);
754 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
755 PUSH_DATA (push, 0x00009c6c); /* dp3 r1.y, r0.xyw, c[5].xyz */
756 PUSH_DATA (push, 0x0140500f);
757 PUSH_DATA (push, 0x808680c3);
758 PUSH_DATA (push, 0x60408ffc);
759 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
760 PUSH_DATA (push, 0x00009c6c); /* dp3 r1.w, r0.xyw, c[6].xyz */
761 PUSH_DATA (push, 0x0140600f);
762 PUSH_DATA (push, 0x808680c3);
763 PUSH_DATA (push, 0x60402ffc);
764 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
765 PUSH_DATA (push, 0x401f9c6c); /* exit mul o[tex1].xyw, r1, c[4] */
766 PUSH_DATA (push, 0x0080700d);
767 PUSH_DATA (push, 0x8286c0c3);
768 PUSH_DATA (push, 0x6041afa1);
769 BEGIN_NV04(push, NV30_3D(VP_UPLOAD_INST(0)), 4);
770 PUSH_DATA (push, 0x00000000); /* exit */
771 PUSH_DATA (push, 0x00000000);
772 PUSH_DATA (push, 0x00000000);
773 PUSH_DATA (push, 0x00000001);
774 BEGIN_NV04(push, NV30_3D(VP_START_FROM_ID), 1);
775 PUSH_DATA (push, 0);
776 BEGIN_NV04(push, NV40_3D(VP_ATTRIB_EN), 2);
777 PUSH_DATA (push, 0x00000309);
778 PUSH_DATA (push, 0x0000c001);
780 PUSH_DATAu(push, pNv->scratch, PFP_PASS, 1 * 4);
781 PUSH_DATAs(push, 0x01403e81); /* mov r0, a[col0] */
782 PUSH_DATAs(push, 0x1c9dc801);
783 PUSH_DATAs(push, 0x0001c800);
784 PUSH_DATAs(push, 0x3fe1c800);
786 PUSH_DATAu(push, pNv->scratch, PFP_S, 2 * 4);
787 PUSH_DATAs(push, 0x18009e00); /* txp r0, a[tex0], t[0] */
788 PUSH_DATAs(push, 0x1c9dc801);
789 PUSH_DATAs(push, 0x0001c800);
790 PUSH_DATAs(push, 0x3fe1c800);
791 PUSH_DATAs(push, 0x01401e81); /* mov r0, r0 */
792 PUSH_DATAs(push, 0x1c9dc800);
793 PUSH_DATAs(push, 0x0001c800);
794 PUSH_DATAs(push, 0x0001c800);
796 PUSH_DATAu(push, pNv->scratch, PFP_S_A8, 2 * 4);
797 PUSH_DATAs(push, 0x18009000); /* txp r0.w, a[tex0], t[0] */
798 PUSH_DATAs(push, 0x1c9dc801);
799 PUSH_DATAs(push, 0x0001c800);
800 PUSH_DATAs(push, 0x3fe1c800);
801 PUSH_DATAs(push, 0x01401e81); /* mov r0, r0.w */
802 PUSH_DATAs(push, 0x1c9dfe00);
803 PUSH_DATAs(push, 0x0001c800);
804 PUSH_DATAs(push, 0x0001c800);
806 PUSH_DATAu(push, pNv->scratch, PFP_C, 3 * 4);
807 PUSH_DATAs(push, 0x1802b102); /* txpc0 r1.w, a[tex1], t[1] */
808 PUSH_DATAs(push, 0x1c9dc801);
809 PUSH_DATAs(push, 0x0001c800);
810 PUSH_DATAs(push, 0x3fe1c800);
811 PUSH_DATAs(push, 0x18009e00); /* txp r0 (ne0.w), a[tex0], t[0] */
812 PUSH_DATAs(push, 0x1ff5c801);
813 PUSH_DATAs(push, 0x0001c800);
814 PUSH_DATAs(push, 0x3fe1c800);
815 PUSH_DATAs(push, 0x02001e81); /* mul r0, r0, r1.w */
816 PUSH_DATAs(push, 0x1c9dc800);
817 PUSH_DATAs(push, 0x0001fe04);
818 PUSH_DATAs(push, 0x0001c800);
820 PUSH_DATAu(push, pNv->scratch, PFP_C_A8, 3 * 4);
821 PUSH_DATAs(push, 0x1802b102); /* txpc0 r1.w, a[tex1], t[1] */
822 PUSH_DATAs(push, 0x1c9dc801);
823 PUSH_DATAs(push, 0x0001c800);
824 PUSH_DATAs(push, 0x3fe1c800);
825 PUSH_DATAs(push, 0x18009000); /* txp r0.w (ne0.w), a[tex0], t[0] */
826 PUSH_DATAs(push, 0x1ff5c801);
827 PUSH_DATAs(push, 0x0001c800);
828 PUSH_DATAs(push, 0x3fe1c800);
829 PUSH_DATAs(push, 0x02001e81); /* mul r0, r0.w, r1.w */
830 PUSH_DATAs(push, 0x1c9dfe00);
831 PUSH_DATAs(push, 0x0001fe04);
832 PUSH_DATAs(push, 0x0001c800);
834 PUSH_DATAu(push, pNv->scratch, PFP_CCA, 3 * 4);
835 PUSH_DATAs(push, 0x18009f00); /* txpc0 r0, a[tex0], t[0] */
836 PUSH_DATAs(push, 0x1c9dc801);
837 PUSH_DATAs(push, 0x0001c800);
838 PUSH_DATAs(push, 0x3fe1c800);
839 PUSH_DATAs(push, 0x1802be02); /* txp r1 (ne0), a[tex1], t[1] */
840 PUSH_DATAs(push, 0x1c95c801);
841 PUSH_DATAs(push, 0x0001c800);
842 PUSH_DATAs(push, 0x3fe1c800);
843 PUSH_DATAs(push, 0x02001e81); /* mul r0, r0, r1 */
844 PUSH_DATAs(push, 0x1c9dc800);
845 PUSH_DATAs(push, 0x0001c804);
846 PUSH_DATAs(push, 0x0001c800);
848 PUSH_DATAu(push, pNv->scratch, PFP_CCASA, 3 * 4);
849 PUSH_DATAs(push, 0x18009102); /* txpc0 r1.w, a[tex0], t[0] */
850 PUSH_DATAs(push, 0x1c9dc801);
851 PUSH_DATAs(push, 0x0001c800);
852 PUSH_DATAs(push, 0x3fe1c800);
853 PUSH_DATAs(push, 0x1802be00); /* txp r0 (ne0.w), a[tex1], t[1] */
854 PUSH_DATAs(push, 0x1ff5c801);
855 PUSH_DATAs(push, 0x0001c800);
856 PUSH_DATAs(push, 0x3fe1c800);
857 PUSH_DATAs(push, 0x02001e81); /* mul r0, r1.w, r0 */
858 PUSH_DATAs(push, 0x1c9dfe04);
859 PUSH_DATAs(push, 0x0001c800);
860 PUSH_DATAs(push, 0x0001c800);
862 PUSH_DATAu(push, pNv->scratch, PFP_NV12_BILINEAR, 8 * 4);
863 PUSH_DATAs(push, 0x17028200); /* texr r0.x, a[tex0], t[1] */
864 PUSH_DATAs(push, 0x1c9dc801);
865 PUSH_DATAs(push, 0x0001c800);
866 PUSH_DATAs(push, 0x3fe1c800);
867 PUSH_DATAs(push, 0x04000e02); /* madr r1.xyz, r0.x, imm.x, imm.yzww */
868 PUSH_DATAs(push, 0x1c9c0000);
869 PUSH_DATAs(push, 0x00000002);
870 PUSH_DATAs(push, 0x0001f202);
871 PUSH_DATAs(push, 0x3f9507c8); /* { 1.16, -0.87, 0.53, -1.08 } */
872 PUSH_DATAs(push, 0xbf5ee393);
873 PUSH_DATAs(push, 0x3f078fef);
874 PUSH_DATAs(push, 0xbf8a6762);
875 PUSH_DATAs(push, 0x1704ac80); /* texr r0.yz, a[tex1], t[2] */
876 PUSH_DATAs(push, 0x1c9dc801);
877 PUSH_DATAs(push, 0x0001c800);
878 PUSH_DATAs(push, 0x3fe1c800);
879 PUSH_DATAs(push, 0x04000e02); /* madr r1.xyz, r0.y, imm, r1 */
880 PUSH_DATAs(push, 0x1c9cab00);
881 PUSH_DATAs(push, 0x0001c802);
882 PUSH_DATAs(push, 0x0001c804);
883 PUSH_DATAs(push, 0x00000000); /* { 0.00, -0.39, 2.02, 0.00 } */
884 PUSH_DATAs(push, 0xbec890d6);
885 PUSH_DATAs(push, 0x40011687);
886 PUSH_DATAs(push, 0x00000000);
887 PUSH_DATAs(push, 0x04000e81); /* madr r0.xyz, r0.z, imm, r1 */
888 PUSH_DATAs(push, 0x1c9d5500);
889 PUSH_DATAs(push, 0x0001c802);
890 PUSH_DATAs(push, 0x0001c804);
891 PUSH_DATAs(push, 0x3fcc432d); /* { 1.60, -0.81, 0.00, 0.00 } */
892 PUSH_DATAs(push, 0xbf501a37);
893 PUSH_DATAs(push, 0x00000000);
894 PUSH_DATAs(push, 0x00000000);
897 PUSH_DATAu(push, pNv->scratch, PFP_NV12_BICUBIC, 29 * 4);
898 PUSH_DATAs(push, 0x01008600); /* movr r0.xy, a[tex0] */
899 PUSH_DATAs(push, 0x1c9dc801);
900 PUSH_DATAs(push, 0x0001c800);
901 PUSH_DATAs(push, 0x3fe1c800);
902 PUSH_DATAs(push, 0x03000800); /* addr r0.z, r0.y, imm.x */
903 PUSH_DATAs(push, 0x1c9caa00);
904 PUSH_DATAs(push, 0x00000002);
905 PUSH_DATAs(push, 0x0001c800);
906 PUSH_DATAs(push, 0x3f000000); /* { 0.50, 0.00, 0.00, 0.00 } */
907 PUSH_DATAs(push, 0x00000000);
908 PUSH_DATAs(push, 0x00000000);
909 PUSH_DATAs(push, 0x00000000);
910 PUSH_DATAs(push, 0x03000202); /* addr r1.x, r0, imm.x */
911 PUSH_DATAs(push, 0x1c9dc800);
912 PUSH_DATAs(push, 0x00000002);
913 PUSH_DATAs(push, 0x0001c800);
914 PUSH_DATAs(push, 0x3f000000); /* { 0.50, 0.00, 0.00, 0.00 } */
915 PUSH_DATAs(push, 0x00000000);
916 PUSH_DATAs(push, 0x00000000);
917 PUSH_DATAs(push, 0x00000000);
918 PUSH_DATAs(push, 0x17000f82); /* texrc0 r1.xyz, r0.z, t[0] */
919 PUSH_DATAs(push, 0x1c9d5400);
920 PUSH_DATAs(push, 0x0001c800);
921 PUSH_DATAs(push, 0x0001c800);
922 PUSH_DATAs(push, 0x02001404); /* mulr r2.yw, r1.xxyy, imm.xxyy */
923 PUSH_DATAs(push, 0x1c9ca104);
924 PUSH_DATAs(push, 0x0000a002);
925 PUSH_DATAs(push, 0x0001c800);
926 PUSH_DATAs(push, 0xbf800000); /* { -1.00, 1.00, 0.00, 0.00 } */
927 PUSH_DATAs(push, 0x3f800000);
928 PUSH_DATAs(push, 0x00000000);
929 PUSH_DATAs(push, 0x00000000);
930 PUSH_DATAs(push, 0x17000e86); /* texr r3.xyz, r1, t[0] */
931 PUSH_DATAs(push, 0x1c9dc804);
932 PUSH_DATAs(push, 0x0001c800);
933 PUSH_DATAs(push, 0x0001c800);
934 PUSH_DATAs(push, 0x02000a04); /* mulr r2.xz, r3.xxyy, imm.xxyy */
935 PUSH_DATAs(push, 0x1c9ca10c);
936 PUSH_DATAs(push, 0x0000a002);
937 PUSH_DATAs(push, 0x0001c800);
938 PUSH_DATAs(push, 0xbf800000); /* { -1.00, 1.00, 0.00, 0.00 } */
939 PUSH_DATAs(push, 0x3f800000);
940 PUSH_DATAs(push, 0x00000000);
941 PUSH_DATAs(push, 0x00000000);
942 PUSH_DATAs(push, 0x03001e04); /* addr r2, r0.xyxy, r2 */
943 PUSH_DATAs(push, 0x1c9c8800);
944 PUSH_DATAs(push, 0x0001c808);
945 PUSH_DATAs(push, 0x0001c800);
946 PUSH_DATAs(push, 0x17020402); /* texr r1.y, r2.zwzz, -t[1] */
947 PUSH_DATAs(push, 0x1c9d5c08);
948 PUSH_DATAs(push, 0x0001c800);
949 PUSH_DATAs(push, 0x0001c800);
950 PUSH_DATAs(push, 0x04400282); /* madh r1.x, -r1.z, r1.y, r1.y */
951 PUSH_DATAs(push, 0x1c9f5504);
952 PUSH_DATAs(push, 0x0000aa04);
953 PUSH_DATAs(push, 0x0000aa04);
954 PUSH_DATAs(push, 0x17020400); /* texr r0.y, r2.xwxw, -t[1] */
955 PUSH_DATAs(push, 0x1c9d9808);
956 PUSH_DATAs(push, 0x0001c800);
957 PUSH_DATAs(push, 0x0001c800);
958 PUSH_DATAs(push, 0x04401080); /* madh r0.w, -r1.z, r0.y, r0.y */
959 PUSH_DATAs(push, 0x1c9f5504);
960 PUSH_DATAs(push, 0x0000aa00);
961 PUSH_DATAs(push, 0x0000aa00);
962 PUSH_DATAs(push, 0x17020200); /* texr r0.x, r2.zyxy, t[1] */
963 PUSH_DATAs(push, 0x1c9c8c08);
964 PUSH_DATAs(push, 0x0001c800);
965 PUSH_DATAs(push, 0x0001c800);
966 PUSH_DATAs(push, 0x04400282); /* madh r1.x, r1.z, r0, r1 */
967 PUSH_DATAs(push, 0x1c9d5504);
968 PUSH_DATAs(push, 0x0001c800);
969 PUSH_DATAs(push, 0x0001c904);
970 PUSH_DATAs(push, 0x17020200); /* texr r0.x (NE0.z), r2, t[1] */
971 PUSH_DATAs(push, 0x1555c808);
972 PUSH_DATAs(push, 0x0001c800);
973 PUSH_DATAs(push, 0x0001c800);
974 PUSH_DATAs(push, 0x04400280); /* madh r0.x, r1.z, r0, r0.w */
975 PUSH_DATAs(push, 0x1c9d5504);
976 PUSH_DATAs(push, 0x0001c800);
977 PUSH_DATAs(push, 0x0001ff00);
978 PUSH_DATAs(push, 0x04401080); /* madh r0.w, -r3.z, r1.x, r1.x */
979 PUSH_DATAs(push, 0x1c9f550c);
980 PUSH_DATAs(push, 0x00000104);
981 PUSH_DATAs(push, 0x00000104);
982 PUSH_DATAs(push, 0x1704ac80); /* texr r0.yz, a[tex1], t[2] */
983 PUSH_DATAs(push, 0x1c9dc801);
984 PUSH_DATAs(push, 0x0001c800);
985 PUSH_DATAs(push, 0x3fe1c800);
986 PUSH_DATAs(push, 0x04400280); /* madh r0.x, r3.z, r0, r0.w */
987 PUSH_DATAs(push, 0x1c9d550c);
988 PUSH_DATAs(push, 0x0001c900);
989 PUSH_DATAs(push, 0x0001ff00);
990 PUSH_DATAs(push, 0x04400e82); /* madh r1.xyz, r0.x, imm.x, imm.yzww */
991 PUSH_DATAs(push, 0x1c9c0100);
992 PUSH_DATAs(push, 0x00000002);
993 PUSH_DATAs(push, 0x0001f202);
994 PUSH_DATAs(push, 0x3f9507c8); /* { 1.16, -0.87, 0.53, -1.08 } */
995 PUSH_DATAs(push, 0xbf5ee393);
996 PUSH_DATAs(push, 0x3f078fef);
997 PUSH_DATAs(push, 0xbf8a6762);
998 PUSH_DATAs(push, 0x04400e82); /* madh r1.xyz, r0.y, imm, r1 */
999 PUSH_DATAs(push, 0x1c9cab00);
1000 PUSH_DATAs(push, 0x0001c802);
1001 PUSH_DATAs(push, 0x0001c904);
1002 PUSH_DATAs(push, 0x00000000); /* { 0.00, -0.39, 2.02, 0.00 } */
1003 PUSH_DATAs(push, 0xbec890d6);
1004 PUSH_DATAs(push, 0x40011687);
1005 PUSH_DATAs(push, 0x00000000);
1006 PUSH_DATAs(push, 0x04400e81); /* madh r0.xyz, r0.z, imm, r1 */
1007 PUSH_DATAs(push, 0x1c9d5500);
1008 PUSH_DATAs(push, 0x0001c802);
1009 PUSH_DATAs(push, 0x0001c904);
1010 PUSH_DATAs(push, 0x3fcc432d); /* { 1.60, -0.81, 0.00, 0.00 } */
1011 PUSH_DATAs(push, 0xbf501a37);
1012 PUSH_DATAs(push, 0x00000000);
1013 PUSH_DATAs(push, 0x00000000);