X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fswrast%2Fs_chan.h;h=fa6c962b14cbeda713b6cd2122c5a4f1afb92e49;hb=d377fbf95d038583c24df95395600aec85e20318;hp=94ac8b65be181cb6626a518a2dabb14422064d3a;hpb=4d53fb525db56d0695eaa5b91bd8f0cefbc25866;p=mesa.git diff --git a/src/mesa/swrast/s_chan.h b/src/mesa/swrast/s_chan.h index 94ac8b65be1..fa6c962b14c 100644 --- a/src/mesa/swrast/s_chan.h +++ b/src/mesa/swrast/s_chan.h @@ -16,9 +16,10 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. */ /** @@ -35,6 +36,14 @@ #include "main/config.h" +/** + * Default bits per color channel: 8, 16 or 32 + */ +#ifndef CHAN_BITS +#define CHAN_BITS 8 +#endif + + /** * Color channel data type. */ @@ -85,8 +94,8 @@ #elif CHAN_BITS == 32 #define CHAN_TO_UBYTE(c) FLOAT_TO_UBYTE(c) -#define CHAN_TO_USHORT(c) ((GLushort) (CLAMP((c), 0.0f, 1.0f) * 65535.0)) -#define CHAN_TO_SHORT(c) ((GLshort) (CLAMP((c), 0.0f, 1.0f) * 32767.0)) +#define CHAN_TO_USHORT(c) ((GLushort) (SATURATE((c)) * 65535.0)) +#define CHAN_TO_SHORT(c) ((GLshort) (SATURATE((c)) * 32767.0)) #define CHAN_TO_FLOAT(c) (c) #define CLAMPED_FLOAT_TO_CHAN(c, f) c = (f)