trunk/src/mame/video/gticlub.c
| r20686 | r20687 | |
| 11 | 11 | TODO: |
| 12 | 12 | - Fog equation and parameters are probably not accurate. |
| 13 | 13 | - Winding Heat (and maybe others) have slight Z-fighting problems. |
| 14 | | - 3D isn't always turned off properly (during title screens for example). |
| 15 | | Figure out what controls this. Video mixer, layer priority or some 3D register? |
| 14 | - 3D in Solar Assault title isn't properly turned off (the SHARC keeps rendering 3D). |
| 16 | 15 | |
| 17 | 16 | */ |
| 18 | 17 | |
| r20686 | r20687 | |
| 512 | 511 | K001005_fifo_write_ptr = 0; |
| 513 | 512 | K001005_fifo_read_ptr = 0; |
| 514 | 513 | |
| 515 | | if (data == 2 && K001005_3d_fifo_ptr > 0) |
| 514 | if (data == 2) |
| 516 | 515 | { |
| 517 | | render_polygons(space.machine()); |
| 518 | | poly_wait(poly, "render_polygons"); |
| 516 | if (K001005_3d_fifo_ptr > 0) |
| 517 | { |
| 518 | render_polygons(space.machine()); |
| 519 | poly_wait(poly, "render_polygons"); |
| 519 | 520 | |
| 520 | 521 | #if LOG_POLY_FIFO |
| 521 | | count = 0; |
| 522 | | printf("\nrender %d\n", K001005_3d_fifo_ptr); |
| 523 | | printf("------------------------------------\n"); |
| 522 | count = 0; |
| 523 | printf("\nrender %d\n", K001005_3d_fifo_ptr); |
| 524 | printf("------------------------------------\n"); |
| 524 | 525 | #endif |
| 525 | 526 | |
| 526 | | K001005_3d_fifo_ptr = 0; |
| 527 | K001005_3d_fifo_ptr = 0; |
| 528 | } |
| 529 | |
| 527 | 530 | K001005_swap_buffers(space.machine()); |
| 528 | 531 | } |
| 529 | 532 | break; |
| r20686 | r20687 | |
| 1470 | 1473 | poly_render_quad(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline_2d_tex, 5, &v[0], &v[1], &v[2], &v[3]); |
| 1471 | 1474 | } |
| 1472 | 1475 | } |
| 1473 | | else if (cmd == 0x80000121) |
| 1476 | else if (cmd == 0x80000121 || cmd == 0x80000126) |
| 1474 | 1477 | { |
| 1475 | 1478 | // no texture, color gouraud, Z |
| 1476 | 1479 | |