Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support

This commit is contained in:
Rodolfo Bogado 2018-10-24 17:09:40 -03:00
parent a9d60c6103
commit 0287b2be6d
8 changed files with 197 additions and 40 deletions

View file

@ -173,6 +173,7 @@ struct TICEntry {
};
union {
BitField<0, 16, u32> width_minus_1;
BitField<22, 1, u32> srgb_conversion;
BitField<23, 4, TextureType> texture_type;
};
union {
@ -227,6 +228,10 @@ struct TICEntry {
return header_version == TICHeaderVersion::BlockLinear ||
header_version == TICHeaderVersion::BlockLinearColorKey;
}
bool IsSrgbConversionEnabled() const {
return srgb_conversion != 0;
}
};
static_assert(sizeof(TICEntry) == 0x20, "TICEntry has wrong size");