summaryrefslogtreecommitdiffstats
path: root/vidix/drivers.c
diff options
context:
space:
mode:
Diffstat (limited to 'vidix/drivers.c')
-rw-r--r--vidix/drivers.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/vidix/drivers.c b/vidix/drivers.c
index daac53980e..b63228b709 100644
--- a/vidix/drivers.c
+++ b/vidix/drivers.c
@@ -77,11 +77,34 @@ static int vidix_probe_driver (VDXContext *ctx, VDXDriver *drv,
return 1;
}
+static void vidix_list_drivers (void)
+{
+ VDXDriver *drv;
+
+ printf ("Available VIDIX drivers:\n");
+
+ drv = first_driver;
+ while (drv)
+ {
+ vidix_capability_t cap;
+ drv->get_caps (&cap);
+ printf (" * %s - %s\n", drv->name, cap.name);
+ drv = drv->next;
+ }
+}
+
int vidix_find_driver (VDXContext *ctx, const char *name,
unsigned int cap, int verbose)
{
VDXDriver *drv;
+ if (!strcmp (name, "help"))
+ {
+ vidix_list_drivers ();
+ ctx->drv = NULL;
+ return 0;
+ }
+
drv = first_driver;
while (drv)
{