Re: [Mesa-dev] [PATCH 3/3] radeonsi: add support for PIPE_FORMAT_A1R5G5B5_UNORM

2017-10-06 Thread Marek Olšák
Reviewed-by: Marek Olšák 

Instead of patches 1-2, I prefer Eric's version which also adds
X1B5G5R5. You have my Rb for any leftover bits not present in Eric's
patch.

Marek



On Fri, Oct 6, 2017 at 10:41 PM, Nicolai Hähnle  wrote:
> From: Nicolai Hähnle 
>
> Fixes dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8
> ---
>  src/gallium/drivers/radeonsi/si_state.c | 8 
>  1 file changed, 8 insertions(+)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state.c 
> b/src/gallium/drivers/radeonsi/si_state.c
> index 99c3ca36886..a86a3a83217 100644
> --- a/src/gallium/drivers/radeonsi/si_state.c
> +++ b/src/gallium/drivers/radeonsi/si_state.c
> @@ -1499,20 +1499,22 @@ static uint32_t si_translate_colorformat(enum 
> pipe_format format)
> return V_028C70_COLOR_4_4_4_4;
> case 8:
> return V_028C70_COLOR_8_8_8_8;
> case 16:
> return V_028C70_COLOR_16_16_16_16;
> case 32:
> return V_028C70_COLOR_32_32_32_32;
> }
> } else if (HAS_SIZE(5,5,5,1)) {
> return V_028C70_COLOR_1_5_5_5;
> +   } else if (HAS_SIZE(1,5,5,5)) {
> +   return V_028C70_COLOR_5_5_5_1;
> } else if (HAS_SIZE(10,10,10,2)) {
> return V_028C70_COLOR_2_10_10_10;
> }
> break;
> }
> return V_028C70_COLOR_INVALID;
>  }
>
>  static uint32_t si_colorformat_endian_swap(uint32_t colorformat)
>  {
> @@ -1757,20 +1759,26 @@ static uint32_t si_translate_texformat(struct 
> pipe_screen *screen,
> return V_008F14_IMG_DATA_FORMAT_5_6_5;
> }
> goto out_unknown;
> case 4:
> if (desc->channel[0].size == 5 &&
> desc->channel[1].size == 5 &&
> desc->channel[2].size == 5 &&
> desc->channel[3].size == 1) {
> return V_008F14_IMG_DATA_FORMAT_1_5_5_5;
> }
> +   if (desc->channel[0].size == 1 &&
> +   desc->channel[1].size == 5 &&
> +   desc->channel[2].size == 5 &&
> +   desc->channel[3].size == 5) {
> +   return V_008F14_IMG_DATA_FORMAT_5_5_5_1;
> +   }
> if (desc->channel[0].size == 10 &&
> desc->channel[1].size == 10 &&
> desc->channel[2].size == 10 &&
> desc->channel[3].size == 2) {
> return V_008F14_IMG_DATA_FORMAT_2_10_10_10;
> }
> goto out_unknown;
> }
> goto out_unknown;
> }
> --
> 2.11.0
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 3/3] radeonsi: add support for PIPE_FORMAT_A1R5G5B5_UNORM

2017-10-06 Thread Nicolai Hähnle
From: Nicolai Hähnle 

Fixes dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8
---
 src/gallium/drivers/radeonsi/si_state.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state.c 
b/src/gallium/drivers/radeonsi/si_state.c
index 99c3ca36886..a86a3a83217 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1499,20 +1499,22 @@ static uint32_t si_translate_colorformat(enum 
pipe_format format)
return V_028C70_COLOR_4_4_4_4;
case 8:
return V_028C70_COLOR_8_8_8_8;
case 16:
return V_028C70_COLOR_16_16_16_16;
case 32:
return V_028C70_COLOR_32_32_32_32;
}
} else if (HAS_SIZE(5,5,5,1)) {
return V_028C70_COLOR_1_5_5_5;
+   } else if (HAS_SIZE(1,5,5,5)) {
+   return V_028C70_COLOR_5_5_5_1;
} else if (HAS_SIZE(10,10,10,2)) {
return V_028C70_COLOR_2_10_10_10;
}
break;
}
return V_028C70_COLOR_INVALID;
 }
 
 static uint32_t si_colorformat_endian_swap(uint32_t colorformat)
 {
@@ -1757,20 +1759,26 @@ static uint32_t si_translate_texformat(struct 
pipe_screen *screen,
return V_008F14_IMG_DATA_FORMAT_5_6_5;
}
goto out_unknown;
case 4:
if (desc->channel[0].size == 5 &&
desc->channel[1].size == 5 &&
desc->channel[2].size == 5 &&
desc->channel[3].size == 1) {
return V_008F14_IMG_DATA_FORMAT_1_5_5_5;
}
+   if (desc->channel[0].size == 1 &&
+   desc->channel[1].size == 5 &&
+   desc->channel[2].size == 5 &&
+   desc->channel[3].size == 5) {
+   return V_008F14_IMG_DATA_FORMAT_5_5_5_1;
+   }
if (desc->channel[0].size == 10 &&
desc->channel[1].size == 10 &&
desc->channel[2].size == 10 &&
desc->channel[3].size == 2) {
return V_008F14_IMG_DATA_FORMAT_2_10_10_10;
}
goto out_unknown;
}
goto out_unknown;
}
-- 
2.11.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev