OSDN Git Service

freedreno/a6xx: remove vismode param
authorRob Clark <robdclark@gmail.com>
Fri, 12 Oct 2018 20:29:22 +0000 (16:29 -0400)
committerRob Clark <robdclark@gmail.com>
Wed, 17 Oct 2018 16:44:48 +0000 (12:44 -0400)
We don't need to keep this IGNORE_VISIBILITY in binning pass.  Prep work
for using single cmdstream for both draw and binning passes.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/a6xx/fd6_draw.c

index f758645..adb1e4e 100644 (file)
@@ -46,7 +46,6 @@
 static void
 draw_emit_indirect(struct fd_batch *batch, struct fd_ringbuffer *ring,
                                   enum pc_di_primtype primtype,
-                                  enum pc_di_vis_cull_mode vismode,
                                   const struct pipe_draw_info *info,
                                   unsigned index_offset)
 {
@@ -77,7 +76,6 @@ draw_emit_indirect(struct fd_batch *batch, struct fd_ringbuffer *ring,
 static void
 draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
                  enum pc_di_primtype primtype,
-                 enum pc_di_vis_cull_mode vismode,
                  const struct pipe_draw_info *info,
                  unsigned index_offset)
 {
@@ -97,11 +95,7 @@ draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
                        0x2000;
 
                OUT_PKT7(ring, CP_DRAW_INDX_OFFSET, 7);
-               if (vismode == USE_VISIBILITY) {
-                       OUT_RINGP(ring, draw, &batch->draw_patches);
-               } else {
-                       OUT_RING(ring, draw);
-               }
+               OUT_RINGP(ring, draw, &batch->draw_patches);
                OUT_RING(ring, info->instance_count);    /* NumInstances */
                OUT_RING(ring, info->count);             /* NumIndices */
                OUT_RING(ring, 0x0);           /* XXX */
@@ -116,11 +110,7 @@ draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
                        0x2000;
 
                OUT_PKT7(ring, CP_DRAW_INDX_OFFSET, 3);
-               if (vismode == USE_VISIBILITY) {
-                       OUT_RINGP(ring, draw, &batch->draw_patches);
-               } else {
-                       OUT_RING(ring, draw);
-               }
+               OUT_RINGP(ring, draw, &batch->draw_patches);
                OUT_RING(ring, info->instance_count);    /* NumInstances */
                OUT_RING(ring, info->count);             /* NumIndices */
        }
@@ -156,11 +146,9 @@ draw_impl(struct fd_context *ctx, struct fd_ringbuffer *ring,
 
        if (info->indirect) {
                draw_emit_indirect(ctx->batch, ring, primtype,
-                                                  emit->binning_pass ? IGNORE_VISIBILITY : USE_VISIBILITY,
                                                   info, index_offset);
        } else {
                draw_emit(ctx->batch, ring, primtype,
-                                 emit->binning_pass ? IGNORE_VISIBILITY : USE_VISIBILITY,
                                  info, index_offset);
        }