[Nouveau] [PATCH v2] nv50: enable texture compression

Tobias Klausmann tobias.johannes.klausmann at mni.thm.de
Fri Jan 2 15:50:53 PST 2015


On 03.01.2015 00:20, Ilia Mirkin wrote:
> On Fri, Jan 2, 2015 at 6:09 PM, Tobias Klausmann
> <tobias.johannes.klausmann at mni.thm.de> wrote:
>> We enable compression only for some supported formats
>>
>> Suggested-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
>> ---
>>   src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 23 +++++++++++++++++++++--
>>   src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  7 +++++++
>>   2 files changed, 28 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
>> index 1aacaec..13ed8a3 100644
>> --- a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
>> +++ b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
>> @@ -65,8 +65,7 @@ nv50_tex_choose_tile_dims(unsigned nx, unsigned ny, unsigned nz)
>>   static uint32_t
>>   nv50_mt_choose_storage_type(struct nv50_miptree *mt, boolean compressed)
> The caller of this currently always says true. However it should
> probably be drm_version >= whatever.
Oh sure, i'll add it!

>
>>   {
>> -   const unsigned ms = mt->ms_x + mt->ms_y;
>> -
>> +   const unsigned ms = util_logbase2(mt->base.base.nr_samples);
>>      uint32_t tile_flags;
>>
>>      if (unlikely(mt->base.base.flags & NOUVEAU_RESOURCE_FLAG_LINEAR))
>> @@ -96,6 +95,26 @@ nv50_mt_choose_storage_type(struct nv50_miptree *mt, boolean compressed)
>>         tile_flags = 0x60 + ms;
>>         break;
>>      default:
>> +      switch (mt->base.base.format) {
> You're already switching on the format. You could be all clever and do
>
> default:
>    compressed = false;
>    /* fallthrough */
> case PIPE_FORMAT_A:
> case PIPE_FORMAT_B:
>    switch (blocksize) { ... }
>
> It's a bit unusual to have the default case in the middle, but I'm
> pretty sure it works.
We talked about broken compilers, hope we don't hit one here :D

>
> BTW, I assume that there was no dmesg spam or piglit regressions with
> this change?
Indeed!

>
>    -ilia



More information about the Nouveau mailing list