diff options
author | Brian Paul <[email protected]> | 2011-10-19 09:29:38 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-10-19 09:32:30 -0600 |
commit | d3561bd0bc4a88ee0500460f8e0830a818e456a9 (patch) | |
tree | f4754b6ea3d64388a09a97f45669fd430c771d0b /src/mesa/swrast/s_fragprog.c | |
parent | ab9136ef750a1209db26d6c9dffe299f4134682e (diff) |
swrast: fix float->uint conversion of gl_FragDepth
Using IROUND() to convert a float depth value to a 32-bit uint Z value.
didn't work (it returns a signed value). Just use a cast instead
Fixes piglit fbo-depth-array failure with swrast.
Note: this is a candidate for the 7.11 branch.
Diffstat (limited to 'src/mesa/swrast/s_fragprog.c')
-rw-r--r-- | src/mesa/swrast/s_fragprog.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/swrast/s_fragprog.c b/src/mesa/swrast/s_fragprog.c index 7f205a200af..1caa0ebc226 100644 --- a/src/mesa/swrast/s_fragprog.c +++ b/src/mesa/swrast/s_fragprog.c @@ -237,7 +237,8 @@ run_program(struct gl_context *ctx, SWspan *span, GLuint start, GLuint end) else if (depth >= 1.0) span->array->z[i] = ctx->DrawBuffer->_DepthMax; else - span->array->z[i] = IROUND(depth * ctx->DrawBuffer->_DepthMaxF); + span->array->z[i] = + (GLuint) (depth * ctx->DrawBuffer->_DepthMaxF + 0.5F); } } else { |