amd: Use common u_format.h implementation for vk_format_get_component_bits.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15696>
This commit is contained in:
parent
0d25db406b
commit
9f6571e80a
|
@ -132,42 +132,9 @@ static inline unsigned
|
||||||
vk_format_get_component_bits(VkFormat format, enum util_format_colorspace colorspace,
|
vk_format_get_component_bits(VkFormat format, enum util_format_colorspace colorspace,
|
||||||
unsigned component)
|
unsigned component)
|
||||||
{
|
{
|
||||||
const struct util_format_description *desc = vk_format_description(format);
|
return util_format_get_component_bits(vk_format_to_pipe_format(format),
|
||||||
enum util_format_colorspace desc_colorspace;
|
colorspace,
|
||||||
|
component);
|
||||||
assert(format);
|
|
||||||
if (!format) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
assert(component < 4);
|
|
||||||
|
|
||||||
/* Treat RGB and SRGB as equivalent. */
|
|
||||||
if (colorspace == UTIL_FORMAT_COLORSPACE_SRGB) {
|
|
||||||
colorspace = UTIL_FORMAT_COLORSPACE_RGB;
|
|
||||||
}
|
|
||||||
if (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) {
|
|
||||||
desc_colorspace = UTIL_FORMAT_COLORSPACE_RGB;
|
|
||||||
} else {
|
|
||||||
desc_colorspace = desc->colorspace;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (desc_colorspace != colorspace) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (desc->swizzle[component]) {
|
|
||||||
case PIPE_SWIZZLE_X:
|
|
||||||
return desc->channel[0].size;
|
|
||||||
case PIPE_SWIZZLE_Y:
|
|
||||||
return desc->channel[1].size;
|
|
||||||
case PIPE_SWIZZLE_Z:
|
|
||||||
return desc->channel[2].size;
|
|
||||||
case PIPE_SWIZZLE_W:
|
|
||||||
return desc->channel[3].size;
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline VkFormat
|
static inline VkFormat
|
||||||
|
|
Loading…
Reference in New Issue