From: Neha Bhende Date: Thu, 1 Sep 2016 16:40:43 +0000 (-0700) Subject: svga: Add function svga_resource_type() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b9f333cc8167594fa2c73a763a4e70ddf98e885f;p=mesa.git svga: Add function svga_resource_type() This function returns svga texture type for corresponding pipe texture. Reviewed-by: Charmaine Lee Reviewed-by: Brian Paul --- diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c index f6a791332c9..81b0f48e53e 100644 --- a/src/gallium/drivers/svga/svga_surface.c +++ b/src/gallium/drivers/svga/svga_surface.c @@ -442,25 +442,7 @@ svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s) s->view_id = util_bitmask_add(svga->surface_view_id_bm); - switch (s->base.texture->target) { - case PIPE_TEXTURE_1D: - case PIPE_TEXTURE_1D_ARRAY: - resType = SVGA3D_RESOURCE_TEXTURE1D; - break; - case PIPE_TEXTURE_RECT: - case PIPE_TEXTURE_2D: - case PIPE_TEXTURE_2D_ARRAY: - case PIPE_TEXTURE_CUBE: - /* drawing to cube map is treated as drawing to 2D array */ - resType = SVGA3D_RESOURCE_TEXTURE2D; - break; - case PIPE_TEXTURE_3D: - resType = SVGA3D_RESOURCE_TEXTURE3D; - break; - default: - assert(!"Unexpected texture target"); - resType = SVGA3D_RESOURCE_TEXTURE2D; - } + resType = svga_resource_type(s->base.texture->target); if (util_format_is_depth_or_stencil(s->base.format)) { ret = SVGA3D_vgpu10_DefineDepthStencilView(svga->swc, diff --git a/src/gallium/drivers/svga/svga_surface.h b/src/gallium/drivers/svga/svga_surface.h index ed9f37a74a6..18cb9c1869d 100644 --- a/src/gallium/drivers/svga/svga_surface.h +++ b/src/gallium/drivers/svga/svga_surface.h @@ -125,5 +125,25 @@ svga_surface_const(const struct pipe_surface *surface) struct pipe_surface * svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s); +static inline SVGA3dResourceType +svga_resource_type(enum pipe_texture_target target) +{ + switch (target) { + case PIPE_TEXTURE_1D: + case PIPE_TEXTURE_1D_ARRAY: + return SVGA3D_RESOURCE_TEXTURE1D; + case PIPE_TEXTURE_RECT: + case PIPE_TEXTURE_2D: + case PIPE_TEXTURE_2D_ARRAY: + case PIPE_TEXTURE_CUBE: + /* drawing to cube map is treated as drawing to 2D array */ + return SVGA3D_RESOURCE_TEXTURE2D; + case PIPE_TEXTURE_3D: + return SVGA3D_RESOURCE_TEXTURE3D; + default: + assert(!"Unexpected texture target"); + return SVGA3D_RESOURCE_TEXTURE2D; + } +} #endif