Rev 8063 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8063 | Rev 8069 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | macro ADD_OP a,b,c |
3 | macro ADD_OP a,b,c |
4 | { |
4 | { |
5 | db 'gl',`a,' ',c,0 |
5 | db 'gl',`a,' ',c,0 |
6 | } |
6 | } |
7 | include 'opinfo.inc' |
7 | include 'opinfo.inc' |
8 | purge ADD_OP |
- | |
Line 9... | Line 8... | ||
9 | 8 | ||
10 | ;указатели на функции ;static void (*op_table_func[])(GLContext *,GLParam *)= |
9 | ;указатели на функции ;static void (*op_table_func[])(GLContext *,GLParam *)= |
11 | align 4 |
10 | align 4 |
12 | op_table_func: |
11 | op_table_func: |
13 | macro ADD_OP a,b,c |
12 | macro ADD_OP a,b,c |
14 | { |
13 | { |
15 | dd glop#a |
14 | dd glop#a |
16 | } |
15 | } |
17 | include 'opinfo.inc' |
- | |
Line 18... | Line 16... | ||
18 | purge ADD_OP |
16 | include 'opinfo.inc' |
19 | 17 | ||
20 | ;число параметров в функциях |
18 | ;число параметров в функциях |
21 | align 4 |
19 | align 4 |
22 | op_table_size: |
20 | op_table_size: |
23 | macro ADD_OP a,b,c |
21 | macro ADD_OP a,b,c |
24 | { |
22 | { |
25 | dd b+1 |
23 | dd b+1 |
26 | } |
- | |
Line 27... | Line 24... | ||
27 | include 'opinfo.inc' |
24 | } |
28 | purge ADD_OP |
25 | include 'opinfo.inc' |
29 | 26 | ||
30 | ;коды функций у которых нет входных параметров |
27 | ;коды функций у которых нет входных параметров |
31 | align 4 |
28 | align 4 |
32 | macro ADD_OP a,b,c |
29 | macro ADD_OP a,b,c |
33 | { |
30 | { |
34 | if b eq 0 |
31 | if b eq 0 |
35 | op_#a dd OP_#a |
32 | op_#a dd OP_#a |
36 | end if |
- | |
Line 37... | Line 33... | ||
37 | } |
33 | end if |
38 | include 'opinfo.inc' |
34 | } |
39 | purge ADD_OP |
35 | include 'opinfo.inc' |
Line 330... | Line 326... | ||
330 | mov [ebx+GLContext.exec_flag],eax |
326 | mov [ebx+GLContext.exec_flag],eax |
331 | ret |
327 | ret |
332 | endp |
328 | endp |
Line 333... | Line 329... | ||
333 | 329 | ||
334 | align 4 |
330 | align 4 |
335 | proc glEndList uses eax ebx |
- | |
336 | locals |
- | |
337 | p dd ? |
- | |
338 | endl |
331 | proc glEndList uses eax |
Line 339... | Line 332... | ||
339 | call gl_get_context |
332 | call gl_get_context |
Line 340... | Line 333... | ||
340 | 333 | ||
341 | ; assert(c->compile_flag == 1); |
- | |
342 | - | ||
343 | ; end of list |
- | |
344 | mov dword[p],OP_EndList |
334 | ; assert(c->compile_flag == 1); |
Line 345... | Line 335... | ||
345 | mov ebx,ebp |
335 | |
346 | sub ebx,4 ;=sizeof(dd) |
336 | ; end of list |
347 | stdcall gl_compile_op,eax,ebx |
337 | stdcall gl_compile_op,eax,op_EndList |
348 | 338 |