summaryrefslogtreecommitdiff
path: root/ppu.c
diff options
context:
space:
mode:
Diffstat (limited to 'ppu.c')
-rw-r--r--ppu.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ppu.c b/ppu.c
index 570f3dd..e0fce44 100644
--- a/ppu.c
+++ b/ppu.c
@@ -103,7 +103,7 @@ static inline void ppu_fetch_sprite_patterns(struct nes_state *state) {
}
}
-__attribute__((hot, flatten))
+__attribute__((always_inline, hot, flatten))
static inline void ppu_render_pixel(struct nes_state *state) {
struct ppu_state *restrict ppu = &state->ppu;
@@ -171,6 +171,7 @@ static inline void ppu_render_pixel(struct nes_state *state) {
}
__attribute__((hot, flatten))
+__attribute__((optimize("no-jump-tables")))
static inline void ppu_tick(struct nes_state *state) {
struct ppu_state *restrict ppu = &state->ppu;
@@ -178,7 +179,7 @@ static inline void ppu_tick(struct nes_state *state) {
uint32_t scanline = ppu->scanline;
uint8_t rendering = (ppu->reg_mask & 0x18);
- for(uint32_t ppu_loops = 0; ppu_loops < 3; ++ppu_loops) {
+ for(uint8_t ppu_loops = 0; ppu_loops < 3; ++ppu_loops) {
if(rendering) {
switch(scanline) {