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)
|
static void check_attrib_edgeflag(struct st_context *st)
|
||||||
{
|
{
|
||||||
const struct gl_client_array **arrays = st->ctx->Array._DrawArrays;
|
const struct gl_client_array **arrays = st->ctx->Array._DrawArrays;
|
||||||
GLboolean vertDataEdgeFlags;
|
GLboolean vertdata_edgeflags;
|
||||||
|
|
||||||
if (!arrays)
|
if (!arrays)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
vertDataEdgeFlags = arrays[VERT_ATTRIB_EDGEFLAG]->BufferObj &&
|
vertdata_edgeflags = arrays[VERT_ATTRIB_EDGEFLAG]->StrideB != 0;
|
||||||
arrays[VERT_ATTRIB_EDGEFLAG]->BufferObj->Name;
|
if (vertdata_edgeflags != st->vertdata_edgeflags) {
|
||||||
if (vertDataEdgeFlags != st->vertdata_edgeflags) {
|
st->vertdata_edgeflags = vertdata_edgeflags;
|
||||||
st->vertdata_edgeflags = vertDataEdgeFlags;
|
|
||||||
st->dirty.st |= ST_NEW_EDGEFLAGS_DATA;
|
st->dirty.st |= ST_NEW_EDGEFLAGS_DATA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -342,14 +342,14 @@ st_translate_vertex_program(struct st_context *st,
|
|||||||
stvp->glsl_to_tgsi,
|
stvp->glsl_to_tgsi,
|
||||||
&stvp->Base.Base,
|
&stvp->Base.Base,
|
||||||
/* inputs */
|
/* inputs */
|
||||||
stvp->num_inputs,
|
vpv->num_inputs,
|
||||||
stvp->input_to_index,
|
stvp->input_to_index,
|
||||||
NULL, /* input semantic name */
|
NULL, /* input semantic name */
|
||||||
NULL, /* input semantic index */
|
NULL, /* input semantic index */
|
||||||
NULL, /* interp mode */
|
NULL, /* interp mode */
|
||||||
NULL, /* is centroid */
|
NULL, /* is centroid */
|
||||||
/* outputs */
|
/* outputs */
|
||||||
stvp->num_outputs,
|
num_outputs,
|
||||||
stvp->result_to_output,
|
stvp->result_to_output,
|
||||||
stvp->output_semantic_name,
|
stvp->output_semantic_name,
|
||||||
stvp->output_semantic_index,
|
stvp->output_semantic_index,
|
||||||
|
Reference in New Issue
Block a user