[Mesa-dev] [PATCH 3/9] st/mesa: tweak surface format mapping table

Marek Olšák maraeo at gmail.com
Mon Aug 24 17:21:08 PDT 2015


On Tue, Aug 25, 2015 at 1:02 AM, Brian Paul <brianp at vmware.com> wrote:
> On 08/24/2015 04:34 PM, Ilia Mirkin wrote:
>>
>> On Mon, Aug 24, 2015 at 4:54 PM, Brian Paul <brianp at vmware.com> wrote:
>>>>
>>>> Also, do the ARB_texture_view piglits still pass? They're really
>>>> sensitive to the relative consistency of this stuff.
>>>
>>>
>>> Hmm, one regression in arb_texture_view-lifetime-format on llvmpipe, but
>>> not
>>> with softpipe.  I'll take a look.
>
>
> FWIW, the fix for that was simple.
>
>
>> By the way, note that testing this stuff with softpipe/llvmpipe is a
>> bit unrealistic -- those two drivers support *every* format, so some
>> things will magically work, and I suspect you'll also end up with very
>> odd scenarios not possible on actual hardware. I'm not suggesting that
>> you shouldn't make things work on softpipe/llvmpipe, but testing this
>> on *only* them will end up missing a lot of "fun" cases.
>
>
> Yeah, I'm sure more work will be needed for other drivers.  That's one of
> the reasons I added the new PIPE_CAP_COPY_IMAGE so that drivers can opt-in
> when they work.
>
>
> From your other msg:
>
>> You'll get that problem anyways, no? Imagine you create 2 RGBA 8-bit
>> unorm textures -- one with glTexImage(ifmt=GL_RGBA8, fmt=GL_RGBA,
>> type=GL_UNSIGNED_INT_8_8_8_8) and another with
>> glTexImage(ifmt=GL_RGBA8, fmt=GL_RGBA,
>> type=GL_UNSIGNED_INT_8_8_8_8_REV). The two textures will have the same
>> GL internal format, but different pipe format component orderings...
>> so when you copy between them you need to swizzle.
>
>
> Hmm, I guess the piglit tests don't hit on that case.  It looks like we'll
> need some sort of swizzling capability.  I think someone mentioned that
> before.
>
> I'll post the whole series in a bit.  Unfortunately, I won't have time to
> work on swizzling right now.  I suspect we may be able to utilize some of
> the blitter code to do the job, if we add some swizzling support.
>
> Anyway, I'd like to commit as much of my series as possible so someone else
> can pick up where I left off.

Sure. FYI, I've already implemented CopyImageSubData that can handle
arbitrary src and dst swizzling (not just XYZW).

BTW, r600 and radeonsi support all formats too, just like softpipe,
maybe a little bit fewer, but it's close.

Marek


More information about the mesa-dev mailing list