projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mesa/main: Use the RGB <-> sRGB conversion functions in libmesautil
[mesa.git]
/
src
/
util
/
format_srgb.h
diff --git
a/src/util/format_srgb.h
b/src/util/format_srgb.h
index 8e92c38f4611b0c51aae27749e39a41f3c2279c1..17ba2835f9f34ce3765a7319614d28950517552e 100644
(file)
--- a/
src/util/format_srgb.h
+++ b/
src/util/format_srgb.h
@@
-38,6
+38,7
@@
#define U_FORMAT_SRGB_H_
#include <stdint.h>
#define U_FORMAT_SRGB_H_
#include <stdint.h>
+#include <math.h>
extern const float
util_format_srgb_8unorm_to_linear_float_table[256];
extern const float
util_format_srgb_8unorm_to_linear_float_table[256];
@@
-52,6
+53,20
@@
extern const unsigned
util_format_linear_to_srgb_helper_table[104];
util_format_linear_to_srgb_helper_table[104];
+static inline float
+util_format_linear_to_srgb_float(float cl)
+{
+ if (cl < 0.0f)
+ return 0.0f;
+ else if (cl < 0.0031308f)
+ return 12.92f * cl;
+ else if (cl < 1.0f)
+ return 1.055f * powf(cl, 0.41666f) - 0.055f;
+ else
+ return 1.0f;
+}
+
+
/**
* Convert a unclamped linear float to srgb value in the [0,255].
*/
/**
* Convert a unclamped linear float to srgb value in the [0,255].
*/