dreamcast/holly/core.hpp
Zack Buhman a71ac1c4b1 suzanne_profile: remove tearing
Though I did spend much time thinking about this, my idea was not correct.

The "tearing" and "previous frame is being shown while it is being drawn" is
simply because that's exactly what the logic in holly/core.cpp did.

This is no longer the case--by the time the newly-created core_flip function is
called, the core render is complete, and we should switch the FB_R_SOF1 to the
current framebuffer, not the one that is going to be written on next frame.

This also modifies alt.lds so that (non-startup) code now runs in the P1 area,
with operand/instruction/copyback caches enabled. This caused a 10x speed
increase in my testing.
2024-02-02 13:11:32 +08:00

13 lines
386 B
C++

#pragma once
void core_init();
void core_start_render(uint32_t frame_address,
uint32_t frame_linestride, // in pixels
uint32_t frame_size, // in bytes
uint32_t frame_ix, uint32_t num_frames);
void core_start_render(uint32_t frame_ix, uint32_t num_frames);
void core_wait_end_of_render_video();
void core_flip(uint32_t frame_ix, uint32_t num_frames);