diff options
author | Brian Paul <brianp@vmware.com> | 2014-03-06 10:56:27 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2014-03-06 18:17:14 -0700 |
commit | 0f0c16b238886f5bf08991109e88eb7bd507e1e6 (patch) | |
tree | bb83a56637221e62b89314d27881b8d5d0ec0d29 /src/mesa/swrast | |
parent | 8d3f739383fbdf671752fdec707f1c2b9b2aa6a3 (diff) | |
download | external_mesa3d-0f0c16b238886f5bf08991109e88eb7bd507e1e6.zip external_mesa3d-0f0c16b238886f5bf08991109e88eb7bd507e1e6.tar.gz external_mesa3d-0f0c16b238886f5bf08991109e88eb7bd507e1e6.tar.bz2 |
mesa: add MESA_FORMAT_R8G8B8A8_SRGB
To match PIPE_FORMAT_R8G8B8A8_SRGB.
v2: fix component name copy&paste bugs
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/mesa/swrast')
-rw-r--r-- | src/mesa/swrast/s_texfetch.c | 6 | ||||
-rw-r--r-- | src/mesa/swrast/s_texfetch_tmp.h | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/mesa/swrast/s_texfetch.c b/src/mesa/swrast/s_texfetch.c index 9c173a8..8ba7534 100644 --- a/src/mesa/swrast/s_texfetch.c +++ b/src/mesa/swrast/s_texfetch.c @@ -437,6 +437,12 @@ texfetch_funcs[] = fetch_texel_3d_sargb8 }, { + MESA_FORMAT_R8G8B8A8_SRGB, + fetch_texel_1d_sabgr8, + fetch_texel_2d_sabgr8, + fetch_texel_3d_sabgr8 + }, + { MESA_FORMAT_L_SRGB8, fetch_texel_1d_sl8, fetch_texel_2d_sl8, diff --git a/src/mesa/swrast/s_texfetch_tmp.h b/src/mesa/swrast/s_texfetch_tmp.h index 1db3adc..8821125 100644 --- a/src/mesa/swrast/s_texfetch_tmp.h +++ b/src/mesa/swrast/s_texfetch_tmp.h @@ -1015,6 +1015,19 @@ static void FETCH(sargb8)(const struct swrast_texture_image *texImage, +/* Fetch texel from 1D, 2D or 3D sabgr8 texture, return 4 GLfloats */ +static void FETCH(sabgr8)(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel ) +{ + const GLuint s = *TEXEL_ADDR(GLuint, texImage, i, j, k, 1); + texel[RCOMP] = nonlinear_to_linear( (s ) & 0xff ); + texel[GCOMP] = nonlinear_to_linear( (s >> 8) & 0xff ); + texel[BCOMP] = nonlinear_to_linear( (s >> 16) & 0xff ); + texel[ACOMP] = UBYTE_TO_FLOAT( (s >> 24) ); /* linear! */ +} + + + /* Fetch texel from 1D, 2D or 3D sl8 texture, return 4 GLfloats */ static void FETCH(sl8)(const struct swrast_texture_image *texImage, GLint i, GLint j, GLint k, GLfloat *texel ) |