cmd2d.h revision bdcaa8d0
1bdcaa8d0Smrg#ifndef __CMD2D_H__
2bdcaa8d0Smrg#define __CMD2D_H__
3bdcaa8d0Smrg
4bdcaa8d0Smrg/*
5bdcaa8d0Smrg * commands the 2d microcode offers
6bdcaa8d0Smrg */
7bdcaa8d0Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/rendition/cmd2d.h,v 1.2 1999/10/14 04:43:14 dawes Exp $ */
8bdcaa8d0Smrg
9bdcaa8d0Smrg#define CMD_SETUP					32
10bdcaa8d0Smrg#define CMD_SET_PIX_REG				2
11bdcaa8d0Smrg#define CMD_RECT_SOLID				1
12bdcaa8d0Smrg#define CMD_RECT_SOLID_ROP			41
13bdcaa8d0Smrg#define CMD_SET_FGCOLOR				50
14bdcaa8d0Smrg#define CMD_DD_RECT_SOLID			38
15bdcaa8d0Smrg#define CMD_SCREEN_BLT				12
16bdcaa8d0Smrg#define CMD_DD_SCREEN_BLT			37
17bdcaa8d0Smrg#define CMD_BITBLT_MS_COLOR			7
18bdcaa8d0Smrg#define CMD_BITBLT_MS_MONO			22
19bdcaa8d0Smrg#define CMD_LOAD_COLOR_BRUSH		5
20bdcaa8d0Smrg#define CMD_RECT_COLOR_BRUSH		6
21bdcaa8d0Smrg#define CMD_RECT_COLOR_BRUSH_ROP	24
22bdcaa8d0Smrg#define CMD_LOAD_MONO_BRUSH			4
23bdcaa8d0Smrg#define CMD_RECT_MONO_BRUSH			3
24bdcaa8d0Smrg#define CMD_RECT_MONO_BRUSH_ROP		42
25bdcaa8d0Smrg#define CMD_SET_PIXEL				34
26bdcaa8d0Smrg#define CMD_GET_PIXEL				9
27bdcaa8d0Smrg#define CMD_LINE_SOLID				20
28bdcaa8d0Smrg#define CMD_LINE_STYLE				21
29bdcaa8d0Smrg#define CMD_SCAN_LINE_SOLID			15
30bdcaa8d0Smrg#define CMD_BSCAN_SOLID				19
31bdcaa8d0Smrg#define CMD_BSCAN_COLOR				14
32bdcaa8d0Smrg#define CMD_BSCAN_MONO				13
33bdcaa8d0Smrg#define CMD_ENDSCAN					18
34bdcaa8d0Smrg#define CMD_SCANLINE_COLOR_BRUSH	17
35bdcaa8d0Smrg#define CMD_SCANLINE_MONO_BRUSH		16
36bdcaa8d0Smrg#define CMD_STRETCH_BLT				23
37bdcaa8d0Smrg#define CMD_DD_STRETCH_BLT			39
38bdcaa8d0Smrg#define CMD_LOAD_COLOR_TABLE		25
39bdcaa8d0Smrg#define CMD_BLTDIB1					26
40bdcaa8d0Smrg#define CMD_BLTDIB4					27
41bdcaa8d0Smrg#define CMD_BLTDIB8					28
42bdcaa8d0Smrg#define CMD_BLTRLE4					30
43bdcaa8d0Smrg#define CMD_BLTRLE8					31
44bdcaa8d0Smrg#define CMD_SET_PALETTE				33
45bdcaa8d0Smrg#define CMD_SETCLIPPING				36
46bdcaa8d0Smrg#define CMD_DRAWGLYPHS				35
47bdcaa8d0Smrg#define CMD_DD_YUV2RGB				43
48bdcaa8d0Smrg#define CMD_DD_YUV2RGBCk			44
49bdcaa8d0Smrg
50bdcaa8d0Smrg
51bdcaa8d0Smrg
52bdcaa8d0Smrg/*
53bdcaa8d0Smrg * pixel formats (R: red, G: green, B: blue, I: intensity/index, A: alpha)
54bdcaa8d0Smrg *
55bdcaa8d0Smrg * <ml>: this is redundant; one should use the enums in vtypes.h.
56bdcaa8d0Smrg */
57bdcaa8d0Smrg
58bdcaa8d0Smrg#define FMT_SOURCE					0
59bdcaa8d0Smrg#define FMT_8_332_RGB				1
60bdcaa8d0Smrg#define FMT_8_I						2
61bdcaa8d0Smrg#define FMT_8_A						3
62bdcaa8d0Smrg#define FMT_16_565_RGB				4
63bdcaa8d0Smrg#define FMT_16_4444_ARGB			5
64bdcaa8d0Smrg#define FMT_16_1555_ARGB			6
65bdcaa8d0Smrg#define FMT_4I_565_RGB				8
66bdcaa8d0Smrg#define FMT_4I_444_ARGB				9
67bdcaa8d0Smrg#define FMT_4I_1555_ARGB			0xa
68bdcaa8d0Smrg#define FMT_32_8888_ARGB			0xc
69bdcaa8d0Smrg#define FMT_32_888_Y0CrY1Cb			0xd
70bdcaa8d0Smrg
71bdcaa8d0Smrg
72bdcaa8d0Smrg
73bdcaa8d0Smrg/*
74bdcaa8d0Smrg * stride values for address calculation
75bdcaa8d0Smrg */
76bdcaa8d0Smrg
77bdcaa8d0Smrg#define STRIDE0_0					0
78bdcaa8d0Smrg#define STRIDE0_8					1
79bdcaa8d0Smrg#define STRIDE0_9					2
80bdcaa8d0Smrg#define STRIDE0_10					3
81bdcaa8d0Smrg#define STRIDE0_2					4
82bdcaa8d0Smrg#define STRIDE1_0					0
83bdcaa8d0Smrg#define STRIDE1_4					1
84bdcaa8d0Smrg#define STRIDE1_5					2
85bdcaa8d0Smrg#define STRIDE1_6					3
86bdcaa8d0Smrg#define STRIDE1_7					4
87bdcaa8d0Smrg#define STRIDE1_10					5
88bdcaa8d0Smrg#define STRIDE1_11					6
89bdcaa8d0Smrg#define STRIDE1_12					7
90bdcaa8d0Smrg
91bdcaa8d0Smrg
92bdcaa8d0Smrg
93bdcaa8d0Smrg/*
94bdcaa8d0Smrg * raster operations (S: source, D: destination, N: not)
95bdcaa8d0Smrg */
96bdcaa8d0Smrg
97bdcaa8d0Smrg#define ROP_ALLBITS0				0
98bdcaa8d0Smrg#define ROP_NOR_SD					1
99bdcaa8d0Smrg#define ROP_AND_NSD					2
100bdcaa8d0Smrg#define ROP_NOT_S					3
101bdcaa8d0Smrg#define ROP_AND_SND					4
102bdcaa8d0Smrg#define ROP_NOT_D					5
103bdcaa8d0Smrg#define ROP_XOR_SD					6
104bdcaa8d0Smrg#define ROP_NAND_SD					7
105bdcaa8d0Smrg#define ROP_AND_SD					8
106bdcaa8d0Smrg#define ROP_XNOR_SD					9
107bdcaa8d0Smrg#define ROP_D						0xa
108bdcaa8d0Smrg#define ROP_OR_NSD					0xb
109bdcaa8d0Smrg#define ROP_S						0xc
110bdcaa8d0Smrg#define ROP_OR_SND					0xd
111bdcaa8d0Smrg#define ROP_OR_SD					0xe
112bdcaa8d0Smrg#define ROP_ALLBITS1				0xf
113bdcaa8d0Smrg
114bdcaa8d0Smrg
115bdcaa8d0Smrg
116bdcaa8d0Smrg/*
117bdcaa8d0Smrg * ... modes
118bdcaa8d0Smrg */
119bdcaa8d0Smrg
120bdcaa8d0Smrg#define MODE_TRANSPARENT			0
121bdcaa8d0Smrg#define MODE_OPAQUE					1
122bdcaa8d0Smrg
123bdcaa8d0Smrg
124bdcaa8d0Smrg
125bdcaa8d0Smrg/*
126bdcaa8d0Smrg * 8x8 predefined monochrome brushes
127bdcaa8d0Smrg */
128bdcaa8d0Smrg
129bdcaa8d0Smrg#define HS_HORIZONTAL				0
130bdcaa8d0Smrg#define HS_VERTICAL					1
131bdcaa8d0Smrg#define HS_FDIAGONAL				2
132bdcaa8d0Smrg#define HS_BDIAGONAL				3
133bdcaa8d0Smrg#define HS_CROSS					4
134bdcaa8d0Smrg#define HS_DIAGCROSS				5
135bdcaa8d0Smrg
136bdcaa8d0Smrg
137bdcaa8d0Smrg
138bdcaa8d0Smrg/*
139bdcaa8d0Smrg * pen styles for styled lined
140bdcaa8d0Smrg */
141bdcaa8d0Smrg
142bdcaa8d0Smrg#define PS_DASH						1
143bdcaa8d0Smrg#define PS_DOT						2
144bdcaa8d0Smrg#define PS_DASHDOT					3
145bdcaa8d0Smrg#define PS_DASHDOTDOT				4
146bdcaa8d0Smrg
147bdcaa8d0Smrg/* end of __CMD2D_H__ */
148bdcaa8d0Smrg#endif
149