<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Aug 20, 2015 at 11:34 AM, Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>2015-08-12 0:07 GMT+01:00 Nanley Chery <<a href="mailto:nanleychery@gmail.com" target="_blank">nanleychery@gmail.com</a>>:<br>
> From: Nanley Chery <<a href="mailto:nanley.g.chery@intel.com" target="_blank">nanley.g.chery@intel.com</a>><br>
><br>
> Combine the adjacent cases which have the same GL type in the switch statemnt.<br>
><br>
> Signed-off-by: Nanley Chery <<a href="mailto:nanley.g.chery@intel.com" target="_blank">nanley.g.chery@intel.com</a>><br>
> ---<br>
>  src/mesa/main/formats.c | 152 ++++++------------------------------------------<br>
>  1 file changed, 17 insertions(+), 135 deletions(-)<br>
><br>
> diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c<br>
> index cb5ad21..9b9d79b 100644<br>
> --- a/src/mesa/main/formats.c<br>
> +++ b/src/mesa/main/formats.c<br>
> @@ -1005,13 +1005,10 @@ _mesa_uncompressed_format_to_type_and_comps(mesa_format format,<br>
>     case MESA_FORMAT_R8G8B8X8_UNORM:<br>
>     case MESA_FORMAT_B8G8R8X8_UNORM:<br>
>     case MESA_FORMAT_X8R8G8B8_UNORM:<br>
> -      *datatype = GL_UNSIGNED_BYTE;<br>
> -      *comps = 4;<br>
> -      return;<br>
>     case MESA_FORMAT_BGR_UNORM8:<br>
>     case MESA_FORMAT_RGB_UNORM8:<br>
>        *datatype = GL_UNSIGNED_BYTE;<br>
> -      *comps = 3;<br>
> +      *comps = _mesa_format_num_components(format);<br>
</span>With the datatype aside what is stopping us from using a single<br>
_mesa_format_num_components(format) ?<br>
<br></blockquote><div>I just checked w/ a gtest and we don't get the same output for the formats listed below. The "Actual" value is the output of _mesa_format_num_components() and the "Expected" value is the output of _mesa_uncompressed_format_to_type_and_comps().</div><div><br></div><div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_B4G4R4X4_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_B5G5R5X1_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_B10G10R10X2_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_R10G10B10X2_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 0</div><div>Expected: comps</div><div>Which is: 2</div><div>MESA_FORMAT_YCBCR</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 0</div><div>Expected: comps</div><div>Which is: 2</div><div>MESA_FORMAT_YCBCR_REV</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_UNORM16</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_R8G8B8X8_SNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_SNORM16</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_B8G8R8X8_SRGB</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_X8R8G8B8_SRGB</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_R8G8B8X8_SRGB</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_X8B8G8R8_SRGB</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 2</div><div>Expected: comps</div><div>Which is: 1</div><div>MESA_FORMAT_Z32_FLOAT_S8X24_UINT</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_FLOAT16</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_FLOAT32</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_UINT8</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_UINT16</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_UINT32</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_SINT8</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_SINT16</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_RGBX_SINT32</div></div><div><br></div><div>In fact, for this patch, the following behavioral differences exist:</div><div><br></div><div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_X8B8G8R8_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_R8G8B8X8_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_B8G8R8X8_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_X8R8G8B8_UNORM</div><div><br></div><div>mesa_formats.cpp:59: Failure</div><div>Value of: _mesa_format_num_components(f)</div><div>  Actual: 3</div><div>Expected: comps</div><div>Which is: 4</div><div>MESA_FORMAT_X8B8G8R8_SNORM</div></div><div><br></div><div>I am looking into this issue.</div><div><br></div><div>Regards,</div><div>Nanley</div></div></div></div>