mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
svga: add function svga_linear_to_srgb()
This function will return compatible svga srgb format for corresponding linear format Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
parent
6e06e281c6
commit
1b415a5b28
2 changed files with 29 additions and 0 deletions
|
|
@ -2337,3 +2337,29 @@ svga_format_is_shareable(const struct svga_screen *ss,
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the sRGB format which corresponds to the given (linear) format.
|
||||
* If there's no such sRGB format, return the format as-is.
|
||||
*/
|
||||
SVGA3dSurfaceFormat
|
||||
svga_linear_to_srgb(SVGA3dSurfaceFormat format)
|
||||
{
|
||||
switch (format) {
|
||||
case SVGA3D_R8G8B8A8_UNORM:
|
||||
return SVGA3D_R8G8B8A8_UNORM_SRGB;
|
||||
case SVGA3D_BC1_UNORM:
|
||||
return SVGA3D_BC1_UNORM_SRGB;
|
||||
case SVGA3D_BC2_UNORM:
|
||||
return SVGA3D_BC2_UNORM_SRGB;
|
||||
case SVGA3D_BC3_UNORM:
|
||||
return SVGA3D_BC3_UNORM_SRGB;
|
||||
case SVGA3D_B8G8R8A8_UNORM:
|
||||
return SVGA3D_B8G8R8A8_UNORM_SRGB;
|
||||
case SVGA3D_B8G8R8X8_UNORM:
|
||||
return SVGA3D_B8G8R8X8_UNORM_SRGB;
|
||||
default:
|
||||
return format;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -117,4 +117,7 @@ svga_format_is_shareable(const struct svga_screen *ss,
|
|||
SVGA3dSurfaceFormat sformat,
|
||||
unsigned bind,
|
||||
bool verbose);
|
||||
|
||||
SVGA3dSurfaceFormat
|
||||
svga_linear_to_srgb(SVGA3dSurfaceFormat format);
|
||||
#endif /* SVGA_FORMAT_H_ */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue