Subversion Repositories Kolibri OS

Rev

Rev 876 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 876 Rev 877
Line 1... Line 1...
1
//ld -T ld.x -s --shared --image-base 0 --file-alignment 32 -o test.exe test.obj core.lib
1
#include "types.h"
Line -... Line 2...
-
 
2
 
-
 
3
#include 
-
 
4
#include 
-
 
5
#include 
2
 
6
 
Line 3... Line 7...
3
#include "common.h"
7
#include "syscall.h"
4
 
8
 
Line 5... Line 9...
5
#include "ati2d.h"
9
#include "ati2d.h"
Line 6... Line 10...
6
#include "accel_2d.h"
10
#include "accel_2d.h"
Line 7... Line 11...
7
 
11
 
Line 8... Line -...
8
RHD_t rhd;
-
 
9
 
-
 
10
static clip_t  clip;
-
 
11
 
-
 
12
static local_pixmap_t scr_pixmap;
-
 
13
 
-
 
14
 
-
 
15
/*
-
 
16
void STDCALL (*SelectHwCursor)(cursor_t*)__asm__("SelectHwCursor");
-
 
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
void (__stdcall *old_select)(cursor_t*);
-
 
22
void (__stdcall *old_set)(cursor_t*,int x,int y);
12
RHD_t rhd;
Line -... Line 13...
-
 
13
 
-
 
14
static clip_t  clip;
23
void (__stdcall *old_restore)(int x, int y);
15
 
24
cursor_t* (*old_create)(void);
16
static local_pixmap_t scr_pixmap;
25
cursor_t* __create_cursor(void);
17
 
26
*/
18
static void Init3DEngine(RHDPtr rhdPtr);
Line 27... Line 19...
27
 
19
 
Line 28... Line 20...
28
static void Init3DEngine(RHDPtr rhdPtr);
20
int __stdcall srv_2d(ioctl_t *io);
29
 
21
 
Line 63... Line 55...
63
  };
55
  };
64
  if(!RHDPreInit())
56
  if(!RHDPreInit())
65
    return 0;
57
    return 0;
66
 
58
 
Line 67... Line -...
67
//  old_select = SelectHwCursor;
-
 
68
//  old_set = SetHwCursor;
-
 
69
//  old_restore = HwCursorRestore ;
-
 
70
//  old_create = HwCursorCreate;
-
 
71
 
-
 
72
  R5xx2DInit();
59
  R5xx2DInit();
73
  rhd.has_tcl = 1;
60
  rhd.has_tcl = 1;
-
 
61
 
74
//  Init3DEngine(&rhd);
62
//  Init3DEngine(&rhd);
Line 75... Line 63...
75
 
63
 
Line 76... Line -...
76
  //init_r500();
-
 
77
 
-
 
78
 // SelectHwCursor  = r500_SelectCursor;
-
 
79
 // SetHwCursor     = r500_SetCursor;
-
 
Line 80... Line 64...
80
 // HwCursorCreate  = __create_cursor;
64
  //init_r500();
81
 // HwCursorRestore = r500_CursorRestore;
65
 
Line 82... Line -...
82
 
-
 
83
  retval = RegService("HDRAW", srv_2d);
66
 
84
  dbgprintf("reg service %s as: %x\n", "HDRAW", retval);
67
  retval = RegService("HDRAW", srv_2d);
Line 85... Line 68...
85
 
68
  dbgprintf("reg service %s as: %x\n", "HDRAW", retval);
Line 86... Line 69...
86
//  retval = RegService("HWCURSOR", srv_cursor);
69
 
Line 87... Line -...
87
  return retval;
-
 
88
};
-
 
89
 
-
 
90
 
-
 
91
#define API_VERSION     0x01000100
-
 
92
 
-
 
93
#define SRV_GETVERSION  0
-
 
94
 
-
 
