Merge remote branch 'origin/7.8'
[mesa.git] / src / gallium / drivers / nv30 / nv30_state.h
index c65a937467ed2f50dad9c6e8a5436ae9184fb01a..66c26360cb2e582561615ea2206bba822430a2ab 100644 (file)
@@ -2,6 +2,7 @@
 #define __NV30_STATE_H__
 
 #include "pipe/p_state.h"
+#include "tgsi/tgsi_scan.h"
 
 struct nv30_sampler_state {
        uint32_t fmt;
@@ -26,6 +27,7 @@ struct nv30_vertex_program {
        struct pipe_shader_state pipe;
 
        boolean translated;
+
        struct nv30_vertex_program_exec *insns;
        unsigned nr_insns;
        struct nv30_vertex_program_data *consts;
@@ -39,6 +41,7 @@ struct nv30_vertex_program {
 
        uint32_t ir;
        uint32_t or;
+       struct nouveau_stateobj *so;
 };
 
 struct nv30_fragment_program_data {
@@ -48,6 +51,7 @@ struct nv30_fragment_program_data {
 
 struct nv30_fragment_program {
        struct pipe_shader_state pipe;
+       struct tgsi_shader_info info;
 
        boolean translated;
        boolean on_hw;
@@ -63,10 +67,14 @@ struct nv30_fragment_program {
 
        uint32_t fp_control;
        uint32_t fp_reg_control;
+       struct nouveau_stateobj *so;
 };
 
+#define NV30_MAX_TEXTURE_LEVELS  16
+
 struct nv30_miptree {
        struct pipe_texture base;
+       struct nouveau_bo *bo;
 
        struct pipe_buffer *buffer;
        uint total_size;
@@ -74,7 +82,7 @@ struct nv30_miptree {
        struct {
                uint pitch;
                uint *image_offset;
-       } level[PIPE_MAX_TEXTURE_LEVELS];
+       } level[NV30_MAX_TEXTURE_LEVELS];
 };
 
 #endif