diff options
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt_post_vs.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pt_post_vs.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_post_vs.c b/src/gallium/auxiliary/draw/draw_pt_post_vs.c index 3a9101a44d0..9888fe77339 100644 --- a/src/gallium/auxiliary/draw/draw_pt_post_vs.c +++ b/src/gallium/auxiliary/draw/draw_pt_post_vs.c @@ -87,6 +87,10 @@ dot4(const float *a, const float *b) #define TAG(x) x##_xy_gb_halfz_viewport #include "draw_cliptest_tmp.h" +#define FLAGS (DO_CLIP_XY_GUARD_BAND | DO_CLIP_FULL_Z | DO_VIEWPORT) +#define TAG(x) x##_xy_gb_fullz_viewport +#include "draw_cliptest_tmp.h" + #define FLAGS (DO_CLIP_FULL_Z | DO_VIEWPORT) #define TAG(x) x##_fullz_viewport #include "draw_cliptest_tmp.h" @@ -135,11 +139,6 @@ void draw_pt_post_vs_prepare( struct pt_post_vs *pvs, { 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 ); @@ -193,6 +192,10 @@ void draw_pt_post_vs_prepare( struct pt_post_vs *pvs, pvs->run = do_cliptest_xy_gb_halfz_viewport; break; + case DO_CLIP_XY_GUARD_BAND | DO_CLIP_FULL_Z | DO_VIEWPORT: + pvs->run = do_cliptest_xy_gb_fullz_viewport; + break; + case DO_CLIP_FULL_Z | DO_VIEWPORT: pvs->run = do_cliptest_fullz_viewport; break; |