1
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nsc/gfx/gfx_rndr.c,v 1.1 2002/12/10 15:12:25 alanh Exp $ */
3
* $Workfile: gfx_rndr.c $
5
* This file contains routines to program the 2D acceleration hardware:
8
* gfx_set_solid_pattern
10
* gfx_set_color_pattern
11
* gfx_load_color_pattern_line
12
* gfx_set_solid_source
14
* gfx_set_raster_operation
16
* gfx_color_pattern_fill
17
* gfx_screen_to_screen_blt
18
* gfx_screen_to_screen_xblt
19
* gfx_color_bitmap_to_screen_blt
20
* gfx_color_bitmap_to_screen_xblt
21
* gfx_mono_bitmap_to_screen_blt
25
* NSC_LIC_ALTERNATIVE_PREAMBLE
29
* National Semiconductor Alternative GPL-BSD License
31
* National Semiconductor Corporation licenses this software
36
* under one of the two following licenses, depending on how the
37
* Software is received by the Licensee.
39
* If this Software is received as part of the Linux Framebuffer or
40
* other GPL licensed software, then the GPL license designated
41
* NSC_LIC_GPL applies to this Software; in all other circumstances
42
* then the BSD-style license designated NSC_LIC_BSD shall apply.
44
* END_NSC_LIC_ALTERNATIVE_PREAMBLE */
48
* National Semiconductor Corporation Open Source License for Durango
50
* (BSD License with Export Notice)
52
* Copyright (c) 1999-2001
53
* National Semiconductor Corporation.
54
* All rights reserved.
56
* Redistribution and use in source and binary forms, with or without
57
* modification, are permitted provided that the following conditions
60
* * Redistributions of source code must retain the above copyright
61
* notice, this list of conditions and the following disclaimer.
63
* * Redistributions in binary form must reproduce the above
64
* copyright notice, this list of conditions and the following
65
* disclaimer in the documentation and/or other materials provided
66
* with the distribution.
68
* * Neither the name of the National Semiconductor Corporation nor
69
* the names of its contributors may be used to endorse or promote
70
* products derived from this software without specific prior
73
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
74
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
75
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
76
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
77
* NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY
78
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
79
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
80
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
81
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
82
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE,
83
* INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY
84
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
87
* EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF
88
* YOUR JURISDICTION. It is licensee's responsibility to comply with
89
* any export regulations applicable in licensee's jurisdiction. Under
90
* CURRENT (2001) U.S. export regulations this software
91
* is eligible for export from the U.S. and can be downloaded by or
92
* otherwise exported or reexported worldwide EXCEPT to U.S. embargoed
93
* destinations which include Cuba, Iraq, Libya, North Korea, Iran,
94
* Syria, Sudan, Afghanistan and any other country to which the U.S.
95
* has embargoed goods and services.
101
* National Semiconductor Corporation Gnu General Public License for Durango
103
* (GPL License with Export Notice)
105
* Copyright (c) 1999-2001
106
* National Semiconductor Corporation.
107
* All rights reserved.
109
* Redistribution and use in source and binary forms, with or without
110
* modification, are permitted under the terms of the GNU General
111
* Public License as published by the Free Software Foundation; either
112
* version 2 of the License, or (at your option) any later version
114
* In addition to the terms of the GNU General Public License, neither
115
* the name of the National Semiconductor Corporation nor the names of
116
* its contributors may be used to endorse or promote products derived
117
* from this software without specific prior written permission.
119
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
120
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
121
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
122
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
123
* NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY
124
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
125
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
126
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
127
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
128
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE,
129
* INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY
130
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
131
* OF SUCH DAMAGE. See the GNU General Public License for more details.
133
* EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF
134
* YOUR JURISDICTION. It is licensee's responsibility to comply with
135
* any export regulations applicable in licensee's jurisdiction. Under
136
* CURRENT (2001) U.S. export regulations this software
137
* is eligible for export from the U.S. and can be downloaded by or
138
* otherwise exported or reexported worldwide EXCEPT to U.S. embargoed
139
* destinations which include Cuba, Iraq, Libya, North Korea, Iran,
140
* Syria, Sudan, Afghanistan and any other country to which the U.S.
141
* has embargoed goods and services.
143
* You should have received a copy of the GNU General Public License
144
* along with this file; if not, write to the Free Software Foundation,
145
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
149
/* STATIC VARIABLES */
151
unsigned short GFXbpp = 16;
152
unsigned short GFXbb0Base = 0x400;
153
unsigned short GFXbb1Base = 0x930;
154
unsigned short GFXbufferWidthPixels = 400;
156
unsigned short GFXpatternFlags = 0;
157
unsigned short GFXsourceFlags = 0;
158
unsigned long GFXsavedColor = 0;
159
unsigned short GFXsavedRop = 0;
160
unsigned short GFXusesDstData = 0;
162
/* INCLUDE SUPPORT FOR FIRST GENERATION, IF SPECIFIED. */
165
#include "rndr_gu1.c"
168
/* INCLUDE SUPPORT FOR SECOND GENERATION, IF SPECIFIED. */
171
#include "rndr_gu2.c"
174
void gfx_reset_pitch(unsigned short pitch);
176
/* WRAPPERS IF DYNAMIC SELECTION */
177
/* Extra layer to call either first or second generation routines. */
179
#if GFX_2DACCEL_DYNAMIC
181
/*---------------------------------------------------------------------------
182
* gfx_reset_pitch (PRIVATE ROUTINE - NOT PART OF API)
183
*---------------------------------------------------------------------------
186
gfx_reset_pitch(unsigned short pitch)
189
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
190
gu2_reset_pitch(pitch);
194
/*---------------------------------------------------------------------------
196
*---------------------------------------------------------------------------
199
gfx_set_bpp(unsigned short bpp)
202
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
206
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
211
/*---------------------------------------------------------------------------
212
* gfx_set_solid_source
213
*---------------------------------------------------------------------------
216
gfx_set_solid_source(unsigned long color)
219
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
220
gu1_set_solid_source(color);
223
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
224
gu2_set_solid_source(color);
228
/*---------------------------------------------------------------------------
229
* gfx_set_mono_source
230
*---------------------------------------------------------------------------
233
gfx_set_mono_source(unsigned long bgcolor, unsigned long fgcolor,
234
unsigned short transparent)
237
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
238
gu1_set_mono_source(bgcolor, fgcolor, transparent);
241
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
242
gu2_set_mono_source(bgcolor, fgcolor, transparent);
247
gfx_set_pattern_flags(unsigned short flags)
249
GFXpatternFlags |= flags;
252
/*---------------------------------------------------------------------------
253
* gfx_set_solid_pattern
254
*---------------------------------------------------------------------------
257
gfx_set_solid_pattern(unsigned long color)
260
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
261
gu1_set_solid_pattern(color);
264
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
265
gu2_set_solid_pattern(color);
269
/*---------------------------------------------------------------------------
270
* gfx_set_mono_pattern
271
*---------------------------------------------------------------------------
274
gfx_set_mono_pattern(unsigned long bgcolor, unsigned long fgcolor,
275
unsigned long data0, unsigned long data1,
276
unsigned char transparent)
279
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
280
gu1_set_mono_pattern(bgcolor, fgcolor, data0, data1, transparent);
283
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
284
gu2_set_mono_pattern(bgcolor, fgcolor, data0, data1, transparent);
288
/*---------------------------------------------------------------------------
289
* gfx_set_color_pattern
290
*---------------------------------------------------------------------------
293
gfx_set_color_pattern(unsigned long bgcolor, unsigned long fgcolor,
294
unsigned long data0, unsigned long data1,
295
unsigned long data2, unsigned long data3,
296
unsigned char transparent)
299
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
300
gu1_set_color_pattern(bgcolor, fgcolor, data0, data1, data2, data3,
304
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
305
gu2_set_color_pattern(bgcolor, fgcolor, data0, data1, data2, data3,
310
/*---------------------------------------------------------------------------
311
* gfx_load_color_pattern_line
312
*---------------------------------------------------------------------------
315
gfx_load_color_pattern_line(short y, unsigned long *pattern_8x8)
318
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
319
gu1_load_color_pattern_line(y, pattern_8x8);
322
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
323
gu2_load_color_pattern_line(y, pattern_8x8);
327
/*---------------------------------------------------------------------------
328
* gfx_set_raster_operation
329
*---------------------------------------------------------------------------
332
gfx_set_raster_operation(unsigned char rop)
335
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
336
gu1_set_raster_operation(rop);
339
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
340
gu2_set_raster_operation(rop);
344
/*---------------------------------------------------------------------------
346
*---------------------------------------------------------------------------
349
gfx_pattern_fill(unsigned short x, unsigned short y,
350
unsigned short width, unsigned short height)
353
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
354
gu1_pattern_fill(x, y, width, height);
357
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
358
gu2_pattern_fill(x, y, width, height);
362
/*---------------------------------------------------------------------------
363
* gfx_color_pattern_fill
364
*---------------------------------------------------------------------------
367
gfx_color_pattern_fill(unsigned short x, unsigned short y,
368
unsigned short width, unsigned short height,
369
unsigned long *pattern)
372
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
373
gu1_color_pattern_fill(x, y, width, height, pattern);
376
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
377
gu2_color_pattern_fill(x, y, width, height, pattern);
381
/*---------------------------------------------------------------------------
382
* gfx_screen_to_screen_blt
383
*---------------------------------------------------------------------------
386
gfx_screen_to_screen_blt(unsigned short srcx, unsigned short srcy,
387
unsigned short dstx, unsigned short dsty,
388
unsigned short width, unsigned short height)
391
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
392
gu1_screen_to_screen_blt(srcx, srcy, dstx, dsty, width, height);
395
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
396
gu2_screen_to_screen_blt(srcx, srcy, dstx, dsty, width, height);
400
/*---------------------------------------------------------------------------
401
* gfx_screen_to_screen_xblt
402
*---------------------------------------------------------------------------
405
gfx_screen_to_screen_xblt(unsigned short srcx, unsigned short srcy,
406
unsigned short dstx, unsigned short dsty,
407
unsigned short width, unsigned short height,
411
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
412
gu1_screen_to_screen_xblt(srcx, srcy, dstx, dsty, width, height, color);
415
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
416
gu2_screen_to_screen_xblt(srcx, srcy, dstx, dsty, width, height, color);
420
/*---------------------------------------------------------------------------
421
* gfx_color_bitmap_to_screen_blt
422
*---------------------------------------------------------------------------
425
gfx_color_bitmap_to_screen_blt(unsigned short srcx, unsigned short srcy,
426
unsigned short dstx, unsigned short dsty,
427
unsigned short width, unsigned short height,
428
unsigned char *data, long pitch)
431
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
432
gu1_color_bitmap_to_screen_blt(srcx, srcy, dstx, dsty, width, height,
436
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
437
gu2_color_bitmap_to_screen_blt(srcx, srcy, dstx, dsty, width, height,
442
/*---------------------------------------------------------------------------
443
* gfx_color_bitmap_to_screen_xblt
444
*---------------------------------------------------------------------------
447
gfx_color_bitmap_to_screen_xblt(unsigned short srcx, unsigned short srcy,
448
unsigned short dstx, unsigned short dsty,
449
unsigned short width, unsigned short height,
450
unsigned char *data, long pitch,
454
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
455
gu1_color_bitmap_to_screen_xblt(srcx, srcy, dstx, dsty, width, height,
459
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
460
gu2_color_bitmap_to_screen_xblt(srcx, srcy, dstx, dsty, width, height,
465
/*---------------------------------------------------------------------------
466
* gfx_mono_bitmap_to_screen_blt
467
*---------------------------------------------------------------------------
470
gfx_mono_bitmap_to_screen_blt(unsigned short srcx, unsigned short srcy,
471
unsigned short dstx, unsigned short dsty,
472
unsigned short width, unsigned short height,
473
unsigned char *data, short pitch)
476
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
477
gu1_mono_bitmap_to_screen_blt(srcx, srcy, dstx, dsty, width, height,
481
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
482
gu2_mono_bitmap_to_screen_blt(srcx, srcy, dstx, dsty, width, height,
487
/*---------------------------------------------------------------------------
489
*---------------------------------------------------------------------------
492
gfx_text_blt(unsigned short dstx, unsigned short dsty, unsigned short width,
493
unsigned short height, unsigned char *data)
496
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
497
gu1_text_blt(dstx, dsty, width, height, data);
500
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
501
gu2_text_blt(dstx, dsty, width, height, data);
505
/*---------------------------------------------------------------------------
507
*---------------------------------------------------------------------------
510
gfx_bresenham_line(unsigned short x, unsigned short y,
511
unsigned short length, unsigned short initerr,
512
unsigned short axialerr, unsigned short diagerr,
513
unsigned short flags)
516
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
517
gu1_bresenham_line(x, y, length, initerr, axialerr, diagerr, flags);
520
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
521
gu2_bresenham_line(x, y, length, initerr, axialerr, diagerr, flags);
525
/*---------------------------------------------------------------------------
526
* gfx_wait_until_idle
527
*---------------------------------------------------------------------------
530
gfx_wait_until_idle(void)
533
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
534
gu1_wait_until_idle();
537
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
538
gu2_wait_until_idle();
542
/*---------------------------------------------------------------------------
543
* gfx_test_blt_pending
544
*---------------------------------------------------------------------------
547
gfx_test_blt_pending(void)
552
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU1)
553
retval = gu1_test_blt_pending();
556
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
557
retval = gu2_test_blt_pending();
562
/*---------------------------------------------------------------------------
563
* NEW ROUTINES FOR REDCLOUD
564
*---------------------------------------------------------------------------
567
/*---------------------------------------------------------------------------
568
* gfx2_set_source_stride
569
*---------------------------------------------------------------------------
572
gfx2_set_source_stride(unsigned short stride)
575
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
576
gu22_set_source_stride(stride);
580
/*---------------------------------------------------------------------------
581
* gfx2_set_destination_stride
582
*---------------------------------------------------------------------------
585
gfx2_set_destination_stride(unsigned short stride)
588
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
589
gu22_set_destination_stride(stride);
593
/*---------------------------------------------------------------------------
594
* gfx2_set_pattern_origin
595
*---------------------------------------------------------------------------
598
gfx2_set_pattern_origin(int x, int y)
601
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
602
gu22_set_pattern_origin(x, y);
606
/*---------------------------------------------------------------------------
607
* gfx2_set_source_transparency
608
*---------------------------------------------------------------------------
611
gfx2_set_source_transparency(unsigned long color, unsigned long mask)
614
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
615
gu22_set_source_transparency(color, mask);
619
/*---------------------------------------------------------------------------
620
* gfx2_set_alpha_mode
621
*---------------------------------------------------------------------------
624
gfx2_set_alpha_mode(int mode)
627
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
628
gu22_set_alpha_mode(mode);
632
/*---------------------------------------------------------------------------
633
* gfx2_set_alpha_value
634
*---------------------------------------------------------------------------
637
gfx2_set_alpha_value(unsigned char value)
640
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
641
gu22_set_alpha_value(value);
645
/*---------------------------------------------------------------------------
647
*---------------------------------------------------------------------------
650
gfx2_pattern_fill(unsigned long dstoffset, unsigned short width,
651
unsigned short height)
654
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
655
gu22_pattern_fill(dstoffset, width, height);
659
/*---------------------------------------------------------------------------
660
* gfx2_color_pattern_fill
661
*---------------------------------------------------------------------------
664
gfx2_color_pattern_fill(unsigned long dstoffset, unsigned short width,
665
unsigned short height, unsigned long *pattern)
668
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
669
gu22_color_pattern_fill(dstoffset, width, height, pattern);
673
/*---------------------------------------------------------------------------
674
* gfx2_screen_to_screen_blt
675
*---------------------------------------------------------------------------
678
gfx2_screen_to_screen_blt(unsigned long srcoffset, unsigned long dstoffset,
679
unsigned short width, unsigned short height,
683
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
684
gu22_screen_to_screen_blt(srcoffset, dstoffset, width, height, flags);
688
/*---------------------------------------------------------------------------
689
* gfx2_mono_expand_blt
690
*---------------------------------------------------------------------------
693
gfx2_mono_expand_blt(unsigned long srcbase, unsigned short srcx,
694
unsigned short srcy, unsigned long dstoffset,
695
unsigned short width, unsigned short height,
699
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
700
gu22_mono_expand_blt(srcbase, srcx, srcy, dstoffset, width, height,
705
/*---------------------------------------------------------------------------
706
* gfx2_color_bitmap_to_screen_blt
707
*---------------------------------------------------------------------------
710
gfx2_color_bitmap_to_screen_blt(unsigned short srcx, unsigned short srcy,
711
unsigned long dstoffset, unsigned short width,
712
unsigned short height, unsigned char *data,
716
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
717
gu22_color_bitmap_to_screen_blt(srcx, srcy, dstoffset, width, height,
722
/*---------------------------------------------------------------------------
724
*---------------------------------------------------------------------------
727
gfx2_text_blt(unsigned long dstoffset, unsigned short width,
728
unsigned short height, unsigned char *data)
731
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
732
gu22_text_blt(dstoffset, width, height, data);
736
/*---------------------------------------------------------------------------
737
* gfx2_mono_bitmap_to_screen_blt
738
*---------------------------------------------------------------------------
741
gfx2_mono_bitmap_to_screen_blt(unsigned short srcx, unsigned short srcy,
742
unsigned long dstoffset, unsigned short width,
743
unsigned short height, unsigned char *data,
747
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
748
gu22_mono_bitmap_to_screen_blt(srcx, srcy, dstoffset, width, height,
753
/*---------------------------------------------------------------------------
754
* gfx2_bresenham_line
755
*---------------------------------------------------------------------------
758
gfx2_bresenham_line(unsigned long dstoffset,
759
unsigned short length, unsigned short initerr,
760
unsigned short axialerr, unsigned short diagerr,
761
unsigned short flags)
764
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
765
gu22_bresenham_line(dstoffset, length, initerr, axialerr, diagerr,
770
/*---------------------------------------------------------------------------
771
* gfx2_sync_to_vblank
772
*---------------------------------------------------------------------------
775
gfx2_sync_to_vblank(void)
778
if (gfx_2daccel_type & GFX_2DACCEL_TYPE_GU2)
779
gu22_sync_to_vblank();
783
#endif /* GFX_2DACCEL_DYNAMIC */