mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 13:40:11 +01:00
Fix VERT_SET_RGBA, VERT_SET_SPEC macros to account for change to floating
point colors throughout mesa.
This commit is contained in:
parent
8592ba94b8
commit
425deefdd0
1 changed files with 27 additions and 23 deletions
|
|
@ -216,25 +216,6 @@ static struct {
|
|||
#define VERTEX i830Vertex
|
||||
#define TAB rast_tab
|
||||
|
||||
/* Only used to pull back colors into vertices (ie, we know color is
|
||||
* floating point).
|
||||
*/
|
||||
#define I830_COLOR( dst, src ) \
|
||||
do { \
|
||||
dst[0] = src[2]; \
|
||||
dst[1] = src[1]; \
|
||||
dst[2] = src[0]; \
|
||||
dst[3] = src[3]; \
|
||||
} while (0)
|
||||
|
||||
#define I830_SPEC( dst, src ) \
|
||||
do { \
|
||||
dst[0] = src[2]; \
|
||||
dst[1] = src[1]; \
|
||||
dst[2] = src[0]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define DEPTH_SCALE (imesa->depth_scale)
|
||||
#define UNFILLED_TRI unfilled_tri
|
||||
#define UNFILLED_QUAD unfilled_quad
|
||||
|
|
@ -244,13 +225,36 @@ do { \
|
|||
#define AREA_IS_CCW( a ) (a > 0)
|
||||
#define GET_VERTEX(e) (imesa->verts + (e<<imesa->vertex_stride_shift))
|
||||
|
||||
#define VERT_SET_RGBA( v, c ) I830_COLOR( v->ub4[coloroffset], c )
|
||||
#define VERT_SET_RGBA( v, c ) \
|
||||
do { \
|
||||
i830_color_t *color = (i830_color_t *)&((v)->ui[coloroffset]); \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(color->red, (c)[0]); \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(color->green, (c)[1]); \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(color->blue, (c)[2]); \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(color->alpha, (c)[3]); \
|
||||
} while (0)
|
||||
|
||||
#define VERT_COPY_RGBA( v0, v1 ) v0->ui[coloroffset] = v1->ui[coloroffset]
|
||||
|
||||
#define VERT_SET_SPEC( v0, c ) \
|
||||
do { \
|
||||
if (havespec) { \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(v0->v.specular.red, (c)[0]); \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(v0->v.specular.green, (c)[1]); \
|
||||
UNCLAMPED_FLOAT_TO_UBYTE(v0->v.specular.blue, (c)[2]); \
|
||||
} \
|
||||
} while (0)
|
||||
#define VERT_COPY_SPEC( v0, v1 ) \
|
||||
do { \
|
||||
if (havespec) { \
|
||||
v0->v.specular.red = v1->v.specular.red; \
|
||||
v0->v.specular.green = v1->v.specular.green; \
|
||||
v0->v.specular.blue = v1->v.specular.blue; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define VERT_SAVE_RGBA( idx ) color[idx] = v[idx]->ui[coloroffset]
|
||||
#define VERT_RESTORE_RGBA( idx ) v[idx]->ui[coloroffset] = color[idx]
|
||||
|
||||
#define VERT_SET_SPEC( v, c ) if (havespec) I830_SPEC( v->ub4[5], c )
|
||||
#define VERT_COPY_SPEC( v0, v1 ) if (havespec) COPY_3V(v0->ub4[5], v1->ub4[5])
|
||||
#define VERT_SAVE_SPEC( idx ) if (havespec) spec[idx] = v[idx]->ui[5]
|
||||
#define VERT_RESTORE_SPEC( idx ) if (havespec) v[idx]->ui[5] = spec[idx]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue