summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2010-02-05 13:50:24 +0000
committerJosé Fonseca <[email protected]>2010-02-05 13:50:24 +0000
commit8eda50420354a7f051cd49ca675677fb670a03f6 (patch)
treea7e8b69acab76469ae56054b5a8256f71b8bef32
parenta1af8eec66c5f7ec421e8011b41c1a7c36319f9f (diff)
parent6785a8aaf4bff5f607731fdc6f19189c1088112f (diff)
Merge remote branch 'origin/master'
-rw-r--r--src/mesa/drivers/dri/r200/r200_state.c7
-rw-r--r--src/mesa/drivers/dri/r200/r200_state_init.c11
2 files changed, 17 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c
index d6964484bf3..b9ec6f428f0 100644
--- a/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -595,6 +595,13 @@ static void r200PointSize( GLcontext *ctx, GLfloat size )
r200ContextPtr rmesa = R200_CONTEXT(ctx);
GLfloat *fcmd = (GLfloat *)rmesa->hw.ptp.cmd;
+ radeon_print(RADEON_STATE, RADEON_TRACE,
+ "%s(%p) size: %f, fixed point result: %d.%d (%d/16)\n",
+ __func__, ctx, size,
+ ((GLuint)(ctx->Point.Size * 16.0))/16,
+ (((GLuint)(ctx->Point.Size * 16.0))&15)*100/16,
+ ((GLuint)(ctx->Point.Size * 16.0))&15);
+
R200_STATECHANGE( rmesa, cst );
R200_STATECHANGE( rmesa, ptp );
rmesa->hw.cst.cmd[CST_RE_POINTSIZE] &= ~0xffff;
diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c
index 4e8075eabc9..51e8ac56d85 100644
--- a/src/mesa/drivers/dri/r200/r200_state_init.c
+++ b/src/mesa/drivers/dri/r200/r200_state_init.c
@@ -347,6 +347,15 @@ static int check_rrb(GLcontext *ctx, struct radeon_state_atom *atom)
return atom->cmd_size;
}
+static int check_polygon_stipple(GLcontext *ctx,
+ struct radeon_state_atom *atom)
+{
+ r200ContextPtr r200 = R200_CONTEXT(ctx);
+ if (r200->hw.set.cmd[SET_RE_CNTL] & R200_STIPPLE_ENABLE)
+ return atom->cmd_size;
+ return 0;
+}
+
static void mtl_emit(GLcontext *ctx, struct radeon_state_atom *atom)
{
r200ContextPtr r200 = R200_CONTEXT(ctx);
@@ -885,7 +894,7 @@ void r200InitState( r200ContextPtr rmesa )
}
}
- ALLOC_STATE( stp, always, STP_STATE_SIZE, "STP/stp", 0 );
+ ALLOC_STATE( stp, polygon_stipple, STP_STATE_SIZE, "STP/stp", 0 );
for (i = 0; i < 6; i++)
if (rmesa->radeon.radeonScreen->kernel_mm)