Common Source Code Project for Qt (a.k.a for FM-7).
Revision | 813614437a72ddb736e676147522fa1112275ba2 (tree) |
---|---|
Zeit | 2018-03-15 23:42:40 |
Autor | K.Ohta <whatisthis.sowhat@gmai...> |
Commiter | K.Ohta |
[VM][FM7][VRAM] Add DECL_VECTORIZE_LOOP decl. to indicate expect to use vectorize (a.k.a. SIMD instructions).
@@ -506,6 +506,16 @@ uint16_t DLL_PREFIX EndianToLittle_WORD(uint16_t x); | ||
506 | 506 | #define B_OF_COLOR(c) (((c) ) & 0xff) |
507 | 507 | #define A_OF_COLOR(c) (((c) >> 24) & 0xff) |
508 | 508 | #endif |
509 | +/* | |
510 | + * Below macros are hint for SIMD. | |
511 | + */ | |
512 | +#if defined(__clang__) | |
513 | + #define __DECL_VECTORIZED_LOOP _Pragma("clang loop vectorize(enable) interleave(enable)") | |
514 | +#elif defined(__GNUC__) | |
515 | + #define __DECL_VECTORIZED_LOOP _Pragma("GCC ivdep") | |
516 | +#else | |
517 | + #define __DECL_VECTORIZED_LOOP | |
518 | +#endif | |
509 | 519 | |
510 | 520 | // wav file header |
511 | 521 | #pragma pack(1) |
@@ -94,58 +94,35 @@ void DISPLAY::GETVRAM_8_200L(int yoff, scrntype_t *p, | ||
94 | 94 | uint16_t tmp_d[8]; |
95 | 95 | |
96 | 96 | scrntype_t tmp_dd[8]; |
97 | + | |
98 | +__DECL_VECTORIZED_LOOP | |
97 | 99 | for(int i = 0; i < 8; i++) { |
98 | - tmp_d[i] = pg[i]; | |
99 | - } | |
100 | - for(int i = 0; i < 8; i++) { | |
101 | - tmp_d[i] = tmp_d[i] | pr[i]; | |
102 | - } | |
103 | - for(int i = 0; i < 8; i++) { | |
104 | - tmp_d[i] = tmp_d[i] | pb[i]; | |
105 | - } | |
106 | - for(int i = 0; i < 8; i++) { | |
107 | - tmp_d[i] = tmp_d[i] >> 5; | |
100 | + tmp_d[i] = pg[i]; | |
101 | + tmp_d[i] |= pr[i]; | |
102 | + tmp_d[i] |= pb[i]; | |
103 | + tmp_d[i] >>= 5; | |
108 | 104 | } |
105 | +__DECL_VECTORIZED_LOOP | |
109 | 106 | for(int i = 0; i < 8; i++) { |
110 | 107 | tmp_dd[i] = dpalette_pixel[tmp_d[i]]; |
111 | - } | |
112 | - for(int i = 0; i < 8; i++) { | |
113 | 108 | p[i] = tmp_dd[i]; |
114 | 109 | } |
115 | 110 | #if defined(FIXED_FRAMEBUFFER_SIZE) |
116 | 111 | if(scan_line) { |
117 | -#if 0 | |
118 | - static const scrntype_t dblack[8] = {0, 0, 0, 0, 0, 0, 0, 0}; | |
119 | - for(int i = 0; i < 8; i++) { | |
120 | - px[i] = dblack[i]; | |
121 | - } | |
122 | -#else /* Fancy scanline */ | |
123 | - static const scrntype_t dblack[8] = { RGB_COLOR(32, 32, 32), | |
124 | - RGB_COLOR(32, 32, 32), | |
125 | - RGB_COLOR(32, 32, 32), | |
126 | - RGB_COLOR(32, 32, 32), | |
127 | - RGB_COLOR(32, 32, 32), | |
128 | - RGB_COLOR(32, 32, 32), | |
129 | - RGB_COLOR(32, 32, 32), | |
130 | - RGB_COLOR(32, 32, 32)}; | |
131 | - | |
132 | - for(int i = 0; i < 8; i++) { | |
133 | -#if defined(_RGB888) || defined(_RGBA888) | |
134 | - tmp_dd[i] = tmp_dd[i] >> 3; | |
135 | -#elif defined(_RGB555) | |
136 | - tmp_dd[i] = tmp_dd[i] >> 2; | |
137 | -#elif defined(_RGB565) | |
138 | - tmp_dd[i] = tmp_dd[i] >> 2; | |
139 | -#endif | |
140 | - } | |
141 | - for(int i = 0; i < 8; i++) { | |
142 | - tmp_dd[i] = tmp_dd[i] & RGBA_COLOR(31, 31, 31, 255); | |
143 | - } | |
112 | +/* Fancy scanline */ | |
113 | + #if defined(_RGB555) || defined(_RGBA565) | |
114 | + static const int shift_factor = 2; | |
115 | + #else // 24bit | |
116 | + static const int shift_factor = 3; | |
117 | + #endif | |
118 | +__DECL_VECTORIZED_LOOP | |
144 | 119 | for(int i = 0; i < 8; i++) { |
120 | + tmp_dd[i] = (tmp_dd[i] >> shift_factor) & (const scrntype_t)RGBA_COLOR(31, 31, 31, 255);; | |
121 | + //tmp_dd[i] = tmp_dd[i] & (const scrntype_t)RGBA_COLOR(31, 31, 31, 255); | |
145 | 122 | px[i] = tmp_dd[i]; |
146 | 123 | } |
147 | -#endif | |
148 | 124 | } else { |
125 | +__DECL_VECTORIZED_LOOP | |
149 | 126 | for(int i = 0; i < 8; i++) { |
150 | 127 | px[i] = tmp_dd[i]; |
151 | 128 | } |
@@ -185,17 +162,15 @@ void DISPLAY::GETVRAM_8_400L(int yoff, scrntype_t *p, | ||
185 | 162 | uint16_t *pb = &(bit_trans_table_2[b][0]); |
186 | 163 | uint16_t tmp_d[8]; |
187 | 164 | scrntype_t tmp_dd[8]; |
188 | - | |
165 | + | |
166 | +__DECL_VECTORIZED_LOOP | |
189 | 167 | for(int i = 0; i < 8; i++) { |
190 | 168 | tmp_d[i] = pg[i] | pr[i] | pb[i]; |
191 | - } | |
192 | - for(int i = 0; i < 8; i++) { | |
193 | 169 | tmp_d[i] = tmp_d[i] >> 5; |
194 | - } | |
170 | + | |
171 | +__DECL_VECTORIZED_LOOP | |
195 | 172 | for(int i = 0; i < 8; i++) { |
196 | 173 | tmp_dd[i] = dpalette_pixel[tmp_d[i]]; |
197 | - } | |
198 | - for(int i = 0; i < 8; i++) { | |
199 | 174 | p[i] = tmp_dd[i]; |
200 | 175 | } |
201 | 176 | } |
@@ -248,25 +223,17 @@ void DISPLAY::GETVRAM_256k(int yoff, scrntype_t *p, scrntype_t *px, bool scan_li | ||
248 | 223 | p3 = &(bit_trans_table_3[bb[3]][0]); |
249 | 224 | p4 = &(bit_trans_table_4[bb[4]][0]); |
250 | 225 | p5 = &(bit_trans_table_5[bb[5]][0]); |
226 | +__DECL_VECTORIZED_LOOP | |
251 | 227 | for(int i = 0; i < 8; i++) { |
252 | 228 | _btmp[i] = p0[i]; |
253 | - } | |
254 | - for(int i = 0; i < 8; i++) { | |
255 | 229 | _btmp[i] = _btmp[i] | p1[i]; |
256 | - } | |
257 | - for(int i = 0; i < 8; i++) { | |
258 | 230 | _btmp[i] = _btmp[i] | p2[i]; |
259 | - } | |
260 | - for(int i = 0; i < 8; i++) { | |
261 | 231 | _btmp[i] = _btmp[i] | p3[i]; |
262 | - } | |
263 | - for(int i = 0; i < 8; i++) { | |
264 | 232 | _btmp[i] = _btmp[i] | p4[i]; |
265 | - } | |
266 | - for(int i = 0; i < 8; i++) { | |
267 | 233 | _btmp[i] = _btmp[i] | p5[i]; |
268 | 234 | } |
269 | 235 | } else { |
236 | +__DECL_VECTORIZED_LOOP | |
270 | 237 | for(int i = 0; i < 8; i++) { |
271 | 238 | _btmp[i] = 0; |
272 | 239 | } |
@@ -289,25 +256,17 @@ void DISPLAY::GETVRAM_256k(int yoff, scrntype_t *p, scrntype_t *px, bool scan_li | ||
289 | 256 | p3 = &(bit_trans_table_3[rr[3]][0]); |
290 | 257 | p4 = &(bit_trans_table_4[rr[4]][0]); |
291 | 258 | p5 = &(bit_trans_table_5[rr[5]][0]); |
259 | +__DECL_VECTORIZED_LOOP | |
292 | 260 | for(int i = 0; i < 8; i++) { |
293 | 261 | _rtmp[i] = p0[i]; |
294 | - } | |
295 | - for(int i = 0; i < 8; i++) { | |
296 | 262 | _rtmp[i] = _rtmp[i] | p1[i]; |
297 | - } | |
298 | - for(int i = 0; i < 8; i++) { | |
299 | 263 | _rtmp[i] = _rtmp[i] | p2[i]; |
300 | - } | |
301 | - for(int i = 0; i < 8; i++) { | |
302 | 264 | _rtmp[i] = _rtmp[i] | p3[i]; |
303 | - } | |
304 | - for(int i = 0; i < 8; i++) { | |
305 | 265 | _rtmp[i] = _rtmp[i] | p4[i]; |
306 | - } | |
307 | - for(int i = 0; i < 8; i++) { | |
308 | 266 | _rtmp[i] = _rtmp[i] | p5[i]; |
309 | 267 | } |
310 | 268 | } else { |
269 | +__DECL_VECTORIZED_LOOP | |
311 | 270 | for(int i = 0; i < 8; i++) { |
312 | 271 | _rtmp[i] = 0; |
313 | 272 | } |
@@ -330,67 +289,39 @@ void DISPLAY::GETVRAM_256k(int yoff, scrntype_t *p, scrntype_t *px, bool scan_li | ||
330 | 289 | p3 = &(bit_trans_table_3[gg[3]][0]); |
331 | 290 | p4 = &(bit_trans_table_4[gg[4]][0]); |
332 | 291 | p5 = &(bit_trans_table_5[gg[5]][0]); |
292 | +__DECL_VECTORIZED_LOOP | |
333 | 293 | for(int i = 0; i < 8; i++) { |
334 | 294 | _gtmp[i] = p0[i]; |
335 | - } | |
336 | - for(int i = 0; i < 8; i++) { | |
337 | 295 | _gtmp[i] = _gtmp[i] | p1[i]; |
338 | - } | |
339 | - for(int i = 0; i < 8; i++) { | |
340 | 296 | _gtmp[i] = _gtmp[i] | p2[i]; |
341 | - } | |
342 | - for(int i = 0; i < 8; i++) { | |
343 | 297 | _gtmp[i] = _gtmp[i] | p3[i]; |
344 | - } | |
345 | - for(int i = 0; i < 8; i++) { | |
346 | 298 | _gtmp[i] = _gtmp[i] | p4[i]; |
347 | - } | |
348 | - for(int i = 0; i < 8; i++) { | |
349 | 299 | _gtmp[i] = _gtmp[i] | p5[i]; |
350 | 300 | } |
351 | 301 | } else { |
302 | +__DECL_VECTORIZED_LOOP | |
352 | 303 | for(int i = 0; i < 8; i++) { |
353 | 304 | _gtmp[i] = 0; |
354 | 305 | } |
355 | 306 | } |
356 | 307 | #if !defined(FIXED_FRAMEBUFFER_SIZE) |
308 | +__DECL_VECTORIZED_LOOP | |
357 | 309 | for(int i = 0; i < 8; i++) { |
358 | 310 | tmp_dd[i] = RGB_COLOR(_rtmp[i], _gtmp[i], _btmp[i]); |
359 | - } | |
360 | - for(int i = 0; i < 8; i++) { | |
361 | 311 | p[i] = tmp_dd[i]; |
362 | 312 | } |
363 | 313 | #else |
314 | +__DECL_VECTORIZED_LOOP | |
364 | 315 | for(int i = 0; i < 8; i++) { |
365 | 316 | tmp_dd[i * 2] = tmp_dd[i * 2 + 1] = RGB_COLOR(_rtmp[i], _gtmp[i], _btmp[i]); |
366 | 317 | } |
318 | +__DECL_VECTORIZED_LOOP | |
367 | 319 | for(int i = 0; i < 16; i++) { |
368 | 320 | p[i] = tmp_dd[i]; |
369 | 321 | } |
370 | 322 | if(scan_line) { |
371 | -#if 0 | |
372 | - static const scrntype_t dblack[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; | |
373 | - for(int i = 0; i < 16; i++) { | |
374 | - px[i] = dblack[i]; | |
375 | - } | |
376 | -#else /* Fancy scanline */ | |
377 | - static const scrntype_t dblack[16] = { RGB_COLOR(32, 32, 32), | |
378 | - RGB_COLOR(32, 32, 32), | |
379 | - RGB_COLOR(32, 32, 32), | |
380 | - RGB_COLOR(32, 32, 32), | |
381 | - RGB_COLOR(32, 32, 32), | |
382 | - RGB_COLOR(32, 32, 32), | |
383 | - RGB_COLOR(32, 32, 32), | |
384 | - RGB_COLOR(32, 32, 32), | |
385 | - RGB_COLOR(32, 32, 32), | |
386 | - RGB_COLOR(32, 32, 32), | |
387 | - RGB_COLOR(32, 32, 32), | |
388 | - RGB_COLOR(32, 32, 32), | |
389 | - RGB_COLOR(32, 32, 32), | |
390 | - RGB_COLOR(32, 32, 32), | |
391 | - RGB_COLOR(32, 32, 32), | |
392 | - RGB_COLOR(32, 32, 32)}; | |
393 | - | |
323 | +/* Fancy scanline */ | |
324 | +__DECL_VECTORIZED_LOOP | |
394 | 325 | for(int i = 0; i < 16; i++) { |
395 | 326 | #if defined(_RGB888) || defined(_RGBA888) |
396 | 327 | tmp_dd[i] = tmp_dd[i] >> 3; |
@@ -400,14 +331,13 @@ void DISPLAY::GETVRAM_256k(int yoff, scrntype_t *p, scrntype_t *px, bool scan_li | ||
400 | 331 | tmp_dd[i] = tmp_dd[i] >> 2; |
401 | 332 | #endif |
402 | 333 | } |
334 | +__DECL_VECTORIZED_LOOP | |
403 | 335 | for(int i = 0; i < 16; i++) { |
404 | 336 | tmp_dd[i] = tmp_dd[i] & RGBA_COLOR(31, 31, 31, 256); |
405 | - } | |
406 | - for(int i = 0; i < 16; i++) { | |
407 | 337 | px[i] = tmp_dd[i]; |
408 | 338 | } |
409 | -#endif | |
410 | 339 | } else { |
340 | +__DECL_VECTORIZED_LOOP | |
411 | 341 | for(int i = 0; i < 16; i++) { |
412 | 342 | px[i] = tmp_dd[i]; |
413 | 343 | } |
@@ -479,16 +409,11 @@ void DISPLAY::GETVRAM_4096(int yoff, scrntype_t *p, scrntype_t *px, | ||
479 | 409 | p1 = &(bit_trans_table_1[gg[1]][0]); |
480 | 410 | p2 = &(bit_trans_table_2[gg[2]][0]); |
481 | 411 | p3 = &(bit_trans_table_3[gg[3]][0]); |
412 | +__DECL_VECTORIZED_LOOP | |
482 | 413 | for(int i = 0; i < 8; i++) { |
483 | 414 | tmp_g[i] = p0[i]; |
484 | - } | |
485 | - for(int i = 0; i < 8; i++) { | |
486 | 415 | tmp_g[i] = tmp_g[i] | p1[i]; |
487 | - } | |
488 | - for(int i = 0; i < 8; i++) { | |
489 | 416 | tmp_g[i] = tmp_g[i] | p2[i]; |
490 | - } | |
491 | - for(int i = 0; i < 8; i++) { | |
492 | 417 | tmp_g[i] = tmp_g[i] | p3[i]; |
493 | 418 | } |
494 | 419 | // R |
@@ -496,16 +421,11 @@ void DISPLAY::GETVRAM_4096(int yoff, scrntype_t *p, scrntype_t *px, | ||
496 | 421 | p1 = &(bit_trans_table_1[rr[1]][0]); |
497 | 422 | p2 = &(bit_trans_table_2[rr[2]][0]); |
498 | 423 | p3 = &(bit_trans_table_3[rr[3]][0]); |
424 | +__DECL_VECTORIZED_LOOP | |
499 | 425 | for(int i = 0; i < 8; i++) { |
500 | 426 | tmp_r[i] = p0[i]; |
501 | - } | |
502 | - for(int i = 0; i < 8; i++) { | |
503 | 427 | tmp_r[i] = tmp_r[i] | p1[i]; |
504 | - } | |
505 | - for(int i = 0; i < 8; i++) { | |
506 | 428 | tmp_r[i] = tmp_r[i] | p2[i]; |
507 | - } | |
508 | - for(int i = 0; i < 8; i++) { | |
509 | 429 | tmp_r[i] = tmp_r[i] | p3[i]; |
510 | 430 | } |
511 | 431 | // B |
@@ -513,73 +433,42 @@ void DISPLAY::GETVRAM_4096(int yoff, scrntype_t *p, scrntype_t *px, | ||
513 | 433 | p1 = &(bit_trans_table_1[bb[1]][0]); |
514 | 434 | p2 = &(bit_trans_table_2[bb[2]][0]); |
515 | 435 | p3 = &(bit_trans_table_3[bb[3]][0]); |
436 | +__DECL_VECTORIZED_LOOP | |
516 | 437 | for(int i = 0; i < 8; i++) { |
517 | 438 | tmp_b[i] = p0[i]; |
518 | - } | |
519 | - for(int i = 0; i < 8; i++) { | |
520 | 439 | tmp_b[i] = tmp_b[i] | p1[i]; |
521 | - } | |
522 | - for(int i = 0; i < 8; i++) { | |
523 | 440 | tmp_b[i] = tmp_b[i] | p2[i]; |
524 | - } | |
525 | - for(int i = 0; i < 8; i++) { | |
526 | 441 | tmp_b[i] = tmp_b[i] | p3[i]; |
527 | 442 | } |
443 | +__DECL_VECTORIZED_LOOP | |
528 | 444 | for(int i = 0; i < 8; i++) { |
445 | + tmp_g[i] <<= 4; | |
529 | 446 | pixels[i] = tmp_b[i] >> 4; |
530 | - } | |
531 | - for(int i = 0; i < 8; i++) { | |
532 | 447 | pixels[i] = pixels[i] | tmp_r[i]; |
533 | - } | |
534 | - for(int i = 0; i < 8; i++) { | |
535 | - pixels[i] = pixels[i] | tmp_g[i] << 4; | |
536 | - } | |
537 | - | |
538 | - for(int i = 0; i < 8; i++) { | |
448 | + pixels[i] = pixels[i] | tmp_g[i]; | |
539 | 449 | pixels[i] = pixels[i] & __masks[i]; |
540 | 450 | } |
541 | 451 | //for(int i = 0; i < 8; i++) { |
542 | 452 | // pixels[i] = pixels[i] & mask; |
543 | 453 | //} |
544 | 454 | #if !defined(FIXED_FRAMEBUFFER_SIZE) |
455 | +__DECL_VECTORIZED_LOOP | |
545 | 456 | for(int i = 0; i < 8; i++) { |
546 | 457 | tmp_dd[i] = analog_palette_pixel[pixels[i]]; |
547 | - } | |
548 | - | |
549 | - for(int i = 0; i < 8; i++) { | |
550 | 458 | p[i] = tmp_dd[i]; |
551 | 459 | } |
552 | 460 | #else |
461 | +__DECL_VECTORIZED_LOOP | |
553 | 462 | for(int i = 0; i < 8; i++) { |
554 | 463 | tmp_dd[i * 2] = tmp_dd[i * 2 + 1] = analog_palette_pixel[pixels[i]];; |
555 | 464 | } |
465 | +__DECL_VECTORIZED_LOOP | |
556 | 466 | for(int i = 0; i < 16; i++) { |
557 | 467 | p[i] = tmp_dd[i]; |
558 | 468 | } |
559 | 469 | if(scan_line) { |
560 | -#if 0 | |
561 | - static const scrntype_t dblack[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; | |
562 | - for(int i = 0; i < 16; i++) { | |
563 | - px[i] = dblack[i]; | |
564 | - } | |
565 | -#else /* Fancy scanline */ | |
566 | - static const scrntype_t dblack[16] = { RGB_COLOR(32, 32, 32), | |
567 | - RGB_COLOR(32, 32, 32), | |
568 | - RGB_COLOR(32, 32, 32), | |
569 | - RGB_COLOR(32, 32, 32), | |
570 | - RGB_COLOR(32, 32, 32), | |
571 | - RGB_COLOR(32, 32, 32), | |
572 | - RGB_COLOR(32, 32, 32), | |
573 | - RGB_COLOR(32, 32, 32), | |
574 | - RGB_COLOR(32, 32, 32), | |
575 | - RGB_COLOR(32, 32, 32), | |
576 | - RGB_COLOR(32, 32, 32), | |
577 | - RGB_COLOR(32, 32, 32), | |
578 | - RGB_COLOR(32, 32, 32), | |
579 | - RGB_COLOR(32, 32, 32), | |
580 | - RGB_COLOR(32, 32, 32), | |
581 | - RGB_COLOR(32, 32, 32)}; | |
582 | - | |
470 | +/* Fancy scanline */ | |
471 | +__DECL_VECTORIZED_LOOP | |
583 | 472 | for(int i = 0; i < 16; i++) { |
584 | 473 | #if defined(_RGB888) || defined(_RGBA888) |
585 | 474 | tmp_dd[i] = tmp_dd[i] >> 3; |
@@ -589,14 +478,13 @@ void DISPLAY::GETVRAM_4096(int yoff, scrntype_t *p, scrntype_t *px, | ||
589 | 478 | tmp_dd[i] = tmp_dd[i] >> 2; |
590 | 479 | #endif |
591 | 480 | } |
481 | +__DECL_VECTORIZED_LOOP | |
592 | 482 | for(int i = 0; i < 16; i++) { |
593 | - tmp_dd[i] = tmp_dd[i] & RGBA_COLOR(31, 31, 31, 255); | |
594 | - } | |
595 | - for(int i = 0; i < 16; i++) { | |
483 | + tmp_dd[i] = tmp_dd[i] & (const scrntype_t)RGBA_COLOR(31, 31, 31, 255); | |
596 | 484 | px[i] = tmp_dd[i]; |
597 | 485 | } |
598 | -#endif | |
599 | 486 | } else { |
487 | +__DECL_VECTORIZED_LOOP | |
600 | 488 | for(int i = 0; i < 16; i++) { |
601 | 489 | px[i] = tmp_dd[i]; |
602 | 490 | } |
@@ -658,16 +546,11 @@ void DISPLAY::draw_screen2() | ||
658 | 546 | if(crt_flag_bak) { |
659 | 547 | scrntype_t *ppp; |
660 | 548 | if(display_mode == DISPLAY_MODE_8_200L) { |
661 | -#if 1 | |
662 | 549 | # if !defined(FIXED_FRAMEBUFFER_SIZE) |
663 | 550 | emu->set_vm_screen_size(640, 200, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
664 | 551 | # endif |
665 | 552 | emu->set_vm_screen_lines(200); |
666 | -#endif | |
667 | 553 | #if !defined(FIXED_FRAMEBUFFER_SIZE) |
668 | -#if defined(_OPENMP) | |
669 | -//#pragma omp parallel for shared(vram_draw_table), private(ppp, yy) | |
670 | -#endif | |
671 | 554 | for(y = 0; y < 200; y += 8) { |
672 | 555 | for(yy = 0; yy < 8; yy++) { |
673 | 556 | vram_draw_table[y + yy] = false; |
@@ -676,9 +559,6 @@ void DISPLAY::draw_screen2() | ||
676 | 559 | } |
677 | 560 | } |
678 | 561 | #else |
679 | -#if defined(_OPENMP) | |
680 | -//#pragma omp parallel for shared(vram_draw_table), private(ppp, yy) | |
681 | -#endif | |
682 | 562 | for(y = 0; y < 400; y += 8) { |
683 | 563 | for(yy = 0; yy < 8; yy++) { |
684 | 564 | vram_draw_table[y + yy] = false; |
@@ -688,13 +568,8 @@ void DISPLAY::draw_screen2() | ||
688 | 568 | } |
689 | 569 | #endif |
690 | 570 | } else if(display_mode == DISPLAY_MODE_8_400L) { |
691 | -#if 1 | |
692 | 571 | emu->set_vm_screen_lines(400); |
693 | 572 | emu->set_vm_screen_size(640, 400, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
694 | -#endif | |
695 | -#if defined(_OPENMP) | |
696 | -//#pragma omp parallel for shared(vram_draw_table), private(ppp, yy) | |
697 | -#endif | |
698 | 573 | for(y = 0; y < 400; y += 8) { |
699 | 574 | for(yy = 0; yy < 8; yy++) { |
700 | 575 | vram_draw_table[y + yy] = false; |
@@ -703,16 +578,11 @@ void DISPLAY::draw_screen2() | ||
703 | 578 | } |
704 | 579 | } |
705 | 580 | } else { // 320x200 |
706 | -#if 1 | |
707 | 581 | # if !defined(FIXED_FRAMEBUFFER_SIZE) |
708 | 582 | emu->set_vm_screen_size(320, 200, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
709 | 583 | # endif |
710 | 584 | emu->set_vm_screen_lines(200); |
711 | -#endif | |
712 | 585 | #if !defined(FIXED_FRAMEBUFFER_SIZE) |
713 | -#if defined(_OPENMP) | |
714 | -//#pragma omp parallel for shared(vram_draw_table), private(ppp, yy) | |
715 | -#endif | |
716 | 586 | for(y = 0; y < 200; y += 8) { |
717 | 587 | for(yy = 0; yy < 8; yy++) { |
718 | 588 | vram_draw_table[y + yy] = false; |
@@ -721,9 +591,6 @@ void DISPLAY::draw_screen2() | ||
721 | 591 | } |
722 | 592 | } |
723 | 593 | #else |
724 | -#if defined(_OPENMP) | |
725 | -//#pragma omp parallel for shared(vram_draw_table), private(ppp, yy) | |
726 | -#endif | |
727 | 594 | for(y = 0; y < 400; y++) { |
728 | 595 | for(yy = 0; yy < 8; yy++) { |
729 | 596 | vram_draw_table[y + yy] = false; |
@@ -740,25 +607,13 @@ void DISPLAY::draw_screen2() | ||
740 | 607 | crt_flag_bak = crt_flag; |
741 | 608 | if(!vram_wrote_shadow) return; |
742 | 609 | vram_wrote_shadow = false; |
743 | - //if(palette_changed) { | |
744 | - // for(y = 0; y < 400; y++) { | |
745 | - // vram_draw_table[y] = true; | |
746 | - // } | |
747 | - // palette_changed = false; | |
748 | - //} | |
749 | 610 | if(display_mode == DISPLAY_MODE_8_200L) { |
750 | 611 | int ii; |
751 | -#if 1 | |
752 | 612 | # if !defined(FIXED_FRAMEBUFFER_SIZE) |
753 | 613 | emu->set_vm_screen_size(640, 200, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
754 | 614 | # endif |
755 | 615 | emu->set_vm_screen_lines(200); |
756 | -#endif | |
757 | 616 | yoff = 0; |
758 | - //rgbmask = ~multimode_dispmask; | |
759 | -#if defined(_OPENMP) | |
760 | -//#pragma omp parallel for shared(vram_draw_table), private(p, p2, yoff, ii, x, yy) | |
761 | -#endif | |
762 | 617 | for(y = 0; y < 200; y += 8) { |
763 | 618 | for(yy = 0; yy < 8; yy++) { |
764 | 619 |
@@ -808,21 +663,16 @@ void DISPLAY::draw_screen2() | ||
808 | 663 | } |
809 | 664 | # if defined(_FM77AV_VARIANTS) |
810 | 665 | if(display_mode == DISPLAY_MODE_4096) { |
811 | -#if 1 | |
812 | 666 | # if !defined(FIXED_FRAMEBUFFER_SIZE) |
813 | 667 | emu->set_vm_screen_size(320, 200, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
814 | 668 | # endif |
815 | 669 | emu->set_vm_screen_lines(200); |
816 | -#endif | |
817 | 670 | uint32_t mask = 0; |
818 | 671 | int ii; |
819 | 672 | yoff = 0; |
820 | 673 | if(!multimode_dispflags[0]) mask = 0x00f; |
821 | 674 | if(!multimode_dispflags[1]) mask = mask | 0x0f0; |
822 | 675 | if(!multimode_dispflags[2]) mask = mask | 0xf00; |
823 | -#if defined(_OPENMP) | |
824 | -//#pragma omp parallel for shared(vram_draw_table), private(p, p2, yoff, ii, x, yy) | |
825 | -#endif | |
826 | 676 | for(y = 0; y < 200; y += 4) { |
827 | 677 | for(yy = 0; yy < 4; yy++) { |
828 | 678 | if(!vram_draw_table[y + yy]) continue; |
@@ -877,15 +727,10 @@ void DISPLAY::draw_screen2() | ||
877 | 727 | # if defined(_FM77AV40) || defined(_FM77AV40EX) || defined(_FM77AV40SX) |
878 | 728 | else if(display_mode == DISPLAY_MODE_8_400L) { |
879 | 729 | int ii; |
880 | -#if 1 | |
881 | 730 | emu->set_vm_screen_size(640, 400, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
882 | 731 | emu->set_vm_screen_lines(400); |
883 | -#endif | |
884 | 732 | yoff = 0; |
885 | 733 | //rgbmask = ~multimode_dispmask; |
886 | -#if defined(_OPENMP) | |
887 | -//#pragma omp parallel for shared(vram_draw_table), private(pp, p, yoff, x, ii, yy) | |
888 | -#endif | |
889 | 734 | for(y = 0; y < 400; y += 8) { |
890 | 735 | for(yy = 0; yy < 8; yy++) { |
891 | 736 | if(!vram_draw_table[y + yy]) continue; |
@@ -921,17 +766,12 @@ void DISPLAY::draw_screen2() | ||
921 | 766 | return; |
922 | 767 | } else if(display_mode == DISPLAY_MODE_256k) { |
923 | 768 | int ii; |
924 | -#if 1 | |
925 | 769 | # if !defined(FIXED_FRAMEBUFFER_SIZE) |
926 | 770 | emu->set_vm_screen_size(320, 200, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH_ASPECT, WINDOW_HEIGHT_ASPECT); |
927 | 771 | # endif |
928 | 772 | emu->set_vm_screen_lines(200); |
929 | -#endif | |
930 | 773 | //rgbmask = ~multimode_dispmask; |
931 | 774 | // |
932 | -#if defined(_OPENMP) | |
933 | -//#pragma omp parallel for shared(vram_draw_table), private(pp, p, yoff, x, ii, yy) | |
934 | -#endif | |
935 | 775 | for(y = 0; y < 200; y += 4) { |
936 | 776 | for(yy = 0; yy < 4; yy++) { |
937 | 777 | if(!vram_draw_table[y + yy]) continue; |