i965g: fix for edgeflag changes (untested)
authorRoland Scheidegger <sroland@vmware.com>
Tue, 22 Dec 2009 20:26:51 +0000 (21:26 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Tue, 22 Dec 2009 20:26:51 +0000 (21:26 +0100)
src/gallium/drivers/i965/brw_pipe_shader.c
src/gallium/drivers/i965/brw_pipe_vertex.c
src/gallium/drivers/i965/brw_vs.c
src/gallium/drivers/i965/brw_vs.h
src/gallium/drivers/i965/brw_vs_emit.c

index 31a715ab6555e07404e0e1bc1e6f5868fb29d151..20f20571f653b39a036e1a586791f9afe05fac8b 100644 (file)
@@ -215,15 +215,12 @@ static void *brw_create_vs_state( struct pipe_context *pipe,
          else
             vs->output_bfc1 = i;
          break;
-#if 0
       case TGSI_SEMANTIC_EDGEFLAG:
          vs->output_edgeflag = i;
          break;
-#endif
       }
    }
 
-
    
    /* Done:
     */
index 3d87a2853f7a5c036a8e649bdcdce428a75e8093..e3c48e3149357d88dc11fd51653324280998898a 100644 (file)
@@ -44,19 +44,12 @@ static void brw_set_vertex_buffers(struct pipe_context *pipe,
    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;
 }
 
 
index 14a1c3bcf181c229dfd84f532b8c0ce0b2b3f98e..e3ea5a3a135fbceb16a631f021eeb6f3fb45dd8f 100644 (file)
@@ -58,18 +58,6 @@ static enum pipe_error do_vs_prog( struct brw_context *brw,
    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);
 
@@ -108,8 +96,6 @@ static enum pipe_error brw_upload_vs_prog(struct brw_context *brw)
 
    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));
 
index 3d1598d02b9a2204c7647cdb9465a79fd6c7aa42..944d88c84cc8028157922539fc8d157a5c0c0857 100644 (file)
@@ -41,7 +41,6 @@
 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;
 };
@@ -66,8 +65,6 @@ struct brw_vs_compile {
    GLuint nr_immediates;
    GLfloat immediate[128][4];
 
-   GLboolean copy_edgeflag;
-
    GLuint overflow_grf_start;
    GLuint overflow_count;
 
index 1d0fff0d9eacd788d4b2c75e337cdc8b5eedfccb..714def5046d167d2e8e6fb2214f3259dac4fd014 100644 (file)
@@ -1141,12 +1141,6 @@ static void emit_vertex_write( struct brw_vs_compile *c)
    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 */