Explorar el Código

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.
tags/mesa-8.0-rc1
Brian Paul hace 14 años
padre
commit
d3561bd0bc
Se han modificado 1 ficheros con 2 adiciones y 1 borrados
  1. 2
    1
      src/mesa/swrast/s_fragprog.c

+ 2
- 1
src/mesa/swrast/s_fragprog.c Ver fichero

@@ -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 {

Cargando…
Cancelar
Guardar