Am Mittwoch, 29. September 2004 17:26 schrieb Andreas Stenglein:
> maybe this help a bit.. but I think its not a full fix.

Not full for Celestia 'Earth -> ISS' (few textures are still flickering, 
Eric?) and xscreensaver's 'pipe' angles are not full rendered.

-Dieter

> Index: Mesa/src/mesa/drivers/dri/r200/r200_context.h
> ===================================================================
> RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_context.h,v
> retrieving revision 1.21
> diff -u -r1.21 r200_context.h
> --- Mesa/src/mesa/drivers/dri/r200/r200_context.h       22 Sep 2004
> 06:27:02 -0000      1.21 +++ Mesa/src/mesa/drivers/dri/r200/r200_context.h 
>      29 Sep 2004 16:09:16 -0000 @@ -677,6 +677,11 @@
>      */
>     GLboolean needproj;
>
> +   /**
> +    * Q-coord is used for projective texturing.  BIT 0..5 = TMU 0..5
> +    */
> +   GLuint projtex;
> +
>     struct r200_dma_region indexed_verts;
>  };
>
> Index: Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c
> ===================================================================
> RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c,v
> retrieving revision 1.15
> diff -u -r1.15 r200_swtcl.c
> --- Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c 17 Aug 2004 01:41:32 -0000 
>     1.15 +++ Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c 29 Sep 2004
> 16:09:18 -0000 @@ -89,6 +89,7 @@
>     GLuint index = tnl->render_inputs;
>     int fmt_0 = 0;
>     int fmt_1 = 0;
> +   int projtex = 0;
>     int offset = 0;
>
>
> @@ -150,15 +151,17 @@
>             /* r200 doesn't like 4D texcoords (is that true?):
>              */
>             if (sz != 4) {
> -              emit = EMIT_1F + (sz - 1);
> +              emit = EMIT_1F + (sz - 1);  /* EMIT_SZ(sz) */
>             }
>             else {
>                sz = 3;
> -              emit = EMIT_3F_XYW;
> +              emit = EMIT_3F_XYW;      /* emit Q-Coord ? (projtex) */
> +              projtex |= 1 << i;
>             }
>
>             fmt_1 |= sz << (3 * i);
> -           EMIT_ATTR( _TNL_ATTRIB_TEX0+i, EMIT_SZ(sz), 0 );
> +           EMIT_ATTR( _TNL_ATTRIB_TEX0+i, emit, 0 );
> +/*         EMIT_ATTR( _TNL_ATTRIB_TEX0+i, EMIT_SZ(sz), 0 ); */
>          }
>        }
>     }
> @@ -166,11 +169,13 @@
>
>
>     if ( (rmesa->hw.vtx.cmd[VTX_VTXFMT_0] != fmt_0)
> -       || (rmesa->hw.vtx.cmd[VTX_VTXFMT_1] != fmt_1) ) {
> +       || (rmesa->hw.vtx.cmd[VTX_VTXFMT_1] != fmt_1)
> +       || (rmesa->swtcl.projtex != projtex) ) {
>        R200_NEWPRIM(rmesa);
>        R200_STATECHANGE( rmesa, vtx );
>        rmesa->hw.vtx.cmd[VTX_VTXFMT_0] = fmt_0;
>        rmesa->hw.vtx.cmd[VTX_VTXFMT_1] = fmt_1;
> +      rmesa->swtcl.projtex= projtex;
>
>        rmesa->swtcl.vertex_size =
>           _tnl_install_attrs( ctx,
>
> Index: Mesa/src/mesa/drivers/dri/r200/r200_texstate.c
> ===================================================================
> RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_texstate.c,v
> retrieving revision 1.13
> diff -u -r1.13 r200_texstate.c
> --- Mesa/src/mesa/drivers/dri/r200/r200_texstate.c      24 Sep 2004
> 04:20:58 -0000      1.13 +++ Mesa/src/mesa/drivers/dri/r200/r200_texstate.c
>      29 Sep 2004 16:09:19 -0000 @@ -266,6 +266,9 @@
>                             (log2Width << R200_FACE_WIDTH_4_SHIFT) |
>                             (log2Height << R200_FACE_HEIGHT_4_SHIFT));
>     }
> +   else if (tObj->Target == GL_TEXTURE_2D) {
> +      t->pp_txformat_x |= R200_TEXCOORD_PROJ;
> +   }
>
>     t->pp_txsize = (((tObj->Image[0][t->base.firstLevel]->Width - 1) << 0)
> | ((tObj->Image[0][t->base.firstLevel]->Height - 1) << 16));


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to