use FunKey-Emulator-mednafen-0.9.48 for package mednafen

This commit is contained in:
Michel-FK 2020-05-17 17:37:12 +02:00
parent 7aff716615
commit 613de3c615
5 changed files with 13 additions and 524 deletions

View File

@ -70,7 +70,7 @@ BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_NANO=y BR2_PACKAGE_NANO=y
BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="64M" BR2_TARGET_ROOTFS_EXT2_SIZE="66M"
# BR2_TARGET_ROOTFS_TAR is not set # BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y

View File

@ -1,482 +0,0 @@
Disable OpenGL support.
Signed-off-by: "Michel Stempin" <michel.stempin@wanadoo.fr>
---
po/POTFILES.in | 2
src/drivers/Makefile.in | 12 +---
src/drivers/main.cpp | 2
src/drivers/video.cpp | 208 ++++-------------------------------------------------------------------
4 files changed, 17 insertions(+), 207 deletions(-)
diff -Naur a/po/POTFILES.in b/po/POTFILES.in
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -59,8 +59,6 @@
src/drivers/help.cpp
src/drivers/debugger.cpp
src/drivers/video-state.cpp
-src/drivers/opengl.cpp
-src/drivers/shader.cpp
src/drivers/hq2x.cpp
src/drivers/netplay.cpp
src/drivers/scalebit.c
diff -Naur a/src/drivers/Makefile.in b/src/drivers/Makefile.in
--- a/src/drivers/Makefile.in
+++ b/src/drivers/Makefile.in
@@ -124,7 +124,7 @@
am__libmdfnsdl_a_SOURCES_DIST = main.cpp input.cpp args.cpp help.cpp \
ers.cpp sound.cpp netplay.cpp input-config.cpp console.cpp \
cheat.cpp fps.cpp video-state.cpp remote.cpp rmdui.cpp \
- opengl.cpp shader.cpp overlay.cpp video.cpp nongl.cpp nnx.cpp \
+ overlay.cpp video.cpp nongl.cpp nnx.cpp \
thread_win32.cpp thread_sdl.cpp hqxx-common.cpp hq2x.cpp \
hq3x.cpp hq4x.cpp scale2x.c scale3x.c scalebit.c 2xSaI.cpp \
Joystick.cpp Joystick_SDL.cpp Joystick_Linux.cpp \
@@ -148,8 +148,8 @@
args.$(OBJEXT) help.$(OBJEXT) ers.$(OBJEXT) sound.$(OBJEXT) \
netplay.$(OBJEXT) input-config.$(OBJEXT) console.$(OBJEXT) \
cheat.$(OBJEXT) fps.$(OBJEXT) video-state.$(OBJEXT) \
- remote.$(OBJEXT) rmdui.$(OBJEXT) opengl.$(OBJEXT) \
- shader.$(OBJEXT) overlay.$(OBJEXT) video.$(OBJEXT) \
+ remote.$(OBJEXT) rmdui.$(OBJEXT) \
+ overlay.$(OBJEXT) video.$(OBJEXT) \
nongl.$(OBJEXT) nnx.$(OBJEXT) $(am__objects_1) \
$(am__objects_2) $(am__objects_3) Joystick.$(OBJEXT) \
Joystick_SDL.$(OBJEXT) $(am__objects_4) $(am__objects_5) \
@@ -405,8 +405,8 @@
noinst_LIBRARIES = libmdfnsdl.a
libmdfnsdl_a_SOURCES = main.cpp input.cpp args.cpp help.cpp ers.cpp \
sound.cpp netplay.cpp input-config.cpp console.cpp cheat.cpp \
- fps.cpp video-state.cpp remote.cpp rmdui.cpp opengl.cpp \
- shader.cpp overlay.cpp video.cpp nongl.cpp nnx.cpp \
+ fps.cpp video-state.cpp remote.cpp rmdui.cpp \
+ overlay.cpp video.cpp nongl.cpp nnx.cpp \
$(am__append_1) $(am__append_2) $(am__append_3) Joystick.cpp \
Joystick_SDL.cpp $(am__append_4) $(am__append_5) \
$(am__append_6)
@@ -485,7 +485,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netplay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nnx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nongl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opengl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/overlay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prompt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote.Po@am__quote@
@@ -493,7 +492,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scale2x.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scale3x.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalebit.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shader.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread_sdl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread_win32.Po@am__quote@
diff -Naur a/src/drivers/main.cpp b/src/drivers/main.cpp
--- a/src/drivers/main.cpp
+++ b/src/drivers/main.cpp
@@ -42,8 +42,6 @@
#include "input.h"
#include "Joystick.h"
#include "video.h"
-#include "opengl.h"
-#include "shader.h"
#include "sound.h"
#include "netplay.h"
#include "cheat.h"
diff -Naur a/src/drivers/video.cpp b/src/drivers/video.cpp
--- a/src/drivers/video.cpp
+++ b/src/drivers/video.cpp
@@ -25,8 +25,6 @@
#include <trio/trio.h>
#include "video.h"
-#include "opengl.h"
-#include "shader.h"
#include "nongl.h"
#include "overlay.h"
@@ -147,7 +145,7 @@
static const MDFNSetting GlobalVideoSettings[] =
{
- { "video.driver", MDFNSF_NOFLAGS, gettext_noop("Video output method/driver."), NULL, MDFNST_ENUM, "opengl", NULL, NULL, NULL, NULL, VDriver_List },
+ { "video.driver", MDFNSF_NOFLAGS, gettext_noop("Video output method/driver."), NULL, MDFNST_ENUM, "sdl", NULL, NULL, NULL, NULL, VDriver_List },
{ "video.fs", MDFNSF_NOFLAGS, gettext_noop("Enable fullscreen mode."), NULL, MDFNST_BOOL, "0", },
{ "video.glvsync", MDFNSF_NOFLAGS, gettext_noop("Attempt to synchronize OpenGL page flips to vertical retrace period."),
@@ -216,37 +214,6 @@
{ NULL, 0 },
};
-static const MDFNSetting_EnumList Shader_List[] =
-{
- { "none", SHADER_NONE, gettext_noop("None/Disabled") },
- { "autoip", SHADER_AUTOIP, gettext_noop("Auto Interpolation"), gettext_noop("Will automatically interpolate on each axis if the corresponding effective scaling factor is not an integer.") },
- { "autoipsharper", SHADER_AUTOIPSHARPER, gettext_noop("Sharper Auto Interpolation"), gettext_noop("Same as \"autoip\", but when interpolation is done, it is done in a manner that will reduce blurriness if possible.") },
- { "scale2x", SHADER_SCALE2X, "Scale2x" },
- { "sabr", SHADER_SABR, "SABR v3.0", gettext_noop("GPU-intensive.") },
- { "ipsharper", SHADER_IPSHARPER, gettext_noop("Sharper bilinear interpolation.") },
- { "ipxnoty", SHADER_IPXNOTY, gettext_noop("Linear interpolation on X axis only.") },
- { "ipynotx", SHADER_IPYNOTX, gettext_noop("Linear interpolation on Y axis only.") },
- { "ipxnotysharper", SHADER_IPXNOTYSHARPER, gettext_noop("Sharper version of \"ipxnoty\".") },
- { "ipynotxsharper", SHADER_IPYNOTXSHARPER, gettext_noop("Sharper version of \"ipynotx\".") },
-
- { "goat", SHADER_GOAT, gettext_noop("Simple approximation of a color TV CRT look."), gettext_noop("Intended for fullscreen modes with a vertical resolution of around 1000 to 1500 pixels. Doesn't simulate halation and electron beam energy distribution nuances.") },
-
- { NULL, 0 },
-};
-
-static const MDFNSetting_EnumList GoatPat_List[] =
-{
- { "goatron", ShaderParams::GOAT_MASKPAT_GOATRON, gettext_noop("Goatron"), gettext_noop("Brightest.") },
- { "goattron", ShaderParams::GOAT_MASKPAT_GOATRON },
- { "goatronprime", ShaderParams::GOAT_MASKPAT_GOATRONPRIME },
- { "goattronprime", ShaderParams::GOAT_MASKPAT_GOATRONPRIME },
-
- { "borg", ShaderParams::GOAT_MASKPAT_BORG, gettext_noop("Borg"), gettext_noop("Darkest.") },
- { "slenderman", ShaderParams::GOAT_MASKPAT_SLENDERMAN, gettext_noop("Slenderman"), gettext_noop("Spookiest?") },
-
- { NULL, 0 },
-};
-
void Video_MakeSettings(std::vector <MDFNSetting> &settings)
{
static const char *CSD_xres = gettext_noop("Full-screen horizontal resolution.");
@@ -270,9 +237,6 @@
static const char *CSD_special = gettext_noop("Enable specified special video scaler.");
static const char *CSDE_special = gettext_noop("The destination rectangle is NOT altered by this setting, so if you have xscale and yscale set to \"2\", and try to use a 3x scaling filter like hq3x, the image is not going to look that great. The nearest-neighbor scalers are intended for use with bilinear interpolation enabled, at high resolutions(such as 1280x1024; nn2x(or nny2x) + bilinear interpolation + fullscreen stretching at this resolution looks quite nice).");
- static const char *CSD_shader = gettext_noop("Enable specified OpenGL shader.");
- static const char *CSDE_shader = gettext_noop("Obviously, this will only work with the OpenGL \"video.driver\" setting, and only on cards and OpenGL implementations that support shaders, otherwise you will get a black screen, or Mednafen may display an error message when starting up. When a shader is enabled, the \"<system>.videoip\" setting is ignored.");
-
for(unsigned int i = 0; i < MDFNSystems.size() + 1; i++)
{
int nominal_width;
@@ -339,27 +303,6 @@
BuildSystemSetting(&setting, sysname, "special", CSD_special, CSDE_special, MDFNST_ENUM, "none", NULL, NULL, NULL, NULL, Special_List);
settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader", CSD_shader, CSDE_shader, MDFNST_ENUM, "none", NULL, NULL, NULL, NULL, Shader_List);
- settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader.goat.hdiv", gettext_noop("Constant RGB horizontal divergence."), nullptr, MDFNST_FLOAT, "0.50", "-2.00", "2.00");
- settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader.goat.vdiv", gettext_noop("Constant RGB vertical divergence."), nullptr, MDFNST_FLOAT, "0.50", "-2.00", "2.00");
- settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader.goat.pat", gettext_noop("Mask pattern."), nullptr, MDFNST_ENUM, "goatron", NULL, NULL, NULL, NULL, GoatPat_List);
- settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader.goat.tp", gettext_noop("Transparency of otherwise-opaque mask areas."), nullptr, MDFNST_FLOAT, "0.50", "0.00", "1.00");
- settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader.goat.fprog", gettext_noop("Force interlaced video to be treated as progressive."), gettext_noop("When disabled, the default, the \"video.deinterlacer\" setting is effectively ignored with respect to what appears on the screen. When enabled, it may be prudent to disable the scanlines effect controlled by the *.goat.slen setting, or else the scanline effect may look objectionable."), MDFNST_BOOL, "0");
- settings.push_back(setting);
-
- BuildSystemSetting(&setting, sysname, "shader.goat.slen", gettext_noop("Enable scanlines effect."), nullptr, MDFNST_BOOL, "1");
- settings.push_back(setting);
}
for(unsigned i = 0; i < sizeof(GlobalVideoSettings) / sizeof(GlobalVideoSettings[0]); i++)
@@ -377,15 +320,13 @@
int stretch;
int special;
int scanlines;
- ShaderType shader;
- ShaderParams shader_params;
} CommonVS;
static CommonVS _video;
static int _fullscreen;
static bool osd_alpha_blend;
-static unsigned int vdriver = VDRIVER_OPENGL;
+static unsigned int vdriver = VDRIVER_SOFTSDL;
static struct ScalerDefinition
{
@@ -417,8 +358,6 @@
static MDFNGI *VideoGI;
-static bool sdlhaveogl = false;
-
static int best_xres = 0, best_yres = 0;
static int cur_xres, cur_yres, cur_flags;
@@ -426,7 +365,6 @@
static ScalerDefinition *CurrentScaler = NULL;
static SDL_Surface *screen = NULL;
-static OpenGL_Blitter *ogl_blitter = NULL;
static SDL_Surface *IconSurface=NULL;
static MDFN_Rect screen_dest_rect;
@@ -456,12 +394,6 @@
static void ClearBackBuffer(void)
{
//printf("WOO: %u\n", Time::MonoMS());
- if(ogl_blitter)
- {
- ogl_blitter->ClearBackBuffer();
- }
- else
- {
// Don't use SDL_FillRect() on hardware surfaces, it's borked(causes a long wait) with DirectX.
// ...on second thought, memset() is likely borked on PPC with hardware surface memory due to use of "dcbz" on uncachable memory. :(
//
@@ -480,7 +412,6 @@
{
SDL_FillRect(screen, NULL, 0);
}
- }
}
void Video_Kill(void)
@@ -505,12 +436,6 @@
HelpSurface = NULL;
}
- if(ogl_blitter)
- {
- delete ogl_blitter;
- ogl_blitter = NULL;
- }
-
if(vdriver == VDRIVER_OVERLAY)
OV_Kill();
@@ -778,7 +703,6 @@
const std::string special_string = MDFN_GetSettingS(snp + std::string("special"));
const unsigned special_id = MDFN_GetSettingUI(snp + std::string("special"));
- const std::string goat_pat_string = MDFN_GetSettingS(snp + "shader.goat.pat");
_fullscreen = MDFN_GetSettingB("video.fs");
_video.xres = MDFN_GetSettingUI(snp + "xres");
@@ -793,14 +717,6 @@
_video.special = special_id;
- _video.shader = (ShaderType)MDFN_GetSettingI(snp + "shader");
- _video.shader_params.goat_hdiv = MDFN_GetSettingF(snp + "shader.goat.hdiv");
- _video.shader_params.goat_vdiv = MDFN_GetSettingF(snp + "shader.goat.vdiv");
- _video.shader_params.goat_pat = MDFN_GetSettingI(snp + "shader.goat.pat");
- _video.shader_params.goat_tp = MDFN_GetSettingF(snp + "shader.goat.tp");
- _video.shader_params.goat_slen = MDFN_GetSettingB(snp + "shader.goat.slen");
- _video.shader_params.goat_fprog = MDFN_GetSettingB(snp + "shader.goat.fprog");
-
CurrentScaler = nullptr;
for(auto& scaler : Scalers)
if(_video.special == scaler.id)
@@ -830,42 +746,7 @@
vdriver = MDFN_GetSettingI("video.driver");
- if(vdriver == VDRIVER_OPENGL)
- {
- if(!sdlhaveogl)
- {
- // SDL_GL_LoadLibrary returns 0 on success, -1 on failure
- if(SDL_GL_LoadLibrary(NULL) == 0)
- sdlhaveogl = true;
- else
- sdlhaveogl = false;
- }
-
- if(!sdlhaveogl)
- {
- MDFN_PrintError(_("Could not load OpenGL library, disabling OpenGL usage!"));
- vdriver = VDRIVER_SOFTSDL;
- }
- }
-
- if(vdriver == VDRIVER_OPENGL)
- {
- flags |= SDL_OPENGL;
-
- SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1 );
-
- #if SDL_VERSION_ATLEAST(1, 2, 10)
- SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, MDFN_GetSettingB("video.glvsync"));
- #endif
- }
- else if(vdriver == VDRIVER_SOFTSDL)
- {
-
- }
- else if(vdriver == VDRIVER_OVERLAY)
- {
-
- }
+ vdriver = VDRIVER_SOFTSDL;
exs = _fullscreen ? _video.xscalefs : _video.xscale;
eys = _fullscreen ? _video.yscalefs : _video.yscale;
@@ -935,18 +816,6 @@
//MDFN_printf(_("OpenGL: %s\n"), (cur_flags & SDL_OPENGL) ? _("Yes") : _("No"));
- if(cur_flags & SDL_OPENGL)
- {
- MDFN_AutoIndent aindps;
- char sp[128] = { 0 };
-
- if(_video.shader == SHADER_GOAT)
- trio_snprintf(sp, sizeof(sp), " (pat=%s, hdiv=%f, vdiv=%f, tp=%f, slen=%d, fprog=%d)",
- goat_pat_string.c_str(), _video.shader_params.goat_hdiv, _video.shader_params.goat_vdiv, _video.shader_params.goat_tp, _video.shader_params.goat_slen, _video.shader_params.goat_fprog);
-
- MDFN_printf(_("Shader: %s%s\n"), MDFN_GetSettingS(snp + "shader").c_str(), sp);
- }
-
MDFN_printf(_("Fullscreen: %s\n"), _fullscreen ? _("Yes") : _("No"));
MDFN_printf(_("Special Scaler: %s\n"), (special_id == NTVB_NONE) ? _("None") : special_string.c_str());
@@ -973,28 +842,13 @@
int rs, gs, bs, as;
- if(cur_flags & SDL_OPENGL)
- {
- try
- {
- ogl_blitter = new OpenGL_Blitter(_video.scanlines, _video.shader, _video.shader_params, screen->w, screen->h, &rs, &gs, &bs, &as);
- }
- catch(std::exception &e)
- {
- Video_Kill();
- throw;
- }
- }
- else
- {
- rs = screen->format->Rshift;
- gs = screen->format->Gshift;
- bs = screen->format->Bshift;
+ rs = screen->format->Rshift;
+ gs = screen->format->Gshift;
+ bs = screen->format->Bshift;
- as = 0;
- while(as == rs || as == gs || as == bs) // Find unused 8-bits to use as our alpha channel
+ as = 0;
+ while(as == rs || as == gs || as == bs) // Find unused 8-bits to use as our alpha channel
as += 8;
- }
//printf("%d %d %d %d\n", rs, gs, bs, as);
@@ -1075,13 +929,7 @@
{
ClearBackBuffer();
- if(cur_flags & SDL_OPENGL)
- {
- SDL_GL_SwapBuffers();
- //ogl_blitter->HardSync();
- }
- else
- SDL_Flip(screen);
+ SDL_Flip(screen);
}
MarkNeedBBClear();
@@ -1108,15 +956,10 @@
void BlitRaw(MDFN_Surface *src, const MDFN_Rect *src_rect, const MDFN_Rect *dest_rect, int source_alpha)
{
- if(ogl_blitter)
- ogl_blitter->BlitRaw(src, src_rect, dest_rect, (source_alpha != 0) && osd_alpha_blend);
- else
- {
SDL_to_MDFN_Surface_Wrapper m_surface(screen);
//MDFN_SrcAlphaBlitSurface(src, src_rect, &m_surface, dest_rect);
MDFN_StretchBlitSurface(src, *src_rect, &m_surface, *dest_rect, (source_alpha > 0) && osd_alpha_blend);
- }
bool cond1 = (dest_rect->x < screen_dest_rect.x || (dest_rect->x + dest_rect->w) > (screen_dest_rect.x + screen_dest_rect.w));
bool cond2 = (dest_rect->y < screen_dest_rect.y || (dest_rect->y + dest_rect->h) > (screen_dest_rect.y + screen_dest_rect.h));
@@ -1287,10 +1130,6 @@
}
#endif
- if(ogl_blitter)
- ogl_blitter->Blit(&bah_surface, &boohoo_rect, &dest_rect, &eff_src_rect, InterlaceField, evideoip, CurGame->rotated);
- else
- {
if(OverlayOK)
{
SDL_Rect tr;
@@ -1308,14 +1147,9 @@
MDFN_StretchBlitSurface(&bah_surface, boohoo_rect, &m_surface, dest_rect, false, _video.scanlines, &eff_src_rect, CurGame->rotated, InterlaceField);
}
- }
}
else // No special scaler:
{
- if(ogl_blitter)
- ogl_blitter->Blit(eff_source_surface, &eff_src_rect, &dest_rect, &eff_src_rect, InterlaceField, evideoip, CurGame->rotated);
- else
- {
if(OverlayOK)
{
SDL_Rect tr;
@@ -1333,7 +1167,6 @@
MDFN_StretchBlitSurface(eff_source_surface, eff_src_rect, &m_surface, dest_rect, false, _video.scanlines, &eff_src_rect, CurGame->rotated, InterlaceField);
}
- }
}
}
@@ -1512,10 +1345,6 @@
ib.reset(new MDFN_Surface(NULL, sr.w, sr.h, sr.w, MDFN_PixelFormat(MDFN_COLORSPACE_RGB, real_rs, real_gs, real_bs, real_as)));
- if(ogl_blitter)
- ogl_blitter->ReadPixels(ib.get(), &sr);
- else
- {
if(SDL_MUSTLOCK(screen))
SDL_LockSurface(screen);
@@ -1529,7 +1358,6 @@
if(SDL_MUSTLOCK(screen))
SDL_UnlockSurface(screen);
- }
tr.x = tr.y = 0;
@@ -1629,25 +1457,13 @@
// but that gets awfully complicated and prone to bugs when dealing with double/triple-buffered video...).
//
// std::max so we don't position it offscreen if the user has selected xscalefs or yscalefs values that are too large.
- if(!(cur_flags & SDL_OPENGL))
- {
- fps_offsx = std::max<int32>(screen_dest_rect.x, 0);
- fps_offsy = std::max<int32>(screen_dest_rect.y, 0);
- }
+ fps_offsx = std::max<int32>(screen_dest_rect.x, 0);
+ fps_offsy = std::max<int32>(screen_dest_rect.y, 0);
FPS_DrawToScreen(screen, real_rs, real_gs, real_bs, real_as, fps_offsx, fps_offsy);
}
- if(!(cur_flags & SDL_OPENGL))
- {
- if(!OverlayOK)
+ if(!OverlayOK)
SDL_Flip(screen);
- }
- else
- {
- PumpWrap();
- SDL_GL_SwapBuffers();
- //ogl_blitter->HardSync();
- }
}
void Video_PtoV(const int in_x, const int in_y, int32 *out_x, int32 *out_y)

