[Mesa-dev] [PATCH 5/6] svga: stop using pipe_surface::usage

Marek Olšák maraeo at gmail.com
Sat Dec 8 06:40:21 PST 2012


There are only 2 possible usages: render target and depth stencil.
Both can be derived from the surface format, so the flag is redundant.

And it's going away...
---
 src/gallium/drivers/svga/svga_surface.c |   22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c
index 6c4f06d..d3c228b 100644
--- a/src/gallium/drivers/svga/svga_surface.c
+++ b/src/gallium/drivers/svga/svga_surface.c
@@ -191,9 +191,6 @@ svga_create_surface(struct pipe_context *pipe,
    struct svga_screen *ss = svga_screen(screen);
    struct svga_surface *s;
    unsigned face, zslice;
-   /* XXX surfaces should only be used for rendering purposes nowadays */
-   boolean render = (surf_tmpl->usage & (PIPE_BIND_RENDER_TARGET |
-                                         PIPE_BIND_DEPTH_STENCIL)) ? TRUE : FALSE;
    boolean view = FALSE;
    SVGA3dSurfaceFlags flags;
    SVGA3dSurfaceFormat format;
@@ -224,26 +221,21 @@ svga_create_surface(struct pipe_context *pipe,
    s->base.u.tex.first_layer = surf_tmpl->u.tex.first_layer;
    s->base.u.tex.last_layer = surf_tmpl->u.tex.last_layer;
 
-   if (!render) {
-      flags = SVGA3D_SURFACE_HINT_TEXTURE;
-   } else {
-      if (surf_tmpl->usage & PIPE_BIND_RENDER_TARGET) {
-         flags = SVGA3D_SURFACE_HINT_RENDERTARGET;
-      }
-      if (surf_tmpl->usage & PIPE_BIND_DEPTH_STENCIL) {
-         flags = SVGA3D_SURFACE_HINT_DEPTHSTENCIL;
-      }
+   if (util_format_is_depth_or_stencil(surf_tmpl->format)) {
+      flags = SVGA3D_SURFACE_HINT_DEPTHSTENCIL;
+   }
+   else {
+      flags = SVGA3D_SURFACE_HINT_RENDERTARGET;
    }
 
-   format = svga_translate_format(ss, surf_tmpl->format, surf_tmpl->usage);
+   format = svga_translate_format(ss, surf_tmpl->format, 0);
    assert(format != SVGA3D_FORMAT_INVALID);
 
    if (svga_screen(screen)->debug.force_surface_view)
       view = TRUE;
 
    /* Currently only used for compressed textures */
-   if (render && 
-       format != svga_translate_format(ss, surf_tmpl->format, surf_tmpl->usage)) {
+   if (format != svga_translate_format(ss, surf_tmpl->format, 0)) {
       view = TRUE;
    }
 
-- 
1.7.10.4



More information about the mesa-dev mailing list