nv10: fix build after merge
authorBen Skeggs <skeggsb@gmail.com>
Sun, 16 Mar 2008 01:55:02 +0000 (12:55 +1100)
committerBen Skeggs <skeggsb@gmail.com>
Sun, 16 Mar 2008 01:55:13 +0000 (12:55 +1100)
src/gallium/drivers/nv10/nv10_state.c
src/gallium/drivers/nv10/nv10_state.h

index 313230fe8898d4320470b1ff88e48ffc9f0022d8..d7c445f1b3921ac8ca0fb01a1c928381ea8655b2 100644 (file)
 static void nv10_vertex_layout(struct pipe_context* pipe)
 {
        struct nv10_context *nv10 = nv10_context(pipe);
-       const struct pipe_shader_state *fs = nv10->fragprog.current->pipe;
+       struct nv10_fragment_program *fp = nv10->fragprog.current;
        uint32_t src = 0;
        int i;
        struct vertex_info vinfo;
 
        memset(&vinfo, 0, sizeof(vinfo));
 
-       for (i = 0; i < fs->num_inputs; i++) {
-               switch (fs->input_semantic_name[i]) {
+       for (i = 0; i < fp->info.num_inputs; i++) {
+               switch (fp->info.input_semantic_name[i]) {
                        case TGSI_SEMANTIC_POSITION:
                                draw_emit_vertex_attr(&vinfo, EMIT_4F, INTERP_LINEAR, src++);
                                break;
@@ -476,6 +476,8 @@ nv10_fp_state_create(struct pipe_context *pipe,
 
        fp = CALLOC(1, sizeof(struct nv10_fragment_program));
        fp->pipe = cso;
+       
+       tgsi_scan_shader(cso->tokens, &fp->info);
 
        return (void *)fp;
 }
index d4b703c7adb21c015403bcbef71b441f3c352d99..9bda8a7d6a39446b3371d195ad45f2843d810fae 100644 (file)
@@ -2,6 +2,7 @@
 #define __NV10_STATE_H__
 
 #include "pipe/p_state.h"
+#include "tgsi/util/tgsi_scan.h"
 
 struct nv10_blend_state {
        uint32_t b_enable;
@@ -77,6 +78,7 @@ struct nv10_fragment_program_data {
 
 struct nv10_fragment_program {
        const struct pipe_shader_state *pipe;
+       struct tgsi_shader_info info;
 
        boolean translated;
        boolean on_hw;