Mesa (master): r200: Fix EXT_fogcoord rendering.

Pauli Nieminen suokko at kemper.freedesktop.org
Tue Feb 2 04:15:11 UTC 2010


Module: Mesa
Branch: master
Commit: edad20fff16a719a37a80fd9605a6d8a0383de13
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=edad20fff16a719a37a80fd9605a6d8a0383de13

Author: Pauli Nieminen <suokkos at gmail.com>
Date:   Tue Feb  2 05:39:28 2010 +0200

r200: Fix EXT_fogcoord rendering.

The fogcoord calue was not pushed to GPU because of implicit float to int conversion.
Fix is to use float pointer to buffer object so no conversion is done in assigment

---

 src/mesa/drivers/dri/r200/r200_maos_arrays.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_maos_arrays.c b/src/mesa/drivers/dri/r200/r200_maos_arrays.c
index 249c0bb..aecba7f 100644
--- a/src/mesa/drivers/dri/r200/r200_maos_arrays.c
+++ b/src/mesa/drivers/dri/r200/r200_maos_arrays.c
@@ -74,7 +74,7 @@ static void r200_emit_vecfog(GLcontext *ctx, struct radeon_aos *aos,
 			     GLvoid *data, int stride, int count)
 {
 	radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
-	uint32_t *out;
+	GLfloat *out;
 	int i;
 	int size = 1;
 
@@ -91,7 +91,7 @@ static void r200_emit_vecfog(GLcontext *ctx, struct radeon_aos *aos,
 	aos->count = count;
 
 	radeon_bo_map(aos->bo, 1);
-	out = (uint32_t*)((char*)aos->bo->ptr + aos->offset);
+	out = (GLfloat*)((char*)aos->bo->ptr + aos->offset);
 	for (i = 0; i < count; i++) {
 	  out[0] = r200ComputeFogBlendFactor( ctx, *(GLfloat *)data );
 	  out++;




More information about the mesa-commit mailing list