+ pvs->flags = 0;
+
+ /* This combination not currently tested/in use:
+ */
+ if (!clip_halfz)
+ guard_band = FALSE;
+
+ if (clip_xy && !guard_band) {
+ pvs->flags |= DO_CLIP_XY;
+ ASSIGN_4V( pvs->draw->plane[0], -1, 0, 0, 1 );
+ ASSIGN_4V( pvs->draw->plane[1], 1, 0, 0, 1 );
+ ASSIGN_4V( pvs->draw->plane[2], 0, -1, 0, 1 );
+ ASSIGN_4V( pvs->draw->plane[3], 0, 1, 0, 1 );
+ }
+ else if (clip_xy && guard_band) {
+ pvs->flags |= DO_CLIP_XY_GUARD_BAND;
+ ASSIGN_4V( pvs->draw->plane[0], -0.5, 0, 0, 1 );
+ ASSIGN_4V( pvs->draw->plane[1], 0.5, 0, 0, 1 );
+ ASSIGN_4V( pvs->draw->plane[2], 0, -0.5, 0, 1 );
+ ASSIGN_4V( pvs->draw->plane[3], 0, 0.5, 0, 1 );
+ }
+
+ if (clip_z) {
+ if (clip_halfz) {
+ pvs->flags |= DO_CLIP_HALF_Z;
+ ASSIGN_4V( pvs->draw->plane[4], 0, 0, 1, 0 );
+ } else {
+ pvs->flags |= DO_CLIP_FULL_Z;
+ ASSIGN_4V( pvs->draw->plane[4], 0, 0, 1, 1 );