Mercurial > repos > blastem
comparison sms.c @ 1401:b56c8c51ca5d
Properly release and reacquire framebuffer pointer when switching contexts. Hopefully fixes the LOCKRECT issue some people are seeing with the SDL 2 fallback renderer
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 15 Jun 2017 09:45:21 -0700 |
parents | 1df16f5985f3 |
children | c886c54d8cf1 |
comparison
equal
deleted
inserted
replaced
1400:6a0e3bb6981f | 1401:b56c8c51ca5d |
---|---|
224 vdp_adjust_cycles(sms->vdp, adjust); | 224 vdp_adjust_cycles(sms->vdp, adjust); |
225 sms->psg->cycles -= adjust; | 225 sms->psg->cycles -= adjust; |
226 target_cycle -= adjust; | 226 target_cycle -= adjust; |
227 } | 227 } |
228 } | 228 } |
229 vdp_release_framebuffer(sms->vdp); | |
229 sms->should_return = 0; | 230 sms->should_return = 0; |
230 render_enable_ym(); | 231 render_enable_ym(); |
232 } | |
233 | |
234 static void resume_sms(system_header *system) | |
235 { | |
236 sms_context *sms = (sms_context *)system; | |
237 vdp_reacquire_framebuffer(sms->vdp); | |
238 run_sms(system); | |
231 } | 239 } |
232 | 240 |
233 static void start_sms(system_header *system, char *statefile) | 241 static void start_sms(system_header *system, char *statefile) |
234 { | 242 { |
235 sms_context *sms = (sms_context *)system; | 243 sms_context *sms = (sms_context *)system; |
359 | 367 |
360 setup_io_devices(config, info_out, &sms->io); | 368 setup_io_devices(config, info_out, &sms->io); |
361 | 369 |
362 sms->header.set_speed_percent = set_speed_percent; | 370 sms->header.set_speed_percent = set_speed_percent; |
363 sms->header.start_context = start_sms; | 371 sms->header.start_context = start_sms; |
364 sms->header.resume_context = run_sms; | 372 sms->header.resume_context = resume_sms; |
365 sms->header.load_save = load_save; | 373 sms->header.load_save = load_save; |
366 sms->header.persist_save = persist_save; | 374 sms->header.persist_save = persist_save; |
367 sms->header.free_context = free_sms; | 375 sms->header.free_context = free_sms; |
368 sms->header.get_open_bus_value = get_open_bus_value; | 376 sms->header.get_open_bus_value = get_open_bus_value; |
369 sms->header.request_exit = request_exit; | 377 sms->header.request_exit = request_exit; |