- BEGIN_RING(chan, kelvin, NV20TCL_TX_SHADER_OP, 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_TX_SHADER_CULL_MODE, 1);
- OUT_RING (chan, 0);
-
- BEGIN_RING(chan, kelvin, NV20TCL_RC_IN_ALPHA(0), 4);
- OUT_RING (chan, 0x30d410d0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_OUT_RGB(0), 4);
- OUT_RING (chan, 0x00000c00);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_ENABLE, 1);
- OUT_RING (chan, 0x00011101);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_FINAL0, 2);
- OUT_RING (chan, 0x130e0300);
- OUT_RING (chan, 0x0c091c80);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_OUT_ALPHA(0), 4);
- OUT_RING (chan, 0x00000c00);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_IN_RGB(0), 4);
- OUT_RING (chan, 0x20c400c0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_COLOR0, 2);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_RC_CONSTANT_COLOR0(0), 4);
- OUT_RING (chan, 0x035125a0);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0x40002000);
- OUT_RING (chan, 0);
-
- BEGIN_RING(chan, kelvin, NV20TCL_MULTISAMPLE_CONTROL, 1);
- OUT_RING (chan, 0xffff0000);
- BEGIN_RING(chan, kelvin, NV20TCL_BLEND_FUNC_ENABLE, 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_DITHER_ENABLE, 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_STENCIL_ENABLE, 1);
- OUT_RING (chan, 0);
- BEGIN_RING(chan, kelvin, NV20TCL_BLEND_FUNC_SRC, 4);
- OUT_RING (chan, NV20TCL_BLEND_FUNC_SRC_ONE);
- OUT_RING (chan, NV20TCL_BLEND_FUNC_DST_ZERO);
- OUT_RING (chan, 0);
- OUT_RING (chan, NV20TCL_BLEND_EQUATION_FUNC_ADD);
- BEGIN_RING(chan, kelvin, NV20TCL_STENCIL_MASK, 7);
- OUT_RING (chan, 0xff);
- OUT_RING (chan, NV20TCL_STENCIL_FUNC_FUNC_ALWAYS);
- OUT_RING (chan, 0);
- OUT_RING (chan, 0xff);
- OUT_RING (chan, NV20TCL_STENCIL_OP_FAIL_KEEP);
- OUT_RING (chan, NV20TCL_STENCIL_OP_ZFAIL_KEEP);
- OUT_RING (chan, NV20TCL_STENCIL_OP_ZPASS_KEEP);
-
- BEGIN_RING(chan, kelvin, NV20TCL_COLOR_LOGIC_OP_ENABLE, 2);
- OUT_RING (chan, 0);
- OUT_RING (chan, NV20TCL_COLOR_LOGIC_OP_OP_COPY);
- BEGIN_RING(chan, kelvin, 0x17cc, 1);
- OUT_RING (chan, 0);
+ BEGIN_NV04(push, NV20_3D(TEX_SHADER_OP), 1);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(TEX_SHADER_CULL_MODE), 1);
+ PUSH_DATA (push, 0);
+
+ BEGIN_NV04(push, NV20_3D(RC_IN_ALPHA(0)), 4);
+ PUSH_DATA (push, 0x30d410d0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(RC_OUT_RGB(0)), 4);
+ PUSH_DATA (push, 0x00000c00);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(RC_ENABLE), 1);
+ PUSH_DATA (push, 0x00011101);
+ BEGIN_NV04(push, NV20_3D(RC_FINAL0), 2);
+ PUSH_DATA (push, 0x130e0300);
+ PUSH_DATA (push, 0x0c091c80);
+ BEGIN_NV04(push, NV20_3D(RC_OUT_ALPHA(0)), 4);
+ PUSH_DATA (push, 0x00000c00);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(RC_IN_RGB(0)), 4);
+ PUSH_DATA (push, 0x20c400c0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(RC_COLOR0), 2);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(RC_CONSTANT_COLOR0(0)), 4);
+ PUSH_DATA (push, 0x035125a0);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0x40002000);
+ PUSH_DATA (push, 0);
+
+ BEGIN_NV04(push, NV20_3D(MULTISAMPLE_CONTROL), 1);
+ PUSH_DATA (push, 0xffff0000);
+ BEGIN_NV04(push, NV20_3D(BLEND_FUNC_ENABLE), 1);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(DITHER_ENABLE), 1);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(STENCIL_ENABLE), 1);
+ PUSH_DATA (push, 0);
+ BEGIN_NV04(push, NV20_3D(BLEND_FUNC_SRC), 4);
+ PUSH_DATA (push, NV20_3D_BLEND_FUNC_SRC_ONE);
+ PUSH_DATA (push, NV20_3D_BLEND_FUNC_DST_ZERO);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, NV20_3D_BLEND_EQUATION_FUNC_ADD);
+ BEGIN_NV04(push, NV20_3D(STENCIL_MASK), 7);
+ PUSH_DATA (push, 0xff);
+ PUSH_DATA (push, NV20_3D_STENCIL_FUNC_FUNC_ALWAYS);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, 0xff);
+ PUSH_DATA (push, NV20_3D_STENCIL_OP_FAIL_KEEP);
+ PUSH_DATA (push, NV20_3D_STENCIL_OP_ZFAIL_KEEP);
+ PUSH_DATA (push, NV20_3D_STENCIL_OP_ZPASS_KEEP);
+
+ BEGIN_NV04(push, NV20_3D(COLOR_LOGIC_OP_ENABLE), 2);
+ PUSH_DATA (push, 0);
+ PUSH_DATA (push, NV20_3D_COLOR_LOGIC_OP_OP_COPY);
+ BEGIN_NV04(push, SUBC_3D(0x17cc), 1);
+ PUSH_DATA (push, 0);