[Mesa-dev] [PATCH] st/mesa: Fix source miptree level for copying data to finalized miptree.

Benoit Jacob bjacob at mozilla.com
Fri Oct 19 10:21:06 PDT 2012


That is fantastic news! Congrats to Michael, Andreas and all involved!

Benoit

On 12-10-19 11:22 AM, Andreas Boll wrote:
> 2012/10/19 Andreas Boll <andreas.boll.dev at gmail.com>:
>> 2012/10/19 Michel Dänzer <michel at daenzer.net>:
>>> From: Michel Dänzer <michel.daenzer at amd.com>
>>>
>>> Fixes WebGL texture mips conformance test, no piglit regressions.
>>>
>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44912
>>>
>>> NOTE: This is a candidate for the stable branches.
>>>
>>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>> Tested-by: Andreas Boll <andreas.boll.dev at gmail.com>
>>
>>
>> I've tested this patch with r600g (rv770), llvmpipe and softpipe.
>> Now r600g passes all WebGL conformance tests!
>>
>> Thank you very much!
>>
>> P.S.: I'll test the patch on 9.0 and 8.0 branch
>>
> As promised I tested the patch on 9.0 and 8.0 branch and
> I can confirm that the texture mips test passes now with
> r600g (rv770), llvmpipe and softpipe.
>
> Additionally I've run all conformance tests on 9.0 and 8.0 with the patch
> on r600g.
> The result is on both branches:
> 8877 of 8877 tests passed. ;-)
>
> Andreas.
>
>>> ---
>>>  src/mesa/state_tracker/st_cb_texture.c |   12 ++++++++----
>>>  1 file changed, 8 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
>>> index 218c8d1..d947836 100644
>>> --- a/src/mesa/state_tracker/st_cb_texture.c
>>> +++ b/src/mesa/state_tracker/st_cb_texture.c
>>> @@ -1112,12 +1112,16 @@ copy_image_data_to_texture(struct st_context *st,
>>>     if (stImage->pt) {
>>>        /* Copy potentially with the blitter:
>>>         */
>>> -      GLuint src_level;
>>> -      if (stImage->pt != stObj->pt)
>>> -         src_level = 0;
>>> -      else
>>> +      GLuint src_level = 0;
>>> +
>>> +      if (stImage->pt->last_level > 0) {
>>>           src_level = stImage->base.Level;
>>>
>>> +         assert(src_level <= stImage->pt->last_level);
>>> +         assert(u_minify(stImage->pt->width0, src_level) == stImage->base.Width);
>>> +         assert(u_minify(stImage->pt->height0, src_level) == stImage->base.Height);
>>> +      }
>>> +
>>>        st_texture_image_copy(st->pipe,
>>>                              stObj->pt, dstLevel,  /* dest texture, level */
>>>                              stImage->pt, src_level, /* src texture, level */
>>> --
>>> 1.7.10.4
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list