panfrost: mark separate_stencil as valid when surface is valid

panfrost_initialize_surface is called when a surface is written to,
and marks that surface as valid. If the surface is a depth buffer
with a separate stencil, that separate stencil should also be marked
as valid; otherwise, readpixel will skip reading it (and hence the
stencil data will be read as uninitialized). This only affects
DEPTH32F_STENCIL8 formats.

Cc: mesa-stable
Signed-off-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28738>
This commit is contained in:
Eric R. Smith 2024-04-15 06:59:46 -03:00 committed by Marge Bot
parent 9f36fba9be
commit c939111f3f
3 changed files with 2 additions and 66 deletions

View file

@ -2546,6 +2546,8 @@ panfrost_initialize_surface(struct panfrost_batch *batch,
if (surf) {
struct panfrost_resource *rsrc = pan_resource(surf->texture);
BITSET_SET(rsrc->valid.data, surf->u.tex.level);
if (rsrc->separate_stencil)
BITSET_SET(rsrc->separate_stencil->valid.data, surf->u.tex.level);
}
}

View file

@ -15,44 +15,11 @@ shaders@point-vertex-id gl_vertexid,Fail
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Fail
shaders@point-vertex-id gl_vertexid gl_instanceid,Fail
spec@arb_base_instance@arb_base_instance-drawarrays,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 1024 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 1024 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 1024 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 146 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 146 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 146 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 273 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 273 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 273 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 292 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 292 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 292 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 585 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 585 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 585 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-blit,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-copypixels,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-24_8,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-32f_24_8_rev,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-float-and-ushort,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-readpixels-24_8,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-readpixels-32f_24_8_rev,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-readpixels-float-and-ushort,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-blit,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-copypixels,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-drawpixels,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-readpixels,Fail
spec@arb_depth_clamp@depth-clamp-range,Fail
spec@arb_direct_state_access@gettextureimage-formats,Fail
spec@arb_direct_state_access@gettextureimage-formats init-by-rendering,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth_stencil gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit stencil gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@fbo-luminance-alpha,Fail
spec@arb_framebuffer_srgb@fbo-fast-clear,Fail
spec@arb_pixel_buffer_object@fbo-pbo-readpixels-small,Fail
spec@arb_pixel_buffer_object@fbo-pbo-readpixels-small@GL_DEPTH32F_STENCIL8-GL_DEPTH_STENCIL,Fail
spec@arb_pixel_buffer_object@fbo-pbo-readpixels-small@GL_DEPTH32F_STENCIL8-GL_STENCIL_INDEX,Fail
spec@arb_point_sprite@arb_point_sprite-mipmap,Fail
spec@arb_sample_shading@samplemask 2@0.250000 mask_in_one,Fail
spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail

View file

@ -24,44 +24,11 @@ shaders@point-vertex-id gl_vertexid,Fail
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Fail
shaders@point-vertex-id gl_vertexid gl_instanceid,Fail
spec@arb_base_instance@arb_base_instance-drawarrays,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 1024 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 1024 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 1024 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 146 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 146 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 146 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 273 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 273 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 273 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 292 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 292 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 292 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 585 d=s=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 585 ds=z32f_s8,Fail
spec@arb_depth_buffer_float@depthstencil-render-miplevels 585 s=d=z32f_s8,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-blit,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-copypixels,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-24_8,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-32f_24_8_rev,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-float-and-ushort,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-readpixels-24_8,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-readpixels-32f_24_8_rev,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-readpixels-float-and-ushort,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-blit,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-copypixels,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-drawpixels,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-readpixels,Fail
spec@arb_depth_clamp@depth-clamp-range,Fail
spec@arb_direct_state_access@gettextureimage-formats,Fail
spec@arb_direct_state_access@gettextureimage-formats init-by-rendering,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth_stencil gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit stencil gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@fbo-luminance-alpha,Fail
spec@arb_framebuffer_srgb@fbo-fast-clear,Fail
spec@arb_pixel_buffer_object@fbo-pbo-readpixels-small,Fail
spec@arb_pixel_buffer_object@fbo-pbo-readpixels-small@GL_DEPTH32F_STENCIL8-GL_DEPTH_STENCIL,Fail
spec@arb_pixel_buffer_object@fbo-pbo-readpixels-small@GL_DEPTH32F_STENCIL8-GL_STENCIL_INDEX,Fail
spec@arb_point_sprite@arb_point_sprite-mipmap,Fail
spec@arb_sample_shading@samplemask 2@0.250000 mask_in_one,Fail
spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail