Some SRGB formats don't get the expected linear counterparts in
isl_format_srgb_to_linear() in the generated isl_format_layout.c.
The replace() of string in python returns the unchanged input
string when no replacement occurred, so the first rule
('_SRGB', '') returns the original SRGB format name that passes
the following check unintendedly.
Another quirk is needed for a pair of formats not following
the patterns of other formats.
Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22247>
('_SRGB', ''),
('SRGB', 'RGB'),
('U8SRGB', 'FLT16'),
+ # Quirk: ETC2_EAC_SRGB8_A8 -> ETC2_EAC_RGBA8
+ ('SRGB8_A8', 'RGBA8'),
]
found = False
for rep in replacements:
rgb_name = fmt.name.replace(rep[0], rep[1])
- if rgb_name in names:
+ if rgb_name in names and rgb_name != fmt.name:
found = True
yield fmt.name, rgb_name
break