Subversion Repositories Kolibri OS

Rev

Rev 868 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
808 serge 1
 
2
3
 
4
876 serge 5
 
808 serge 6
#include "accel_2d.h"
7
8
 
9
10
 
11
12
 
876 serge 13
815 serge 14
 
876 serge 15
 
16
void STDCALL (*SelectHwCursor)(cursor_t*)__asm__("SelectHwCursor");
808 serge 17
void STDCALL (*SetHwCursor)(cursor_t*,int x,int y)__asm__("SetHwCursor");
18
void STDCALL (*HwCursorRestore)(int x, int y)__asm("HwCursorRestore");
19
cursor_t* IMPORT (*HwCursorCreate)(void)__asm("HwCursorCreate"); //params eax, ebx, ecx
20
21
 
22
void (__stdcall *old_set)(cursor_t*,int x,int y);
23
void (__stdcall *old_restore)(int x, int y);
24
cursor_t* (*old_create)(void);
25
cursor_t* __create_cursor(void);
26
*/
876 serge 27
808 serge 28
 
811 serge 29
808 serge 30
 
31
{
32
  RHDPtr rhdPtr;
33
  u32 retval;
34
35
 
36
37
 
38
    return 0;
39
40
 
41
  {
42
     printf("Can't open /rd/1/drivers/ati2d.log\nExit\n");
43
     return 0;
44
  }
45
46
 
47
  {
48
    dbgprintf("Device not found\n");
49
    return 0;
50
  };
51
52
 
53
  {
54
    if(rhd.memBase[i])
55
      dbgprintf("Memory base_%d 0x%x size 0x%x\n",
56
                i,rhd.memBase[i],(1<
57
  };
58
  for(i=0;i<6;i++)
59
  {
60
    if(rhd.ioBase[i])
61
      dbgprintf("Io base_%d 0x%x size 0x%x\n",
62
                i,rhd.ioBase[i],(1<
63
  };
64
  if(!RHDPreInit())
65
    return 0;
66
67
 
68
//  old_set = SetHwCursor;
69
//  old_restore = HwCursorRestore ;
70
//  old_create = HwCursorCreate;
71
72
 
73
  rhd.has_tcl = 1;
813 serge 74
//  Init3DEngine(&rhd);
868 serge 75
808 serge 76
 
77
78
 
79
 // SetHwCursor     = r500_SetCursor;
80
 // HwCursorCreate  = __create_cursor;
81
 // HwCursorRestore = r500_CursorRestore;
82
83
 
84
  dbgprintf("reg service %s as: %x\n", "HDRAW", retval);
85
86
 
87
  return retval;
88
};
89
90
 
91
 
92
93
 
94
95
 
876 serge 96
int _stdcall srv_cursor(ioctl_t *io)
808 serge 97
{
98
  u32 *inp;
99
  u32 *outp;
100
101
 
102
  outp = io->output;
103
104
 
105
  {
106
    case SRV_GETVERSION:
107
      if(io->out_size==4)
108
      {
109
        *(u32*)io->output = API_VERSION;
110
        return 0;
111
      }
112
      break;
113
114
 
115
      return ERR_PARAM;
116
  };
117
  return ERR_PARAM;
118
}
119
*/
876 serge 120
808 serge 121
 
122
{
123
  u32 *inp;
124
  u32 *outp;
125
126
 
127
  outp = io->output;
128
129
 
130
  {
131
    case SRV_GETVERSION:
132
      if(io->out_size==4)
133
      {
134
        *outp = API_VERSION;
135
        return 0;
136
      }
137
      break;
138
139
 
140
        if(io->inp_size==6)
817 serge 141
          return DrawRect((draw_t*)inp);
808 serge 142
        break;
143
144
 
810 serge 145
        if(io->inp_size==9)
817 serge 146
          return FillRect((fill_t*)inp);
810 serge 147
        break;
148
/*
876 serge 149
      case LINE_2P:
808 serge 150
        if(io->inp_size==6)
876 serge 151
          return Line2P((draw_t*)inp);
152
        break;
808 serge 153
154
 
810 serge 155
        if(io->inp_size==6)
156
          return Blit((blit_t*)inp);
157
        break;
808 serge 158
159
 
813 serge 160
        if(io->inp_size==6)
161
          return RadeonComposite((blit_t*)inp);
162
        break;
163
*/
876 serge 164
      case PX_CREATE:
165
        if(io->inp_size==7)
166
          return CreatePixmap((pixmap_t*)inp);
167
        break;
815 serge 168
813 serge 169
 
815 serge 170
        if(io->inp_size==8)
171
          return PixBlit((pixblit_t*)inp);
172
        break;
173
174
 
876 serge 175
//        if(io->inp_size==6)
176
//          return LockPixmap((userpixmap_t*)inp);
177
//        break;
178
817 serge 179
 
876 serge 180
//        if(io->inp_size==6)
181
//          return UnlockPixmap((userpixmap_t*)inp);
182
//        break;
183
818 serge 184
 
829 serge 185
        if(io->inp_size==6)
186
          return DestroyPixmap((pixmap_t*)inp);
876 serge 187
        break;
829 serge 188
189
 
190
        if(io->inp_size==8)
191
          return TransBlit((pixblit_t*)inp);
192
        break;
193
194
 
195
 
808 serge 196
      return ERR_PARAM;
197
  };
198
  return ERR_PARAM;
199
}
200
201
 
202
 
203
#include "pci.c"
204
#include "ati_mem.c"
205
//#include "cursor.inc"
817 serge 206
808 serge 207
 
208
876 serge 209
 
210
#include "accel_2d.inc"
808 serge 211
#include "accel_3d.inc"
811 serge 212
>
808 serge 213
 
214