svga: Add function svga_resource_type()

This function returns svga texture type for corresponding pipe texture.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Neha Bhende
2016-09-01 09:40:43 -07:00
committed by Brian Paul
parent 50baaf6bc6
commit b9f333cc81
2 changed files with 21 additions and 19 deletions
+1 -19
View File
@@ -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,
+20
View File
@@ -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