mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
Using glColor3 commands to update materials could result in an undefined
alpha value. Fixed.
This commit is contained in:
parent
7cd2ae9d97
commit
3db7ae3a38
1 changed files with 6 additions and 4 deletions
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.1
|
||||
* Version: 6.3
|
||||
*
|
||||
* Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
|
|
@ -50,6 +50,7 @@ struct material_cursor {
|
|||
const GLfloat *ptr;
|
||||
GLuint stride;
|
||||
GLfloat *current;
|
||||
GLuint size; /* 1, 2, 3 or 4 */
|
||||
};
|
||||
|
||||
struct light_stage_data {
|
||||
|
|
@ -79,7 +80,7 @@ static void update_materials( GLcontext *ctx,
|
|||
GLuint i;
|
||||
|
||||
for (i = 0 ; i < store->mat_count ; i++) {
|
||||
COPY_4V(store->mat[i].current, store->mat[i].ptr);
|
||||
COPY_CLEAN_4V(store->mat[i].current, store->mat[i].size, store->mat[i].ptr);
|
||||
STRIDE_F(store->mat[i].ptr, store->mat[i].stride);
|
||||
}
|
||||
|
||||
|
|
@ -110,8 +111,9 @@ static GLuint prepare_materials( GLcontext *ctx,
|
|||
if (VB->AttribPtr[i]->stride) {
|
||||
GLuint j = store->mat_count++;
|
||||
GLuint attr = i - _TNL_ATTRIB_MAT_FRONT_AMBIENT;
|
||||
store->mat[j].ptr = VB->AttribPtr[i]->start;
|
||||
store->mat[j].ptr = VB->AttribPtr[i]->start;
|
||||
store->mat[j].stride = VB->AttribPtr[i]->stride;
|
||||
store->mat[j].size = VB->AttribPtr[i]->size;
|
||||
store->mat[j].current = ctx->Light.Material.Attrib[attr];
|
||||
store->mat_bitmask |= (1<<attr);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue