i965/vs: Fix NULL pointer dereference in pre-Gen6 push constant loading.
[mesa.git] / src / mesa / drivers / dri / nouveau / nv04_state_raster.c
index c191571a5f81ea020dc91d97fdfb05f5a9a21c9b..78d29fc485b5f78ef0390335dab1e8e4df3c8a3b 100644 (file)
@@ -27,7 +27,8 @@
 #include "nouveau_driver.h"
 #include "nouveau_context.h"
 #include "nouveau_util.h"
-#include "nouveau_class.h"
+#include "nv_object.xml.h"
+#include "nv04_3d.xml.h"
 #include "nv04_driver.h"
 
 static unsigned
@@ -127,13 +128,13 @@ get_blend_func(unsigned func)
 }
 
 void
-nv04_defer_control(GLcontext *ctx, int emit)
+nv04_defer_control(struct gl_context *ctx, int emit)
 {
        context_dirty(ctx, CONTROL);
 }
 
 void
-nv04_emit_control(GLcontext *ctx, int emit)
+nv04_emit_control(struct gl_context *ctx, int emit)
 {
        struct nouveau_channel *chan = context_chan(ctx);
        struct nouveau_grobj *fahrenheit = nv04_context_engine(ctx);
@@ -142,7 +143,7 @@ nv04_emit_control(GLcontext *ctx, int emit)
                int cull_mode = ctx->Polygon.CullFaceMode;
                int front_face = ctx->Polygon.FrontFace;
                uint32_t ctrl0 = 1 << 30 |
-                       NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN;
+                       NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CORNER;
                uint32_t ctrl1 = 0, ctrl2 = 0;
 
                /* Color mask. */
@@ -210,7 +211,7 @@ nv04_emit_control(GLcontext *ctx, int emit)
                int cull_mode = ctx->Polygon.CullFaceMode;
                int front_face = ctx->Polygon.FrontFace;
                uint32_t ctrl = 1 << 30 |
-                       NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN;
+                       NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CORNER;
 
                /* Dithering. */
                if (ctx->Color.DitherFlag)
@@ -247,13 +248,13 @@ nv04_emit_control(GLcontext *ctx, int emit)
 }
 
 void
-nv04_defer_blend(GLcontext *ctx, int emit)
+nv04_defer_blend(struct gl_context *ctx, int emit)
 {
        context_dirty(ctx, BLEND);
 }
 
 void
-nv04_emit_blend(GLcontext *ctx, int emit)
+nv04_emit_blend(struct gl_context *ctx, int emit)
 {
        struct nouveau_channel *chan = context_chan(ctx);
        struct nouveau_grobj *fahrenheit = nv04_context_engine(ctx);
@@ -263,8 +264,8 @@ nv04_emit_blend(GLcontext *ctx, int emit)
                        NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE;
 
                /* Alpha blending. */
-               blend |= get_blend_func(ctx->Color.BlendDstRGB) << 28 |
-                       get_blend_func(ctx->Color.BlendSrcRGB) << 24;
+               blend |= get_blend_func(ctx->Color.Blend[0].DstRGB) << 28 |
+                       get_blend_func(ctx->Color.Blend[0].SrcRGB) << 24;
 
                if (ctx->Color.BlendEnabled)
                        blend |= NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE;
@@ -276,7 +277,7 @@ nv04_emit_blend(GLcontext *ctx, int emit)
                        blend |= NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT;
 
                /* Secondary color */
-               if (NEED_SECONDARY_COLOR(ctx))
+               if (_mesa_need_secondary_color(ctx))
                        blend |= NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE;
 
                /* Fog. */
@@ -295,8 +296,8 @@ nv04_emit_blend(GLcontext *ctx, int emit)
                        NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE;
 
                /* Alpha blending. */
-               blend |= get_blend_func(ctx->Color.BlendDstRGB) << 28 |
-                       get_blend_func(ctx->Color.BlendSrcRGB) << 24;
+               blend |= get_blend_func(ctx->Color.Blend[0].DstRGB) << 28 |
+                       get_blend_func(ctx->Color.Blend[0].SrcRGB) << 24;
 
                if (ctx->Color.BlendEnabled)
                        blend |= NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE;
@@ -314,7 +315,7 @@ nv04_emit_blend(GLcontext *ctx, int emit)
                        blend |= get_texenv_mode(GL_MODULATE);
 
                /* Secondary color */
-               if (NEED_SECONDARY_COLOR(ctx))
+               if (_mesa_need_secondary_color(ctx))
                        blend |= NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE;
 
                /* Fog. */