st/mesa: fix per-vertex edge flags and GLSL support (v2)
This fixes piglit/gl-2.0-edgeflag. v2: use StrideB to recognize per-vertex edge flags Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
@@ -132,15 +132,14 @@ static void check_program_state( struct st_context *st )
|
||||
static void check_attrib_edgeflag(struct st_context *st)
|
||||
{
|
||||
const struct gl_client_array **arrays = st->ctx->Array._DrawArrays;
|
||||
GLboolean vertDataEdgeFlags;
|
||||
GLboolean vertdata_edgeflags;
|
||||
|
||||
if (!arrays)
|
||||
return;
|
||||
|
||||
vertDataEdgeFlags = arrays[VERT_ATTRIB_EDGEFLAG]->BufferObj &&
|
||||
arrays[VERT_ATTRIB_EDGEFLAG]->BufferObj->Name;
|
||||
if (vertDataEdgeFlags != st->vertdata_edgeflags) {
|
||||
st->vertdata_edgeflags = vertDataEdgeFlags;
|
||||
vertdata_edgeflags = arrays[VERT_ATTRIB_EDGEFLAG]->StrideB != 0;
|
||||
if (vertdata_edgeflags != st->vertdata_edgeflags) {
|
||||
st->vertdata_edgeflags = vertdata_edgeflags;
|
||||
st->dirty.st |= ST_NEW_EDGEFLAGS_DATA;
|
||||
}
|
||||
}
|
||||
|
@@ -342,14 +342,14 @@ st_translate_vertex_program(struct st_context *st,
|
||||
stvp->glsl_to_tgsi,
|
||||
&stvp->Base.Base,
|
||||
/* inputs */
|
||||
stvp->num_inputs,
|
||||
vpv->num_inputs,
|
||||
stvp->input_to_index,
|
||||
NULL, /* input semantic name */
|
||||
NULL, /* input semantic index */
|
||||
NULL, /* interp mode */
|
||||
NULL, /* is centroid */
|
||||
/* outputs */
|
||||
stvp->num_outputs,
|
||||
num_outputs,
|
||||
stvp->result_to_output,
|
||||
stvp->output_semantic_name,
|
||||
stvp->output_semantic_index,
|
||||
|
Reference in New Issue
Block a user