mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-24 02:50:39 +02:00
gallium/util: add comment on util_is_format_compatible()
From reading the code, it's not obvious what is src/dest compatible. The list of a->b copy-compatible formats comes from Jose's original check-in message, with some format name updates. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
parent
99d9f764b2
commit
b35684543e
1 changed files with 24 additions and 0 deletions
|
|
@ -457,6 +457,30 @@ util_format_write_4i(enum pipe_format format,
|
|||
format_desc->pack_rgba_sint(dst_row, dst_stride, src_row, src_stride, w, h);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we can safely memcopy from the source format to the dest format.
|
||||
* This basically covers the cases of a "used" channel copied to a typeless
|
||||
* channel, plus some 1-channel cases.
|
||||
* Examples of compatible copy formats include:
|
||||
* b8g8r8a8_unorm -> b8g8r8x8_unorm
|
||||
* a8r8g8b8_unorm -> x8r8g8b8_unorm
|
||||
* b5g5r5a1_unorm -> b5g5r5x1_unorm
|
||||
* b4g4r4a4_unorm -> b4g4r4x4_unorm
|
||||
* l8_unorm -> r8_unorm
|
||||
* i8_unorm -> l8_unorm
|
||||
* i8_unorm -> a8_unorm
|
||||
* i8_unorm -> r8_unorm
|
||||
* l16_unorm -> r16_unorm
|
||||
* z24_unorm_s8_uint -> z24x8_unorm
|
||||
* s8_uint_z24_unorm -> x8z24_unorm
|
||||
* r8g8b8a8_unorm -> r8g8b8x8_unorm
|
||||
* a8b8g8r8_srgb -> x8b8g8r8_srgb
|
||||
* b8g8r8a8_srgb -> b8g8r8x8_srgb
|
||||
* a8r8g8b8_srgb -> x8r8g8b8_srgb
|
||||
* a8b8g8r8_unorm -> x8b8g8r8_unorm
|
||||
* r10g10b10a2_uscaled -> r10g10b10x2_uscaled
|
||||
* r10sg10sb10sa2u_norm -> r10g10b10x2_snorm
|
||||
*/
|
||||
boolean
|
||||
util_is_format_compatible(const struct util_format_description *src_desc,
|
||||
const struct util_format_description *dst_desc)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue