mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
meta: Allocate texture before initializing texture coordinates
tex->Sright and tex->Ttop are initialized during texture allocation.
This fixes depth buffer blitting failures in khronos conformance tests
when run on desktop GL 3.0.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=59495
Note: This is a candidate for stable branches.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit cff862f90d)
This commit is contained in:
parent
2893cd2843
commit
b382f1dbeb
1 changed files with 8 additions and 9 deletions
|
|
@ -1910,6 +1910,14 @@ _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
|
|||
GLuint *tmp = malloc(srcW * srcH * sizeof(GLuint));
|
||||
|
||||
if (tmp) {
|
||||
|
||||
newTex = alloc_texture(depthTex, srcW, srcH, GL_DEPTH_COMPONENT);
|
||||
_mesa_ReadPixels(srcX, srcY, srcW, srcH, GL_DEPTH_COMPONENT,
|
||||
GL_UNSIGNED_INT, tmp);
|
||||
setup_drawpix_texture(ctx, depthTex, newTex, GL_DEPTH_COMPONENT,
|
||||
srcW, srcH, GL_DEPTH_COMPONENT,
|
||||
GL_UNSIGNED_INT, tmp);
|
||||
|
||||
/* texcoords (after texture allocation!) */
|
||||
{
|
||||
verts[0].s = 0.0F;
|
||||
|
|
@ -1928,15 +1936,6 @@ _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
|
|||
if (!blit->DepthFP)
|
||||
init_blit_depth_pixels(ctx);
|
||||
|
||||
/* maybe change tex format here */
|
||||
newTex = alloc_texture(depthTex, srcW, srcH, GL_DEPTH_COMPONENT);
|
||||
|
||||
_mesa_ReadPixels(srcX, srcY, srcW, srcH,
|
||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, tmp);
|
||||
|
||||
setup_drawpix_texture(ctx, depthTex, newTex, GL_DEPTH_COMPONENT, srcW, srcH,
|
||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, tmp);
|
||||
|
||||
_mesa_BindProgramARB(GL_FRAGMENT_PROGRAM_ARB, blit->DepthFP);
|
||||
_mesa_set_enable(ctx, GL_FRAGMENT_PROGRAM_ARB, GL_TRUE);
|
||||
_mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue