radeons: use dp4 for position invariant vertex programs
authorRoland Scheidegger <sroland@vmware.com>
Fri, 19 Jun 2009 18:00:55 +0000 (20:00 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Fri, 19 Jun 2009 18:00:55 +0000 (20:00 +0200)
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
src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/radeon/radeon_context.c

index c06751516eb47f72aff9be99629284d92ecaab53..058296eab2355b5eb20268e7ab86dbc579e7b21b 100644 (file)
@@ -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 );
index 8f0effd83e2726ca2383f8f359ee15941f22462e..7d6705058fe4e9aee3e194640faf4ab9768b92af 100644 (file)
@@ -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);
index ea81a3250b785a68ef183146686da5d569a71202..b67bda7d06ae0008c1ba3eaff186ac54a8abc42e 100644 (file)
@@ -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 );