summaryrefslogtreecommitdiff
path: root/Source/DirectFB/gfxdrivers/cle266/uc_accel.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/DirectFB/gfxdrivers/cle266/uc_accel.h')
-rwxr-xr-xSource/DirectFB/gfxdrivers/cle266/uc_accel.h119
1 files changed, 119 insertions, 0 deletions
diff --git a/Source/DirectFB/gfxdrivers/cle266/uc_accel.h b/Source/DirectFB/gfxdrivers/cle266/uc_accel.h
new file mode 100755
index 0000000..fb6e111
--- /dev/null
+++ b/Source/DirectFB/gfxdrivers/cle266/uc_accel.h
@@ -0,0 +1,119 @@
+/*
+ Copyright (c) 2003 Andreas Robinson, All rights reserved.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef __UC_ACCEL_H__
+#define __UC_ACCEL_H__
+
+#include "unichrome.h"
+
+
+// 2D accelerator capabilites
+
+#define UC_DRAWING_FLAGS_2D (DSDRAW_XOR)
+
+#define UC_BLITTING_FLAGS_2D (DSBLIT_SRC_COLORKEY | DSBLIT_DST_COLORKEY)
+
+#define UC_DRAWING_FUNCTIONS_2D (DFXL_DRAWLINE | \
+ DFXL_DRAWRECTANGLE | \
+ DFXL_FILLRECTANGLE)
+
+#define UC_BLITTING_FUNCTIONS_2D (DFXL_BLIT)
+
+
+// 3D accelerator capabilites
+
+#ifdef UC_ENABLE_3D
+
+#define UC_DRAWING_FLAGS_3D (DSDRAW_BLEND | DSDRAW_XOR)
+
+#define UC_BLITTING_FLAGS_3D (DSBLIT_BLEND_ALPHACHANNEL | \
+ DSBLIT_BLEND_COLORALPHA | \
+ DSBLIT_COLORIZE | \
+ DSBLIT_DEINTERLACE)
+
+#define UC_DRAWING_FUNCTIONS_3D (DFXL_DRAWLINE | \
+ DFXL_DRAWRECTANGLE | \
+ DFXL_FILLRECTANGLE | \
+ DFXL_FILLTRIANGLE)
+
+#define UC_BLITTING_FUNCTIONS_3D (DFXL_BLIT | \
+ DFXL_STRETCHBLIT | \
+ DFXL_TEXTRIANGLES)
+
+#else
+
+#define UC_DRAWING_FLAGS_3D 0
+#define UC_BLITTING_FLAGS_3D 0
+#define UC_DRAWING_FUNCTIONS_3D 0
+#define UC_BLITTING_FUNCTIONS_3D 0
+
+#endif // UC_ENABLE_3D
+
+
+// Functions
+
+void uc_emit_commands ( void *drv,
+ void *dev );
+
+void uc_flush_texture_cache( void *drv,
+ void *dev );
+
+bool uc_fill_rectangle ( void *drv,
+ void *dev,
+ DFBRectangle *rect );
+
+bool uc_draw_rectangle ( void *drv,
+ void *dev,
+ DFBRectangle *rect );
+
+bool uc_draw_line ( void *drv,
+ void *dev,
+ DFBRegion *line );
+
+bool uc_blit ( void *drv,
+ void *dev,
+ DFBRectangle *rect,
+ int dx,
+ int dy );
+
+bool uc_fill_rectangle_3d ( void *drv,
+ void *dev,
+ DFBRectangle *rect );
+
+bool uc_draw_rectangle_3d ( void *drv,
+ void *dev,
+ DFBRectangle *rect );
+
+bool uc_draw_line_3d ( void *drv,
+ void *dev,
+ DFBRegion *line );
+
+bool uc_fill_triangle ( void *drv,
+ void *dev,
+ DFBTriangle *tri );
+
+bool uc_blit_3d ( void *drv,
+ void *dev,
+ DFBRectangle *rect,
+ int dx,
+ int dy );
+
+bool uc_stretch_blit ( void *drv,
+ void *dev,
+ DFBRectangle *srect,
+ DFBRectangle *drect );
+
+bool uc_texture_triangles ( void *drv,
+ void *dev,
+ DFBVertex *vertices,
+ int num,
+ DFBTriangleFormation formation );
+
+#endif // __UC_ACCEL_H__
+