View File

@ -1,37 +0,0 @@
Removed buggy test for GCC 81740 bug.
Signed-off-by: "Michel Stempin" <michel.stempin@wanadoo.fr>
---
tests.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- mednafen-0.9.48.orig/src/tests.cpp
+++ mednafen-0.9.48/src/tests.cpp
@@ -766,6 +766,8 @@ void NO_INLINE NO_CLONE TestGCC80631(voi
assert(TestGCC80631_Sub(p) == 0);
}
+// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82750
+#ifdef BUGGY_TEST_GCC81740
NO_INLINE NO_CLONE void TestGCC81740_Sub(int* p, unsigned count)
{
static const int good[20] = { 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 10, 5, 6, 7, 8, 15, 10, 11, 12, 13 };
@@ -791,7 +793,7 @@ NO_INLINE NO_CLONE void TestGCC81740(voi
TestGCC81740_Sub(&v[0][0], sizeof(v) / sizeof(int));
}
-
+#endif
template<typename A, typename B>
void NO_INLINE NO_CLONE TestSUCompare_Sub(A a, B b)
@@ -2045,7 +2047,9 @@ bool MDFN_RunMathTests(void)
TestGCC70941();
TestGCC71488();
TestGCC80631();
+#ifdef BUGGY_TEST_GCC81740
TestGCC81740();
+#endif
TestModTern();
TestBWNotMask31GTZ();

View File

@ -1,5 +1,10 @@
config BR2_PACKAGE_MEDNAFEN config BR2_PACKAGE_MEDNAFEN
bool "mednafen" bool "mednafen"
select BR2_PACKAGE_SDL
select BR2_PACKAGE_SDL_IMAGE
select BR2_PACKAGE_SDL_MIXER
select BR2_PACKAGE_SDL_TTF
select BR2_PACKAGE_ZLIB
help help
The mednafen game engine. The mednafen game engine.

View File

@ -4,13 +4,16 @@
# #
################################################################################ ################################################################################
MEDNAFEN_VERSION = 0.9.48 #MEDNAFEN_VERSION = 0.9.48
MEDNAFEN_SOURCE = mednafen-$(MEDNAFEN_VERSION).tar.xz #MEDNAFEN_SOURCE = mednafen-$(MEDNAFEN_VERSION).tar.xz
MEDNAFEN_SITE = http://downloads.sourceforge.net/sourceforge/mednafen #MEDNAFEN_SITE = http://downloads.sourceforge.net/sourceforge/mednafen
MEDNAFEN_VERSION = f8407499b30099817a762d98499f1e885125c6a2
MEDNAFEN_SITE_METHOD = git
MEDNAFEN_SITE = ssh://git@fk/FunKey-Project/FunKey-Emulator-mednafen-0.9.48
MEDNAFEN_LICENSE = GPL-2.0+ MEDNAFEN_LICENSE = GPL-2.0+
MEDNAFEN_LICENSE_FILES = COPYING MEDNAFEN_LICENSE_FILES = COPYING
MEDNAFEN_DEPENDENCIES = sdl zlib MEDNAFEN_DEPENDENCIES = sdl sdl_image sdl_mixer sdl_ttf zlib
MEDNAFEN_CFLAGS = $(TARGET_CFLAGS) -ggdb -O3 -ftree-vectorize MEDNAFEN_CFLAGS = $(TARGET_CFLAGS) -ggdb -O3 -ftree-vectorize
ifeq ($(BR2_PACKAGE_MEDNAFEN_FAST),y) ifeq ($(BR2_PACKAGE_MEDNAFEN_FAST),y)