summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2022-06-28 12:43:21 +1000
committerMarge Bot <emma+marge@anholt.net>2022-06-29 05:08:43 +0000
commitafe47bf0641d2a7b4ed857eeab454d059e6b7338 (patch)
treee17a8f920d3a35fd411d38ecbb09af997db6d7a1 /src/gallium/auxiliary
parent202bbedc55ab17ceb859d0c20817fb07d74bdb46 (diff)
draw/cliptest: add support for guard band + full Z
This is hit using lavapipe with zink on top running dEQP-GL45-ES31.functional.primitive_bounding_box.wide_points.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17270>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_post_vs.c13
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;