diff options
Diffstat (limited to 'src/imagination/vulkan/pvr_job_render.c')
-rw-r--r-- | src/imagination/vulkan/pvr_job_render.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/imagination/vulkan/pvr_job_render.c b/src/imagination/vulkan/pvr_job_render.c index d3301678522..34cd261b632 100644 --- a/src/imagination/vulkan/pvr_job_render.c +++ b/src/imagination/vulkan/pvr_job_render.c @@ -1445,11 +1445,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 if 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); |