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:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user