vc4: mark buffers as initialized at vc4_texture_subdata

This fixes several tests when the initially uploaded buffer
from CPU was being ignored because vc4_texture_subdata was not
marking the resource as written/initialized.

The usage flags management available at vc4_resource_transfer_map
is generalized into vc4_map_usage_prep and reused at
vc4_resource_transfer_map. This makes vc4 implementation more similar
to v3d.

This fixes 7 text in the following subgroups:
  -dEQP-GLES2.functional.fbo.render.texsubimage.*
  -dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.*
  -spec@arb_clear_texture@arb_clear_texture-*

Cc: mesa-stable
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25297>
This commit is contained in:
Jose Maria Casanova Crespo
2023-06-08 00:57:15 +02:00
parent 7c538b5ad8
commit cb96dab5c8
2 changed files with 46 additions and 43 deletions

View File

@@ -18,11 +18,6 @@ dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked,Fail
# A glTexImage, glDraw, glTexSubImage sequence into a texture is missing what looks like the drawing.
dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba,Fail
# A glTexImage, glDraw, glTexSubImage, glDraw sequence into a texture is missing what looks like the first drawing.
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba,Fail
# Sampling grid slightly off in test 2?
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_rgba8888,Fail
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_rgba8888,Fail
@@ -38,12 +33,6 @@ dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp_non_square,Fa
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror_non_square,Fail
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat_non_square,Fail
# Sequence of glTexImage, glDraw, glCopyTexSubImage.
# background red/green checkerboard on the left side is incorrectly white.
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba,Fail
# Maybe it was copied as RGB instead of RGBA?
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgba,Fail
# One of the pixels on the left edge near the bottom is wrong for both min and
# mag. Also a line of pixels through the image in minification.
dEQP-GLES2.functional.texture.wrap.clamp_clamp_nearest_npot_etc1,Fail
@@ -784,11 +773,8 @@ spec@!opengl 1.1@clipflat@glDrawElements(GL_TRIANGLE_STRIP)- glFrontFace(GL_CW)-
spec@!opengl 1.1@clipflat@glDrawElements(GL_TRIANGLE_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
spec@!opengl 1.1@clipflat@glDrawElements(GL_TRIANGLE_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
spec@arb_clear_texture@arb_clear_texture-3d,Fail
spec@arb_clear_texture@arb_clear_texture-base-formats,Fail
spec@arb_clear_texture@arb_clear_texture-depth,Fail
spec@arb_clear_texture@arb_clear_texture-depth-stencil,Fail
spec@arb_clear_texture@arb_clear_texture-sized-formats,Fail
spec@arb_clear_texture@arb_clear_texture-srgb,Fail
spec@arb_clear_texture@arb_clear_texture-supported-formats,Fail
spec@glsl-1.10@execution@glsl-fs-inline-explosion,Crash
spec@glsl-1.10@execution@glsl-vs-inline-explosion,Crash