[Mesa-dev] [PATCH] meta: Allocate texture before initializing texture coordinates
Patrick Baggett
baggett.patrick at gmail.com
Fri Feb 22 12:28:17 PST 2013
On Fri, Feb 22, 2013 at 2:23 PM, Ian Romanick <idr at freedesktop.org> wrote:
> On 02/15/2013 11:20 AM, Anuj Phogat wrote:
>
>> 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.
>>
>> Note: This is a candidate for stable branches.
>>
>> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
>>
>
> Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
>
> I think there is a lot of room for other improvements in this code.
> Like... why are we doing glReadPixels into malloc memory, then handing that
> same pointer to glTexImage2D. We should (at least for desktop and GLES3)
> use a PBO.
---
>> src/mesa/drivers/common/meta.c | 17 ++++++++---------
>> 1 files changed, 8 insertions(+), 9 deletions(-)
>>
>> diff --git a/src/mesa/drivers/common/**meta.c b/src/mesa/drivers/common/*
>> *meta.c
>> index 4e32b50..29a209e 100644
>> --- a/src/mesa/drivers/common/**meta.c
>> +++ b/src/mesa/drivers/common/**meta.c
>> @@ -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);
>>
>
Are out of memory conditions handled in alloc_texture?
> + _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);
>>
>>
> ______________________________**_________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/**mailman/listinfo/mesa-dev<http://lists.freedesktop.org/mailman/listinfo/mesa-dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130222/d3dd2bb4/attachment.html>
More information about the mesa-dev
mailing list