fix for tearing (depends on libtransistor commit cf5d0403 in v2.0.0, which is yet to be released)
This commit is contained in:
parent
0045e1fff2
commit
1404b63219
|
@ -232,13 +232,14 @@ static bool switch_frame(void *data, const void *frame,
|
||||||
RARCH_LOG("message: %s\n", msg);
|
RARCH_LOG("message: %s\n", msg);
|
||||||
|
|
||||||
r = surface_dequeue_buffer(&sw->surface, &out_buffer);
|
r = surface_dequeue_buffer(&sw->surface, &out_buffer);
|
||||||
if (sw->vsync)
|
|
||||||
switch_wait_vsync(sw);
|
|
||||||
svcSleepThread(10000);
|
|
||||||
if(r != RESULT_OK) {
|
if(r != RESULT_OK) {
|
||||||
return true; // just skip the frame
|
return true; // just skip the frame
|
||||||
}
|
}
|
||||||
|
|
||||||
|
r = surface_wait_buffer(&sw->surface);
|
||||||
|
if(r != RESULT_OK) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
gfx_slow_swizzling_blit(out_buffer, sw->image, 1280, 720, 0, 0);
|
gfx_slow_swizzling_blit(out_buffer, sw->image, 1280, 720, 0, 0);
|
||||||
|
|
||||||
r = surface_queue_buffer(&sw->surface);
|
r = surface_queue_buffer(&sw->surface);
|
||||||
|
|
Loading…
Reference in New Issue