brw->state.dirty.mesa |= PIPE_NEW_VERTEX_BUFFER;
}
-static void brw_set_edgeflags( struct pipe_context *pipe,
- const unsigned *bitfield )
-{
- /* XXX */
-}
-
void
brw_pipe_vertex_init( struct brw_context *brw )
{
brw->base.set_vertex_buffers = brw_set_vertex_buffers;
brw->base.set_vertex_elements = brw_set_vertex_elements;
- brw->base.set_edgeflags = brw_set_edgeflags;
}
c.prog_data.nr_outputs = vp->info.num_outputs;
c.prog_data.nr_inputs = vp->info.num_inputs;
- /* XXX: we want edgeflag handling to be integrated to the vertex
- * shader, but are currently faking the edgeflag output:
- */
- if (c.key.copy_edgeflag) {
- c.prog_data.output_edgeflag = c.prog_data.nr_outputs;
- c.prog_data.nr_outputs++;
- }
- else {
- c.prog_data.output_edgeflag = ~0;
- }
-
-
if (1)
tgsi_dump(c.vp->tokens, 0);
key.program_string_id = vp->id;
key.nr_userclip = brw->curr.ucp.nr;
- key.copy_edgeflag = (brw->curr.rast->templ.fill_ccw != PIPE_POLYGON_MODE_FILL ||
- brw->curr.rast->templ.fill_cw != PIPE_POLYGON_MODE_FILL);
memcpy(&key.fs_signature, sig, brw_fs_signature_size(sig));
struct brw_vs_prog_key {
GLuint program_string_id;
GLuint nr_userclip:4;
- GLuint copy_edgeflag:1;
GLuint pad:26;
struct brw_fs_signature fs_signature;
};
GLuint nr_immediates;
GLfloat immediate[128][4];
- GLboolean copy_edgeflag;
-
GLuint overflow_grf_start;
GLuint overflow_count;
int i;
GLuint len_vertext_header = 2;
- if (c->key.copy_edgeflag) {
- brw_MOV(p,
- get_reg(c, TGSI_FILE_OUTPUT, c->prog_data.output_edgeflag),
- brw_imm_f(1));
- }
-
/* Build ndc coords */
ndc = get_tmp(c);
/* ndc = 1.0 / pos.w */