mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-18 08:20:29 +01:00
intel/isl: Fix map between sRGB and linear formats
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>
This commit is contained in:
parent
1404c180e9
commit
7f84eee3c6
1 changed files with 3 additions and 1 deletions
|
|
@ -253,12 +253,14 @@ def get_srgb_to_linear_map(formats):
|
|||
('_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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue