diff --git a/src/gallium/drivers/lima/lima_format.c b/src/gallium/drivers/lima/lima_format.c index 2b0167a425f..3f07ea7419a 100644 --- a/src/gallium/drivers/lima/lima_format.c +++ b/src/gallium/drivers/lima/lima_format.c @@ -108,6 +108,7 @@ static const struct lima_format lima_texel_formats[] = { LIMA_TEXEL_FORMAT(B4G4R4A4_UNORM, BGRA_4444, false, SWIZ(X, Y, Z, W)), LIMA_TEXEL_FORMAT(Z24_UNORM_S8_UINT, Z24X8, false, SWIZ(X, Y, Z, W)), LIMA_TEXEL_FORMAT(Z24X8_UNORM, Z24X8, false, SWIZ(X, Y, Z, W)), + LIMA_TEXEL_FORMAT(Z16_UNORM, L16, false, SWIZ(X, Y, Z, W)), LIMA_TEXEL_FORMAT(L16_UNORM, L16, false, SWIZ(X, Y, Z, W)), LIMA_TEXEL_FORMAT(L8_UNORM, L8, false, SWIZ(X, Y, Z, W)), LIMA_TEXEL_FORMAT(A16_UNORM, A16, false, SWIZ(X, Y, Z, W)), @@ -138,6 +139,7 @@ static const struct lima_format lima_pixel_formats[] = { LIMA_PIXEL_FORMAT(B4G4R4A4_UNORM, B4G4R4A4, false, 0x8444), LIMA_PIXEL_FORMAT(R8_UNORM, B8, true, 0x8888), LIMA_PIXEL_FORMAT(R8G8_UNORM, G8B8, true, 0x8888), + LIMA_PIXEL_FORMAT(Z16_UNORM, Z16, false, 0x0000), LIMA_PIXEL_FORMAT(Z24_UNORM_S8_UINT, Z24S8, false, 0x0000), LIMA_PIXEL_FORMAT(Z24X8_UNORM, Z24S8, false, 0x0000), LIMA_PIXEL_FORMAT(R16G16B16A16_FLOAT, B16G16R16A16_FLOAT, true, 0x0000), diff --git a/src/gallium/drivers/lima/lima_job.c b/src/gallium/drivers/lima/lima_job.c index a74e2bb91e9..0d01d9abb05 100644 --- a/src/gallium/drivers/lima/lima_job.c +++ b/src/gallium/drivers/lima/lima_job.c @@ -375,7 +375,8 @@ lima_pack_reload_plbu_cmd(struct lima_job *job, struct pipe_surface *psurf) if (util_format_is_depth_or_stencil(psurf->format)) { reload_render_state.alpha_blend &= 0x0fffffff; - reload_render_state.depth_test |= 0x400; + if (psurf->format != PIPE_FORMAT_Z16_UNORM) + reload_render_state.depth_test |= 0x400; if (surf->reload & PIPE_CLEAR_DEPTH) reload_render_state.depth_test |= 0x801; if (surf->reload & PIPE_CLEAR_STENCIL) { diff --git a/src/gallium/drivers/lima/lima_screen.c b/src/gallium/drivers/lima/lima_screen.c index 9a9dea043c8..d6265c539ca 100644 --- a/src/gallium/drivers/lima/lima_screen.c +++ b/src/gallium/drivers/lima/lima_screen.c @@ -331,6 +331,7 @@ lima_screen_is_format_supported(struct pipe_screen *pscreen, if (usage & PIPE_BIND_DEPTH_STENCIL) { switch (format) { + case PIPE_FORMAT_Z16_UNORM: case PIPE_FORMAT_Z24_UNORM_S8_UINT: case PIPE_FORMAT_Z24X8_UNORM: break;