File tree 2 files changed +28
-2
lines changed
2 files changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -28,8 +28,8 @@ bool libretro_supports_bitmasks = false;
28
28
29
29
int fb_width = 640 ;
30
30
int fb_height = 480 ;
31
- int max_width = 3840 ;
32
- int max_height = 2160 ;
31
+ int max_width = fb_width ;
32
+ int max_height = fb_height ;
33
33
float retro_aspect = (float )4 .0f / (float )3 .0f ;
34
34
float view_aspect = 1 .0f ;
35
35
float retro_fps = 60.0 ;
Original file line number Diff line number Diff line change 36
36
#include " modules/render/drawretro.h"
37
37
#include " modules/monitor/monitor_common.h"
38
38
39
+ extern int max_width;
40
+ extern int max_height;
41
+ extern bool retro_load_ok;
39
42
40
43
// ============================================================
41
44
// PARAMETERS
@@ -523,6 +526,29 @@ void retro_window_info::update()
523
526
if (rotation_allow
524
527
&& (machine ().system ().flags & ORIENTATION_SWAP_XY))
525
528
retro_aspect = 1 .0f / retro_aspect;
529
+
530
+ /* Enlarge maximum geometry always */
531
+ if (fb_width > max_width || fb_height > max_height)
532
+ {
533
+ max_width = fb_width;
534
+ max_height = fb_height;
535
+ video_changed = 1 ;
536
+ }
537
+
538
+ /* Shrink geometry to native in native resolution renderer */
539
+ if (!alternate_renderer)
540
+ {
541
+ if (fb_width < max_width || fb_height < max_height)
542
+ {
543
+ max_width = fb_width;
544
+ max_height = fb_height;
545
+ video_changed = 1 ;
546
+ }
547
+ }
548
+
549
+ /* No reason to call av_info when not yet running */
550
+ if (!retro_load_ok)
551
+ video_changed = 0 ;
526
552
}
527
553
528
554
if (!this ->m_fullscreen )
You can’t perform that action at this time.
0 commit comments