nouveau: return some supported zeta formats
This commit is contained in:
@@ -81,6 +81,13 @@ nv04_screen_is_format_supported(struct pipe_screen *screen,
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R5G6B5_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
|
||||
@@ -76,7 +76,15 @@ nv10_screen_is_format_supported(struct pipe_screen *screen,
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R5G6B5_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
|
||||
@@ -76,7 +76,15 @@ nv20_screen_is_format_supported(struct pipe_screen *screen,
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R5G6B5_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
|
||||
@@ -87,7 +87,15 @@ nv30_screen_surface_format_supported(struct pipe_screen *pscreen,
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R5G6B5_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
switch (tex_usage) {
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
|
||||
@@ -65,6 +65,7 @@ nv30_state_framebuffer_validate(struct nv30_context *nv30)
|
||||
rt_format |= NV34TCL_RT_FORMAT_ZETA_Z16;
|
||||
break;
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case 0:
|
||||
rt_format |= NV34TCL_RT_FORMAT_ZETA_Z24S8;
|
||||
break;
|
||||
|
||||
@@ -88,7 +88,15 @@ nv40_screen_surface_format_supported(struct pipe_screen *pscreen,
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R5G6B5_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
|
||||
@@ -73,6 +73,7 @@ nv40_state_framebuffer_validate(struct nv40_context *nv40)
|
||||
rt_format |= NV40TCL_RT_FORMAT_ZETA_Z16;
|
||||
break;
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case 0:
|
||||
rt_format |= NV40TCL_RT_FORMAT_ZETA_Z24S8;
|
||||
break;
|
||||
|
||||
@@ -42,6 +42,7 @@ nv50_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *tmp)
|
||||
mt->base.screen = pscreen;
|
||||
|
||||
switch (pt->format) {
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
tile_flags = 0x2800;
|
||||
|
||||
@@ -37,7 +37,15 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen,
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R5G6B5_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
return TRUE;
|
||||
default:
|
||||
|
||||
@@ -93,6 +93,7 @@ nv50_state_validate_fb(struct nv50_context *nv50)
|
||||
NOUVEAU_BO_LOW | NOUVEAU_BO_RDWR, 0, 0);
|
||||
switch (fb->zsbuf->format) {
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
so_data(so, 0x16);
|
||||
break;
|
||||
case PIPE_FORMAT_Z16_UNORM:
|
||||
|
||||
@@ -35,7 +35,6 @@ nv50_format(enum pipe_format format)
|
||||
{
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
return NV50_2D_DST_FORMAT_32BPP;
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
return NV50_2D_DST_FORMAT_24BPP;
|
||||
|
||||
Reference in New Issue
Block a user