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

Author: Neha Bhende <bhen...@vmware.com>
Date:   Thu Sep  1 09:40:43 2016 -0700

svga: Add function svga_resource_type()

This function returns svga texture type for corresponding pipe texture.

Reviewed-by: Charmaine Lee <charmai...@vmware.com>
Reviewed-by: Brian Paul <bri...@vmware.com>

---

 src/gallium/drivers/svga/svga_surface.c | 20 +-------------------
 src/gallium/drivers/svga/svga_surface.h | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_surface.c 
b/src/gallium/drivers/svga/svga_surface.c
index f6a7913..81b0f48 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 ed9f37a..18cb9c1 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

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

Reply via email to