Mesa (master): gallium/i915: inline the util_clear() code into i915_clear_blitter()

Brian Paul brianp at kemper.freedesktop.org
Tue Aug 16 14:29:09 UTC 2016


Module: Mesa
Branch: master
Commit: 22b8288b336d506997d69e3b026fcf16c996a973
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=22b8288b336d506997d69e3b026fcf16c996a973

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Aug 11 09:30:51 2016 -0600

gallium/i915: inline the util_clear() code into i915_clear_blitter()

This is the only place the util_clear() function was used.

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/i915/i915_clear.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_clear.c b/src/gallium/drivers/i915/i915_clear.c
index 57244a6..a1af789 100644
--- a/src/gallium/drivers/i915/i915_clear.c
+++ b/src/gallium/drivers/i915/i915_clear.c
@@ -30,7 +30,6 @@
  */
 
 
-#include "util/u_clear.h"
 #include "util/u_format.h"
 #include "util/u_pack_color.h"
 #include "i915_context.h"
@@ -221,8 +220,27 @@ i915_clear_blitter(struct pipe_context *pipe, unsigned buffers,
                    const union pipe_color_union *color,
                    double depth, unsigned stencil)
 {
-   util_clear(pipe, &i915_context(pipe)->framebuffer, buffers, color, depth,
-              stencil);
+   struct pipe_framebuffer_state *framebuffer =
+      &i915_context(pipe)->framebuffer;
+   unsigned i;
+
+   for (i = 0; i < framebuffer->nr_cbufs; i++) {
+      if (buffers & (PIPE_CLEAR_COLOR0 << i)) {
+         struct pipe_surface *ps = framebuffer->cbufs[i];
+
+         if (ps) {
+            pipe->clear_render_target(pipe, ps, color, 0, 0, ps->width,
+                                      ps->height, true);
+         }
+      }
+   }
+
+   if (buffers & PIPE_CLEAR_DEPTHSTENCIL) {
+      struct pipe_surface *ps = framebuffer->zsbuf;
+      pipe->clear_depth_stencil(pipe, ps, buffers & PIPE_CLEAR_DEPTHSTENCIL,
+                                depth, stencil,
+                                0, 0, ps->width, ps->height, true);
+   }
 }
 
 void




More information about the mesa-commit mailing list