X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fsvga%2Fsvga_surface.c;h=d3c228bf57d31bace912f4457c9fad8ddfb46347;hb=c1f704073b8992f3556c8e44a7fc496e250ba3ae;hp=6c4f06d4289e05377af251731797be8bc1427319;hpb=21b1ec69fc846c562f7d3685355315ce66b0f436;p=mesa.git diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c index 6c4f06d4289..d3c228bf57d 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; }