mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
common: Correct texture init for meta pbo uploads and downloads.
This moves the line setting immutability for the texture to after
_mesa_initialize_texture_object so that the initializer function will not
cancel it out. Moreover, because of the ARB_texture_view extension, immutable
textures must have NumLayers > 0, or depth will equal (0-1)=0xFFFFFFFF during
SURFACE_STATE setup, which triggers assertions.
v2: Review from Kenneth Graunke:
- Include more explanation in the commit message.
- Make texture setup bug fixes into a separate patch.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Cc: "10.4, 10.5" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 06084652fe)
This commit is contained in:
parent
ed7272ade9
commit
9e5af14163
1 changed files with 4 additions and 1 deletions
|
|
@ -100,8 +100,11 @@ create_texture_for_pbo(struct gl_context *ctx, bool create_pbo,
|
|||
_mesa_GenTextures(1, tmp_tex);
|
||||
tex_obj = _mesa_lookup_texture(ctx, *tmp_tex);
|
||||
tex_obj->Target = depth > 1 ? GL_TEXTURE_2D_ARRAY : GL_TEXTURE_2D;
|
||||
tex_obj->Immutable = GL_TRUE;
|
||||
_mesa_initialize_texture_object(ctx, tex_obj, *tmp_tex, GL_TEXTURE_2D);
|
||||
/* This must be set after _mesa_initialize_texture_object, not before. */
|
||||
tex_obj->Immutable = GL_TRUE;
|
||||
/* This is required for interactions with ARB_texture_view. */
|
||||
tex_obj->NumLayers = 1;
|
||||
|
||||
internal_format = _mesa_get_format_base_format(pbo_format);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue