blob: ce59639ab2ade3f07065b301c050efba9fbc5b63 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#include <stdio.h>
#include "screen.h"
#include "object.h"
#include "fifo.h"
#include "nouveau_class.h"
void image_pattern_init(void)
{
printf("-- Image pattern, init\n");
SetSubchannel(NvSubImagePattern, NvImagePattern);
BEGIN_RING(NvSubImagePattern, NV04_IMAGE_PATTERN_DMA_NOTIFY, 1);
OUT_RING(NvSyncNotify);
BEGIN_RING(NvSubImagePattern, NV04_IMAGE_PATTERN_MONOCHROME_FORMAT, 3);
OUT_RING(NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6);
OUT_RING(NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8);
OUT_RING(NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO);
BEGIN_RING(NvSubImagePattern, NV04_IMAGE_PATTERN_COLOR_FORMAT, 1);
OUT_RING( (screen_bpp == 32)
? NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8
: NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5
);
BEGIN_RING(NvSubImagePattern, NV04_IMAGE_PATTERN_MONOCHROME_COLOR0, 4);
OUT_RING(0x5a6b7d8d); /* color for bit=0 */
OUT_RING(0xf9e8d7c6); /* color for bit=1 */
OUT_RING(0x5a5a5a5a); /* pattern */
OUT_RING(0xaa55aa55);
FIRE_RING();
}
|