mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-04 12:50:25 +01:00
mesa: Add clamping for packing of integer data.
Mostly fixes piglit EXT_texture_integer/getteximage-clamping. The
remaining failure involves precision loss on storing of int32 texture
data (something I knew was an issue, but wasn't trying to test).
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 8b97bb02fb)
This commit is contained in:
parent
35af090907
commit
c1ccb52c72
1 changed files with 4 additions and 4 deletions
|
|
@ -462,7 +462,7 @@ get_type_min_max(GLenum type, GLfloat *min, GLfloat *max)
|
|||
#undef FN_NAME
|
||||
|
||||
#define DST_TYPE GLushort
|
||||
#define SRC_CONVERT(x) (x)
|
||||
#define SRC_CONVERT(x) MIN2(x, 0xffff)
|
||||
#define FN_NAME pack_ushort_from_uint_rgba
|
||||
#include "pack_tmp.h"
|
||||
#undef DST_TYPE
|
||||
|
|
@ -470,7 +470,7 @@ get_type_min_max(GLenum type, GLfloat *min, GLfloat *max)
|
|||
#undef FN_NAME
|
||||
|
||||
#define DST_TYPE GLshort
|
||||
#define SRC_CONVERT(x) (x)
|
||||
#define SRC_CONVERT(x) CLAMP((int)x, -32768, 32767)
|
||||
#define FN_NAME pack_short_from_uint_rgba
|
||||
#include "pack_tmp.h"
|
||||
#undef DST_TYPE
|
||||
|
|
@ -478,7 +478,7 @@ get_type_min_max(GLenum type, GLfloat *min, GLfloat *max)
|
|||
#undef FN_NAME
|
||||
|
||||
#define DST_TYPE GLubyte
|
||||
#define SRC_CONVERT(x) (x)
|
||||
#define SRC_CONVERT(x) MIN2(x, 0xff)
|
||||
#define FN_NAME pack_ubyte_from_uint_rgba
|
||||
#include "pack_tmp.h"
|
||||
#undef DST_TYPE
|
||||
|
|
@ -486,7 +486,7 @@ get_type_min_max(GLenum type, GLfloat *min, GLfloat *max)
|
|||
#undef FN_NAME
|
||||
|
||||
#define DST_TYPE GLbyte
|
||||
#define SRC_CONVERT(x) (x)
|
||||
#define SRC_CONVERT(x) CLAMP((int)x, -128, 127)
|
||||
#define FN_NAME pack_byte_from_uint_rgba
|
||||
#include "pack_tmp.h"
|
||||
#undef DST_TYPE
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue