Add VF_ATTRIB_VAR0..7 for varying variables.
The demos/fslight.c demo runs now.
This commit is contained in:
@@ -60,6 +60,14 @@ static const GLuint frag_to_vf[FRAG_ATTRIB_MAX] =
|
||||
VF_ATTRIB_TEX5,
|
||||
VF_ATTRIB_TEX6,
|
||||
VF_ATTRIB_TEX7,
|
||||
VF_ATTRIB_VAR0,
|
||||
VF_ATTRIB_VAR1,
|
||||
VF_ATTRIB_VAR2,
|
||||
VF_ATTRIB_VAR3,
|
||||
VF_ATTRIB_VAR4,
|
||||
VF_ATTRIB_VAR5,
|
||||
VF_ATTRIB_VAR6,
|
||||
VF_ATTRIB_VAR7,
|
||||
};
|
||||
|
||||
|
||||
@@ -109,6 +117,7 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe )
|
||||
*/
|
||||
for (i = 1; i < FRAG_ATTRIB_TEX0; i++) {
|
||||
if (inputsRead & (1 << i)) {
|
||||
assert(i < sizeof(frag_to_vf) / sizeof(frag_to_vf[0]));
|
||||
if (softpipe->setup.flatshade
|
||||
&& (i == FRAG_ATTRIB_COL0 || i == FRAG_ATTRIB_COL1))
|
||||
EMIT_ATTR(frag_to_vf[i], i, INTERP_CONSTANT);
|
||||
@@ -119,6 +128,7 @@ static void calculate_vertex_layout( struct softpipe_context *softpipe )
|
||||
|
||||
for (i = FRAG_ATTRIB_TEX0; i < FRAG_ATTRIB_MAX; i++) {
|
||||
if (inputsRead & (1 << i)) {
|
||||
assert(i < sizeof(frag_to_vf) / sizeof(frag_to_vf[0]));
|
||||
EMIT_ATTR(frag_to_vf[i], i, INTERP_PERSPECTIVE);
|
||||
softpipe->need_w = GL_TRUE;
|
||||
}
|
||||
|
||||
+14
-6
@@ -48,12 +48,20 @@ enum {
|
||||
VF_ATTRIB_TEX5 = 13,
|
||||
VF_ATTRIB_TEX6 = 14,
|
||||
VF_ATTRIB_TEX7 = 15,
|
||||
VF_ATTRIB_POINTSIZE = 16,
|
||||
VF_ATTRIB_BFC0 = 17,
|
||||
VF_ATTRIB_BFC1 = 18,
|
||||
VF_ATTRIB_CLIP_POS = 19,
|
||||
VF_ATTRIB_VERTEX_HEADER = 20,
|
||||
VF_ATTRIB_MAX = 21
|
||||
VF_ATTRIB_VAR0 = 16,
|
||||
VF_ATTRIB_VAR1 = 17,
|
||||
VF_ATTRIB_VAR2 = 18,
|
||||
VF_ATTRIB_VAR3 = 19,
|
||||
VF_ATTRIB_VAR4 = 20,
|
||||
VF_ATTRIB_VAR5 = 21,
|
||||
VF_ATTRIB_VAR6 = 22,
|
||||
VF_ATTRIB_VAR7 = 23,
|
||||
VF_ATTRIB_POINTSIZE = 24,
|
||||
VF_ATTRIB_BFC0 = 25,
|
||||
VF_ATTRIB_BFC1 = 26,
|
||||
VF_ATTRIB_CLIP_POS = 27,
|
||||
VF_ATTRIB_VERTEX_HEADER = 28,
|
||||
VF_ATTRIB_MAX = 29
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user