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

Author: Rob Clark <robdcl...@gmail.com>
Date:   Tue Feb 27 12:59:57 2018 -0500

freedreno: surfaces can be PIPE_BUFFER

At least for clover.

Signed-off-by: Rob Clark <robdcl...@gmail.com>

---

 src/gallium/drivers/freedreno/freedreno_surface.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_surface.c 
b/src/gallium/drivers/freedreno/freedreno_surface.c
index 5ebc4937ed..1295fc2659 100644
--- a/src/gallium/drivers/freedreno/freedreno_surface.c
+++ b/src/gallium/drivers/freedreno/freedreno_surface.c
@@ -44,7 +44,6 @@ fd_create_surface(struct pipe_context *pctx,
        if (!surface)
                return NULL;
 
-       debug_assert(surf_tmpl->u.tex.first_layer == 
surf_tmpl->u.tex.last_layer);
 
        struct pipe_surface *psurf = &surface->base;
        unsigned level = surf_tmpl->u.tex.level;
@@ -56,9 +55,16 @@ fd_create_surface(struct pipe_context *pctx,
        psurf->format = surf_tmpl->format;
        psurf->width = u_minify(ptex->width0, level);
        psurf->height = u_minify(ptex->height0, level);
-       psurf->u.tex.level = level;
-       psurf->u.tex.first_layer = surf_tmpl->u.tex.first_layer;
-       psurf->u.tex.last_layer = surf_tmpl->u.tex.last_layer;
+
+       if (ptex->target == PIPE_BUFFER) {
+               psurf->u.buf.first_element = surf_tmpl->u.buf.first_element;
+               psurf->u.buf.last_element = surf_tmpl->u.buf.last_element;
+       } else {
+               debug_assert(surf_tmpl->u.tex.first_layer == 
surf_tmpl->u.tex.last_layer);
+               psurf->u.tex.level = level;
+               psurf->u.tex.first_layer = surf_tmpl->u.tex.first_layer;
+               psurf->u.tex.last_layer = surf_tmpl->u.tex.last_layer;
+       }
 
        // TODO
        DBG("TODO: %ux%u", psurf->width, psurf->height);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to