nv50: reverse stencil sides, header is wrong
authorBen Skeggs <skeggsb@gmail.com>
Tue, 24 Jun 2008 20:07:02 +0000 (06:07 +1000)
committerBen Skeggs <skeggsb@gmail.com>
Sun, 29 Jun 2008 05:46:53 +0000 (15:46 +1000)
src/gallium/drivers/nv50/nv50_state.c

index d72886ac596240ed2e0cdd3bb5e9862b85e0c9bb..665e3cc80d60174582dd57d7abaada1ccaf77df6 100644 (file)
@@ -283,24 +283,25 @@ nv50_depth_stencil_alpha_state_create(struct pipe_context *pipe,
                so_data  (so, 0);
        }
 
+       /*XXX: yes, I know they're backwards.. header needs fixing */
        if (cso->stencil[0].enabled) {
-               so_method(so, tesla, NV50TCL_STENCIL_FRONT_ENABLE, 5);
+               so_method(so, tesla, NV50TCL_STENCIL_BACK_ENABLE, 5);
                so_data  (so, 1);
                so_data  (so, nvgl_stencil_op(cso->stencil[0].fail_op));
                so_data  (so, nvgl_stencil_op(cso->stencil[0].zfail_op));
                so_data  (so, nvgl_stencil_op(cso->stencil[0].zpass_op));
                so_data  (so, nvgl_comparison_op(cso->stencil[0].func));
-               so_method(so, tesla, NV50TCL_STENCIL_FRONT_FUNC_REF, 3);
+               so_method(so, tesla, NV50TCL_STENCIL_BACK_FUNC_REF, 3);
                so_data  (so, cso->stencil[0].ref_value);
                so_data  (so, cso->stencil[0].write_mask);
                so_data  (so, cso->stencil[0].value_mask);
        } else {
-               so_method(so, tesla, NV50TCL_STENCIL_FRONT_ENABLE, 1);
+               so_method(so, tesla, NV50TCL_STENCIL_BACK_ENABLE, 1);
                so_data  (so, 0);
        }
 
        if (cso->stencil[1].enabled) {
-               so_method(so, tesla, NV50TCL_STENCIL_BACK_ENABLE, 8);
+               so_method(so, tesla, NV50TCL_STENCIL_FRONT_ENABLE, 8);
                so_data  (so, 1);
                so_data  (so, nvgl_stencil_op(cso->stencil[1].fail_op));
                so_data  (so, nvgl_stencil_op(cso->stencil[1].zfail_op));
@@ -310,7 +311,7 @@ nv50_depth_stencil_alpha_state_create(struct pipe_context *pipe,
                so_data  (so, cso->stencil[1].write_mask);
                so_data  (so, cso->stencil[1].value_mask);
        } else {
-               so_method(so, tesla, NV50TCL_STENCIL_BACK_ENABLE, 1);
+               so_method(so, tesla, NV50TCL_STENCIL_FRONT_ENABLE, 1);
                so_data  (so, 0);
        }