pvr: Add initial support for VK_FORMAT_S8_UINT

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>

Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21594>
This commit is contained in:
Jarred Davies
2023-01-24 20:42:03 +00:00
committed by Marge Bot
parent 317a3fe49b
commit 220356e083
2 changed files with 7 additions and 4 deletions

View File

@@ -199,6 +199,8 @@ static const struct pvr_format pvr_format_table[] = {
FORMAT_DEPTH_STENCIL(D16_UNORM, U16, U16, INVALID),
/* VK_FORMAT_D32_SFLOAT = 126. */
FORMAT_DEPTH_STENCIL(D32_SFLOAT, F32, F32, INVALID),
/* VK_FORMAT_S8_UINT = 127. */
FORMAT_DEPTH_STENCIL(S8_UINT, U8, INVALID, U8),
/* VK_FORMAT_D24_UNORM_S8_UINT = 129. */
FORMAT_DEPTH_STENCIL(D24_UNORM_S8_UINT, ST8U24, X8U24, U8X24),
/* VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147. */

View File

@@ -1443,11 +1443,12 @@ static void pvr_frag_state_stream_init(struct pvr_render_ctx *ctx,
if (job->has_stencil_attachment) {
value.addr = job->ds.addr;
/* This should be set iff we only have a stencil attachment; all
* currently supported formats with a stencil component also contain
* depth.
/* Enable separate stencil. This should be enabled iff the buffer set
* in CR_ISP_STENCIL_LOAD_BASE does not contain a depth component.
*/
value.enable = false;
assert(job->has_depth_attachment ||
job->ds.vk_format == VK_FORMAT_S8_UINT);
value.enable = !job->has_depth_attachment;
}
}
stream_ptr += pvr_cmd_length(CR_ISP_STENCIL_LOAD_BASE);