130 |
|
#define FB_FUNC_NAME do_fbcopy_16_nbo |
131 |
|
#include "video_blit.h" |
132 |
|
|
133 |
< |
// opposite byte order (untested) |
133 |
> |
// opposite byte order |
134 |
|
|
135 |
|
#define FB_BLIT_1(dst, src) \ |
136 |
< |
(dst = ((((src) >> 6) & 0xff) | (((src) & 0x60) << 9))) |
136 |
> |
(dst = ((((src) >> 7) & 0xff) | (((src) << 9) & 0xc000) | (((src) << 8) & 0x1f00))) |
137 |
|
|
138 |
|
#define FB_BLIT_2(dst, src) \ |
139 |
< |
(dst = ((((src) >> 6) & 0x00ff00ff) | (((src) & 0x00600060) << 9))) |
139 |
> |
(dst = ((((src) >> 7) & 0x00ff00ff) | (((src) << 9) & 0xc000c000) | (((src) << 8) & 0x1f001f00))) |
140 |
|
|
141 |
|
#define FB_DEPTH 16 |
142 |
|
#define FB_FUNC_NAME do_fbcopy_16_obo |
214 |
|
/* 1 bpp */ { WD(fbcopy_raw) , WD(fbcopy_raw) }, // NT |
215 |
|
/* 8 bpp */ { WD(fbcopy_raw) , WD(fbcopy_raw) }, // OK (NBO) |
216 |
|
/* 15 bpp */ { WD(fbcopy_15_obo) , WD(fbcopy_raw) }, // NT |
217 |
< |
/* 16 bpp */ { WD(fbcopy_16_obo) , WD(fbcopy_16_nbo) }, // NT |
217 |
> |
/* 16 bpp */ { WD(fbcopy_16_obo) , WD(fbcopy_16_nbo) }, // OK (OBO) |
218 |
|
/* 24 bpp */ { WD(fbcopy_24_obo) , WD(fbcopy_raw) } // NT |
219 |
|
#else |
220 |
|
/* opposite byte order native byte order */ |
249 |
|
|
250 |
|
const int page = (addr - mainBuffer.memStart) >> mainBuffer.pageBits; |
251 |
|
caddr_t page_ad = (caddr_t)(addr & ~(mainBuffer.pageSize - 1)); |
252 |
< |
#ifdef HAVE_PTHREADS |
253 |
< |
pthread_mutex_lock(&Screen_draw_lock); |
254 |
< |
#endif |
252 |
> |
LOCK_VOSF; |
253 |
|
PFLAG_SET(page); |
254 |
|
mprotect(page_ad, mainBuffer.pageSize, PROT_READ | PROT_WRITE); |
255 |
< |
#ifdef HAVE_PTHREADS |
258 |
< |
pthread_mutex_unlock(&Screen_draw_lock); |
259 |
< |
#endif |
255 |
> |
UNLOCK_VOSF; |
256 |
|
} |
257 |
|
|
258 |
|
#if defined(HAVE_SIGINFO_T) |