summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorGeorge Sapountzis <[email protected]>2010-03-25 17:01:54 +0200
committerGeorge Sapountzis <[email protected]>2010-03-25 17:01:54 +0200
commit1570e30b487018f056af4d0b5ca83a889f9ce721 (patch)
tree64c230c62723deab03bb921bdfe19829a5aee8c6 /src/gallium/state_trackers
parentbb289a8a7019cc0b40121e91fe5cd404a76b1fb5 (diff)
st/dri: add TODO list for DRISW
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/dri/drisw.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
index b3d65df8815..73bc45d9060 100644
--- a/src/gallium/state_trackers/dri/drisw.c
+++ b/src/gallium/state_trackers/dri/drisw.c
@@ -26,6 +26,36 @@
*
**************************************************************************/
+/* TODO:
+ *
+ * stride:
+ *
+ * The driver and the loaders (libGL, xserver/glx) compute the stride from the
+ * width independently. winsys has a workaround that works for softpipe but may
+ * explode for other drivers or platforms, rendering- or performance-wise.
+ * Solving this issue properly requires extending the DRISW loader extension,
+ * in order to make the stride available to the putImage callback.
+ *
+ * drisw_api:
+ *
+ * Define drisw_api similarly to dri_api and use it to call the loader. This is
+ * predicated on support for calling the loader from the winsys, which has to
+ * grow for DRI2 as well.
+ *
+ * xshm:
+ *
+ * Allow the loaders to use the XSHM extension. It probably requires callbacks
+ * for createImage/destroyImage similar to DRI2 getBuffers. Probably not worth
+ * it, given the scope of DRISW, unless it falls naturally from properly
+ * solving the above two issues.
+ *
+ * swrast_create_screen:
+ *
+ * Allow for any software renderer to be used. Factor out the code from
+ * targets/libgl-xlib/xlib.c, put it in targets/common or winsys/sw/common and
+ * use it in all software targets.
+ */
+
#include "util/u_memory.h"
#include "util/u_inlines.h"
#include "pipe/p_context.h"