Fill in nv30PointSize and nv30Viewport.
authorJeremy Kolb <jkolb@freedesktop.org>
Sat, 11 Nov 2006 16:48:14 +0000 (16:48 +0000)
committerJeremy Kolb <jkolb@freedesktop.org>
Sat, 11 Nov 2006 16:48:14 +0000 (16:48 +0000)
src/mesa/drivers/dri/nouveau/nouveau_reg.h
src/mesa/drivers/dri/nouveau/nv30_state.c

index 359f36cec8f118a7f50577cee757e36fb2b456a0..c5052d7c4b9fe792c45d31f16aaa2a38f04013ad 100644 (file)
@@ -1178,6 +1178,7 @@ Object NV30_TCL_PRIMITIVE_3D used on: NV30 NV40 G70
 #      define          NV30_TCL_PRIMITIVE_3D_SCISSOR_WIDTH_XPOS                0x000008c0      /* Parameters: width x_offset */
 #      define          NV30_TCL_PRIMITIVE_3D_SCISSOR_HEIGHT_YPOS               0x000008c4      /* Parameters: height y_offset */
 #      define          NV30_TCL_PRIMITIVE_3D_POINT_SPRITE                      0x00001ee8      /* Parameters: coord_replace r_mode enable */
+#      define          NV30_TCL_PRIMITIVE_3D_POINT_SIZE                        0x00001ee0
 #      define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_A                 0x00001ec0
 #      define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_B                 0x00001ec4
 #      define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_C                 0x00001ec8
index b1914b462ffcc0af72fec78abedbaaba02ab5eb1..c3670580a2dcb4f4b9a948086ba1984d63b8c7f7 100644 (file)
@@ -433,7 +433,13 @@ void nv30PointParameterfv(GLcontext *ctx, GLenum pname, const GLfloat *params)
 }
 
 /** Specify the diameter of rasterized points */
-void (*PointSize)(GLcontext *ctx, GLfloat size);
+void nv30PointSize(GLcontext *ctx, GLfloat size)
+{
+    nouveauContextPtr nmesa = NOUVEAU_CONTEXT(ctx);
+    BEGIN_RING_SIZE(NvSub3D, NV30_TCL_PRIMITIVE_3D_POINT_SIZE, 1);
+    OUT_RINFf(size);
+}
+
 /** Select a polygon rasterization mode */
 void (*PolygonMode)(GLcontext *ctx, GLenum face, GLenum mode);
 /** Set the scale and units used to calculate depth values */
@@ -467,6 +473,14 @@ void (*TexParameter)(GLcontext *ctx, GLenum target,
                struct gl_texture_object *texObj,
                GLenum pname, const GLfloat *params);
 void (*TextureMatrix)(GLcontext *ctx, GLuint unit, const GLmatrix *mat);
+
 /** Set the viewport */
-void (*Viewport)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
+void nv30Viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h)
+{
+    /* TODO: Where do the VIEWPORT_XFRM_* regs come in? */
+    nouveauContextPtr nmesa = NOUVEAU_CONTEXT(ctx);
+    BEGIN_RING_SIZE(NvSub3D, NV30_TCL_PRIMITIVE_3D_VIEWPORT_DIMS_0, 2);
+    OUT_RING((w << 16) | x);
+    OUT_RING((h << 16) | y);
+}