Mesa (mesa_7_5_branch): radeons: use dp4 for position invariant vertex programs

Roland Scheidegger sroland at kemper.freedesktop.org
Fri Jun 19 18:01:32 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: 43bb78f2bb6c851d989903e7eb996e87113d878c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43bb78f2bb6c851d989903e7eb996e87113d878c

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Fri Jun 19 20:00:55 2009 +0200

radeons: use dp4 for position invariant vertex programs

Fixes #22181. R200 requires this since DP4 is used in hw tnl mode.
R300 prefers it (should be faster due to no instruction dependencies), but
both methods should be correct (when sw tcl is used though, MUL/MAD might
be faster). Probably doesn't make much difference for R100 since vertex progs
are executed in software anyway, but let's just keep it the same there too.

---

 src/mesa/drivers/dri/r200/r200_context.c     |    2 ++
 src/mesa/drivers/dri/r300/r300_context.c     |    2 ++
 src/mesa/drivers/dri/radeon/radeon_context.c |    2 ++
 3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index c067515..058296e 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -405,6 +405,8 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
 
    ctx->Const.MaxDrawBuffers = 1;
 
+   _mesa_set_mvp_with_dp4( ctx, GL_TRUE );
+
    /* Initialize the software rasterizer and helper modules.
     */
    _swrast_CreateContext( ctx );
diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c
index 8f0effd..7d67050 100644
--- a/src/mesa/drivers/dri/r300/r300_context.c
+++ b/src/mesa/drivers/dri/r300/r300_context.c
@@ -327,6 +327,8 @@ GLboolean r300CreateContext(const __GLcontextModes * glVisual,
 
 	ctx->Const.MaxDrawBuffers = 1;
 
+	_mesa_set_mvp_with_dp4( ctx, GL_TRUE );
+
 	/* Initialize the software rasterizer and helper modules.
 	 */
 	_swrast_CreateContext(ctx);
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c
index ea81a32..b67bda7 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -355,6 +355,8 @@ radeonCreateContext( const __GLcontextModes *glVisual,
 
    ctx->Const.MaxDrawBuffers = 1;
 
+   _mesa_set_mvp_with_dp4( ctx, GL_TRUE );
+
    /* Initialize the software rasterizer and helper modules.
     */
    _swrast_CreateContext( ctx );




More information about the mesa-commit mailing list