95
/*
-
 
96
int _stdcall srv_cursor(ioctl_t *io)
-
 
97
{
-
 
98
  u32 *inp;
-
 
99
  u32 *outp;
-
 
100
 
-
 
101
  inp = io->input;
-
 
102
  outp = io->output;
-
 
103
 
-
 
104
  switch(io->io_code)
-
 
105
  {
-
 
106
    case SRV_GETVERSION:
-
 
107
      if(io->out_size==4)
-
 
108
      {
-
 
109
        *(u32*)io->output = API_VERSION;
-
 
110
        return 0;
-
 
111
      }
-
 
Line 112... Line 70...
112
      break;
70
  return retval;
113
 
71
};
114
    default:
72
 
115
      return ERR_PARAM;
73
 
Line 116... Line 74...
116
  };
74
#define API_VERSION     0x01000100
117
  return ERR_PARAM;
75
 
Line 118... Line 76...
118
}
76
#define SRV_GETVERSION  0
Line 135... Line 93...
135
        return 0;
93
        return 0;
136
      }
94
      }
137
      break;
95
      break;
138
 
96
 
Line -... Line 97...
-
 
97
      case PX_CREATE:
-
 
98
        if(io->inp_size==7)
-
 
99
          return CreatePixmap((pixmap_t*)inp);
-
 
100
        break;
-
 
101
 
-
 
102
      case PX_DESTROY:
-
 
103
        if(io->inp_size==7)
-
 
104
          return DestroyPixmap((pixmap_t*)inp);
-
 
105
        break;
-
 
106
 
139
      case DRAW_RECT:
107
      case PX_DRAW_RECT:
140
        if(io->inp_size==6)
108
        if(io->inp_size==6)
141
          return DrawRect((draw_t*)inp);
109
          return DrawRect((draw_t*)inp);
142
        break;
110
        break;
Line 143... Line 111...
143
 
111
 
144
      case FILL_RECT:
112
      case PX_FILL_RECT:
145
        if(io->inp_size==9)
113
        if(io->inp_size==9)
146
          return FillRect((fill_t*)inp);
114
          return FillRect((fill_t*)inp);
-
 
115
        break;
-
 
116
 
-
 
117
      case PX_BLIT:
-
 
118
        if(io->inp_size==8)
-
 
119
          return PixBlit((pixblit_t*)inp);
147
        break;
120
        break;
-
 
121
 
-
 
122
     case  PX_BLIT_TRANSPARENT:
-
 
123
        if(io->inp_size==8)
-
 
124
          return TransBlit((pixblit_t*)inp);
-
 
125
        break;
148
/*
126
 
149
      case LINE_2P:
127
      case PX_LINE:
150
        if(io->inp_size==6)
128
        if(io->inp_size==6)
151
          return Line2P((draw_t*)inp);
129
          return Line((draw_t*)inp);
Line -... Line 130...
-
 
130
        break;
152
        break;
131
 
153
 
132
/*
154
      case BLIT:
133
      case BLIT:
155
        if(io->inp_size==6)
134
        if(io->inp_size==6)
Line 156... Line 135...
156
          return Blit((blit_t*)inp);
135
          return Blit((blit_t*)inp);
157
        break;
136
        break;
158
 
137
 
159
      case COMPIZ:
138
      case COMPIZ:
160
        if(io->inp_size==6)
139
        if(io->inp_size==6)
161
          return RadeonComposite((blit_t*)inp);
-
 
162
        break;
-
 
163
*/
-
 
164
      case PX_CREATE:
-
 
165
        if(io->inp_size==7)
-
 
166
          return CreatePixmap((pixmap_t*)inp);
-
 
167
        break;
-
 
168
 
-
 
169
      case PIXBLIT:
-
 
170
        if(io->inp_size==8)
-
 
171
          return PixBlit((pixblit_t*)inp);
-
 
172
        break;
-
 
173
 
-
 
174
//      case PIXLOCK:
-
 
175
//        if(io->inp_size==6)
-
 
176
//          return LockPixmap((userpixmap_t*)inp);
-
 
177
//        break;
-
 
178
 
-
 
179
//      case PIXUNLOCK:
-
 
180
//        if(io->inp_size==6)
-
 
181
//          return UnlockPixmap((userpixmap_t*)inp);
-
 
182
//        break;
-
 
183
 
-
 
184
      case PIXDESTROY:
-
 
185
        if(io->inp_size==6)
-
 
186
          return DestroyPixmap((pixmap_t*)inp);
-
 
187
        break;
-
 
188
 
-
 
189
     case  TRANSBLIT:
-
 
190
        if(io->inp_size==8)
-
 
Line 191... Line 140...
191
          return TransBlit((pixblit_t*)inp);
140
          return RadeonComposite((blit_t*)inp);
192
        break;
141
        break;
193
 
142
*/
194
 
143
 
Line 206... Line 155...
206
 
155
 
Line 207... Line 156...
207
#include "r500.inc"
156
#include "r500.inc"
Line 208... Line 157...
208
 
157
 
-
 
158
#include "clip.inc"
209
#include "clip.inc"
159
#include "pixmap.inc"
210
#include "accel_2d.inc"
160
#include "accel_2d.inc"