UDI - Tweaks to bochsga driver
[tpg/acess2.git] / UDI / drivers / gfx_bochs / bochsga_engines.h
1 /*
2  * 
3  */
4
5 #define BOCHSGA_ENGINE_PROP_BUFFER      (UDI_GFX_PROP_CUSTOM+0)
6
7 /* === CONSTANTS === */
8 const gfxhelpers_op_t   bochsga_engine_ops_8bpp[] = {
9 };
10 const gfxhelpers_op_t   bochsga_engine_ops_32bpp[] = {
11         {UDI_GFX_OPERATOR_RGB,    1,  2,  3},   /* #0 Output RGB from ops #1,#2,#3 */
12         {UDI_GFX_OPERATOR_SEG,    4, 16,  8},   /* #1 Extract 8 bits from bit 16 of #4 */
13         {UDI_GFX_OPERATOR_SEG,    4,  8,  8},   /* #2 8 bits from ofs 8 of #4 */
14         {UDI_GFX_OPERATOR_SEG,    4,  0,  8},   /* #3 8 bits from ofs 0 of #4 */
15         {UDI_GFX_OPERATOR_BUFFER, 5,  6, 32},   /* #4 32 bits from buffer #5 ofs #6 */
16         {UDI_GFX_OPERATOR_ATTR,   0, BOCHSGA_ENGINE_PROP_BUFFER, 0},    /* #5 Buffer index */
17         {UDI_GFX_OPERATOR_MAD,    7,  8,  9},   /* #6 Get offset (#8 * #7 + #9) */
18         {UDI_GFX_OPERATOR_ATTR,   0, UDI_GFX_PROP_SOURCE_WIDTH, 0},     /* #7 Read buffer width */
19         {UDI_GFX_OPERATOR_Y,      0,  0,  0},   /* #8 Y coordinate */
20         {UDI_GFX_OPERATOR_X,      0,  0,  0}    /* #9 X coordinate */
21 };
22
23 typedef struct {
24         udi_ubit8_t     bitdepth;
25         gfxhelpers_op_map_t     op_map;
26 } engine_static_t;
27
28 const engine_static_t   bochsga_engine_defs[] = {
29         {.bitdepth = 8, .op_map = {ARRAY_COUNT(bochsga_engine_ops_8bpp), bochsga_engine_ops_8bpp}},
30         {.bitdepth = 16},
31         {.bitdepth = 24},
32         {.bitdepth = 32, .op_map = {ARRAY_COUNT(bochsga_engine_ops_8bpp), bochsga_engine_ops_32bpp}},
33 };
34 #define N_ENGINES       ARRAY_COUNT(bochsga_engine_defs)

UCC git Repository :: git.ucc.asn.au