Mesa (mesa_7_7_branch): r300: fix VP source conflict resolution on 64-bit machines

Maciej Cencora osiris at kemper.freedesktop.org
Sun Nov 22 14:11:17 UTC 2009


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

Author: Maciej Cencora <m.cencora at gmail.com>
Date:   Sun Nov 22 15:08:46 2009 +0100

r300: fix VP source conflict resolution on 64-bit machines

On 32bit machines we were lucky because the sizeof(reg) == sizeof(rc_src_register).
On 64bit machines pointers are 8 bytes long, so we were overwriting other data.

---

 .../drivers/dri/r300/compiler/radeon_program.h     |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_program.h b/src/mesa/drivers/dri/r300/compiler/radeon_program.h
index 33db3ea..0359288 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_program.h
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_program.h
@@ -191,7 +191,7 @@ struct rc_src_register lmul_swizzle(unsigned int swizzle, struct rc_src_register
 
 static inline void reset_srcreg(struct rc_src_register* reg)
 {
-	memset(reg, 0, sizeof(reg));
+	memset(reg, 0, sizeof(struct rc_src_register));
 	reg->Swizzle = RC_SWIZZLE_XYZW;
 }
 




More information about the mesa-commit mailing list