Don't "shrink" internal upscaled buffers with a smaller virtual width/height

while this did "work", and mimicked other emulators handling internal upscaling, it was a hack, and ends up causing issue with lua padding. it is also more unneeded now that #4029 (makes the UX of a sudden "large window" more managable) and #4011 (allowing for mimicking the frozen smaller window state) are merged

resolves #4039
This commit is contained in:
CasualPokePlayer 2024-09-19 01:42:48 -07:00
parent e568305499
commit 67cba14e38
4 changed files with 5 additions and 10 deletions

View File

@ -53,7 +53,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.N3DS
private void OnVideoRefresh()
{
_core.Encore_GetVideoVirtualDimensions(_context, out _encoreVideoProvider.VW, out _encoreVideoProvider.VH);
_core.Encore_GetVideoBufferDimensions(_context, out _encoreVideoProvider.BW, out _encoreVideoProvider.BH);
_encoreVideoProvider.VideoDirty = true;

View File

@ -4,8 +4,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.N3DS
{
public class EncoreVideoProvider : IVideoProvider
{
internal int VW = 400;
internal int VH = 480;
internal int BW = 400;
internal int BH = 480;
internal bool VideoDirty;
@ -20,8 +18,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.N3DS
}
// ReSharper disable ConvertToAutoPropertyWhenPossible
public int VirtualWidth => VW;
public int VirtualHeight => VH;
public int VirtualWidth => BW;
public int VirtualHeight => BH;
public int BufferWidth => BW;
public int BufferHeight => BH;
public int VsyncNumerator => 268111856;

View File

@ -33,8 +33,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
return vb;
}
public int VirtualWidth { get; internal set; }
public int VirtualHeight { get; internal set; }
public int VirtualWidth => _vp.BufferWidth;
public int VirtualHeight => _vp.BufferHeight;
public int BufferWidth => _vp.BufferWidth;
public int BufferHeight => _vp.BufferHeight;
public int VsyncNumerator => _vp.VsyncNumerator;

View File

@ -474,12 +474,10 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
};
_openGLProvider.ActivateGLContext(_glContext); // SetScreenSettings will re-present the frame, so needs OpenGL context active
_core.SetScreenSettings(_console, ref screenSettings, out var w , out var h, out var vw, out var vh);
_core.SetScreenSettings(_console, ref screenSettings, out var w , out var h, out _, out _);
BufferWidth = w;
BufferHeight = h;
_glTextureProvider.VirtualWidth = vw;
_glTextureProvider.VirtualHeight = vh;
_glTextureProvider.VideoDirty = true;
}