home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / System / Mesa-3.1 / src / AOS / TODO < prev    next >
Text File  |  1999-09-23  |  4KB  |  134 lines

  1. /*
  2.  * TODO:
  3.  * Dynamic allocate the vectorbuffer for polydrawing. (memory improvment)
  4.  * implement shared list.
  5.  * fix resizing bug.
  6.  * some native asm rutine
  7.  * fast asm line drawin in db mode
  8.  * fast asm clear       in db mode
  9.  * read buffer rutines  in db-mode
  10.  * 
  11.  * IDEAS:
  12.  */
  13.  
  14. /*
  15.  * TODO:
  16.  *  -implement dither-availability as kind of doublebuffering
  17.  *   can be done as cybergraphics + doublebuffer + swap[dither and/or quantize]
  18.  */
  19.  
  20. /*
  21.  * remove all amigaMesaContext-variables out of the kernel-functions
  22.  */
  23.  
  24. /*
  25.  * maybe the standard Line/Area-functions can even be used by
  26.  * the cybDisplay:
  27.  * - allocate an exact pen of the rgb-value and use that pen for
  28.  *   drawing
  29.  * that means we must remove the AllocCMap for >8bit
  30.  * and there is a question: are there any CI*-function calls in cybDisplay?
  31.  * maybe I must recheck the CreateVisual-function ...
  32.  */
  33.  
  34. /*
  35.  * - changes in the non-doublebuffer functions:
  36.  *   - implemented GL_INVERTED for cybergraphx (via InvertPixelArray) and
  37.  *     all others for the native (via minterms) display
  38.  *   - changed the WriteCI32/WriteCI8-functions to use WriteLUTArray
  39.  * - changes in the doublebuffer functions:
  40.  *   - dithered output
  41.  */
  42.  
  43. /*
  44.  * remove casts from all that index-stuff
  45.  */
  46.  
  47. /*
  48.  *  for (s = n - 1; s >= 0; s--, x++) {
  49.  * ==
  50.  *  for (--((GLshort)n); ((GLshort)n) >= 0; --((GLshort)n) x++) {
  51.  * ==
  52.  *  while (--((GLshort)n) >= 0) {
  53.  *    ...
  54.  *    x++;
  55.  *  }
  56.  */
  57.  
  58. /*
  59.  * remove *Base-references from a4-relative to absolute addresses
  60.  * to give the optimizer one more register in case of not loading
  61.  * a4
  62.  */
  63.  
  64. /*
  65.  * LayerWidth/LayerHeight seems not to work with Screen->RastPort->Layer
  66.  * Why?
  67.  */
  68.  
  69. /*
  70.  * split amigamesa.c into manager, client and server functions
  71.  * and restructure the source in that way it reflect
  72.  * the split cleanly
  73.  */
  74.  
  75. void netPointers(GLcontext * ctx)
  76. {
  77.   DEBUGOUT(1, "netPointers()\n");
  78.  
  79.   ctx->Driver.RendererString = netRendererString;
  80.   if (((netMesaContext) ctx->DriverCtx)->Client.ExtensionString)
  81.     ctx->Driver.ExtensionString = netExtensionString;
  82.  
  83.   ctx->Driver.UpdateState = netPointers;
  84.   ctx->Driver.ClearIndex = netClearIndex;
  85.   ctx->Driver.ClearColor = netClearColor;
  86.   ctx->Driver.Clear = netClear;
  87.  
  88.   ctx->Driver.Index = netSetIndex;
  89.   ctx->Driver.Color = netSetColor;
  90.  
  91.   if (((netMesaContext) ctx->DriverCtx)->Client.IndexMask)
  92.     ctx->Driver.IndexMask = netIndexMask;
  93.   if (((netMesaContext) ctx->DriverCtx)->Client.ColorMask)
  94.     ctx->Driver.ColorMask = netColorMask;
  95.   if (((netMesaContext) ctx->DriverCtx)->Client.LogicOp)
  96.     ctx->Driver.LogicOp = netLogicOp;
  97.   if (((netMesaContext) ctx->DriverCtx)->Client.Dither)
  98.     ctx->Driver.Dither = netDither;
  99.  
  100.   ctx->Driver.SetBuffer = netSetBuffer;
  101.   ctx->Driver.GetBufferSize = netStandardResize;
  102.  
  103.   if (((netMesaContext) ctx->DriverCtx)->Client.Finish)
  104.     ctx->Driver.Finish = netFinish;
  105.   if (((netMesaContext) ctx->DriverCtx)->Client.Flush)
  106.     ctx->Driver.Flush = netFlush;
  107.  
  108.   ctx->Driver.PointsFunc = netChoosePointsFunction(ctx);
  109.   ctx->Driver.LineFunc = netChooseLineFunction(ctx);
  110.   ctx->Driver.TriangleFunc = netChooseTriangleFunction(ctx);
  111.   ctx->Driver.QuadFunc = netChooseQuadFunction(ctx);
  112.   ctx->Driver.RectFunc = netChooseRectFunction(ctx);
  113.  
  114.   /* Pixel/span writing functions: */
  115.   ctx->Driver.WriteRGBASpan = netWriteRGBASpan;
  116.   ctx->Driver.WriteRGBSpan = netWriteRGBSpan;
  117.   ctx->Driver.WriteCI32Span = netWriteCI32Span;
  118.   ctx->Driver.WriteCI8Span = netWriteCI8Span;
  119.   ctx->Driver.WriteMonoRGBASpan = netWriteMonoCISpan;                /* same  */
  120.   ctx->Driver.WriteMonoCISpan = netWriteMonoCISpan;
  121.  
  122.   ctx->Driver.WriteRGBAPixels = netWriteRGBAPixels;
  123.   ctx->Driver.WriteCI32Pixels = netWriteCI32Pixels;
  124.   ctx->Driver.WriteMonoRGBAPixels = netWriteMonoCIPixels;            /* same  */
  125.   ctx->Driver.WriteMonoCIPixels = netWriteMonoCIPixels;
  126.  
  127.   /* Pixel/span reading functions: */
  128.   ctx->Driver.ReadRGBASpan = netReadRGBASpan;
  129.   ctx->Driver.ReadCI32Span = netReadCI32Span;
  130.  
  131.   ctx->Driver.ReadRGBAPixels = netReadRGBAPixels;
  132.   ctx->Driver.ReadCI32Pixels = netReadCI32Pixels;
  133. }
  134.