Fill in nv30PointSize and nv30Viewport.

This commit is contained in:
Jeremy Kolb 2006-11-11 16:48:14 +00:00
parent 994ea9556f
commit 4f61fd18b2
2 changed files with 18 additions and 3 deletions

View 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

View 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);
/** Set the viewport */
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);
}