[Mesa-dev] [PATCH v2] swr: Fix type to match parameters of std::max()

Rowley, Timothy O timothy.o.rowley at intel.com
Fri Dec 2 19:21:50 UTC 2016


Should have parens on the zsbuf test line to match your corresponding change for cbuf attachments.

With that change, Reviewed-by: Tim Rowley <timothy.o.rowley at intel.com<mailto:timothy.o.rowley at intel.com>>

On Dec 2, 2016, at 1:18 PM, George Kyriazis <george.kyriazis at intel.com<mailto:george.kyriazis at intel.com>> wrote:

Include propagation of comparisons further down.
---
src/gallium/drivers/swr/swr_clear.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/swr/swr_clear.cpp b/src/gallium/drivers/swr/swr_clear.cpp
index f59179f..08eead8 100644
--- a/src/gallium/drivers/swr/swr_clear.cpp
+++ b/src/gallium/drivers/swr/swr_clear.cpp
@@ -35,7 +35,7 @@ swr_clear(struct pipe_context *pipe,
   struct pipe_framebuffer_state *fb = &ctx->framebuffer;

   UINT clearMask = 0;
-   int layers = 0;
+   unsigned layers = 0;

   if (!swr_check_render_cond(pipe))
      return;
@@ -47,20 +47,20 @@ swr_clear(struct pipe_context *pipe,
         if (fb->cbufs[i] && (buffers & (PIPE_CLEAR_COLOR0 << i))) {
            clearMask |= (SWR_ATTACHMENT_COLOR0_BIT << i);
            layers = std::max(layers, fb->cbufs[i]->u.tex.last_layer -
-                                      fb->cbufs[i]->u.tex.first_layer + 1);
+                                      fb->cbufs[i]->u.tex.first_layer + 1u);
         }
   }

   if (buffers & PIPE_CLEAR_DEPTH && fb->zsbuf) {
      clearMask |= SWR_ATTACHMENT_DEPTH_BIT;
      layers = std::max(layers, fb->zsbuf->u.tex.last_layer -
-                                fb->zsbuf->u.tex.first_layer + 1);
+                                fb->zsbuf->u.tex.first_layer + 1u);
   }

   if (buffers & PIPE_CLEAR_STENCIL && fb->zsbuf) {
      clearMask |= SWR_ATTACHMENT_STENCIL_BIT;
      layers = std::max(layers, fb->zsbuf->u.tex.last_layer -
-                                fb->zsbuf->u.tex.first_layer + 1);
+                                fb->zsbuf->u.tex.first_layer + 1u);
   }

#if 0 // XXX HACK, override clear color alpha. On ubuntu, clears are
@@ -68,7 +68,7 @@ swr_clear(struct pipe_context *pipe,
   ((union pipe_color_union *)color)->f[3] = 1.0; /* cast off your const'd-ness */
#endif

-   for (int i = 0; i < layers; ++i) {
+   for (unsigned i = 0; i < layers; ++i) {
      swr_update_draw_context(ctx);
      SwrClearRenderTarget(ctx->swrContext, clearMask, i,
                           color->f, depth, stencil,
@@ -76,11 +76,11 @@ swr_clear(struct pipe_context *pipe,

      // Mask out the attachments that are out of layers.
      if (fb->zsbuf &&
-          fb->zsbuf->u.tex.last_layer - fb->zsbuf->u.tex.first_layer <= i)
+          fb->zsbuf->u.tex.last_layer <= fb->zsbuf->u.tex.first_layer + i)
         clearMask &= ~(SWR_ATTACHMENT_DEPTH_BIT | SWR_ATTACHMENT_STENCIL_BIT);
      for (unsigned c = 0; c < fb->nr_cbufs; ++c) {
         const struct pipe_surface *sf = fb->cbufs[c];
-         if (sf && sf->u.tex.last_layer - sf->u.tex.first_layer <= i)
+         if (sf && (sf->u.tex.last_layer <= sf->u.tex.first_layer + i))
            clearMask &= ~(SWR_ATTACHMENT_COLOR0_BIT << c);
      }
   }
--
2.10.0.windows.1

_______________________________________________
mesa-dev mailing list
mesa-dev at lists.freedesktop.org<mailto:mesa-dev at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161202/44dad682/attachment.html>


More information about the mesa-dev mailing list