Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mame for openSUSE:Factory checked in at 2023-04-10 20:16:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mame (Old) and /work/SRC/openSUSE:Factory/.mame.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mame" Mon Apr 10 20:16:54 2023 rev:4 rq:1078194 version:0.253 Changes: -------- --- /work/SRC/openSUSE:Factory/mame/mame.changes 2023-03-31 21:15:25.650357934 +0200 +++ /work/SRC/openSUSE:Factory/.mame.new.19717/mame.changes 2023-04-10 20:16:59.076959480 +0200 @@ -1,0 +2,14 @@ +Mon Apr 10 02:11:38 UTC 2023 - ÐлÑÑ Ðндиго <[email protected]> + +- Dropped files mame-rpmlintrc mame.png mess.png mame-mess.appdata.xml mame.appdata.xml. +- Added files mame.svg and mame-ppc64le.patch (fix build ppc64 and ppc64le archs). +- Changed optflags macro flag -g to -g1 for all archs (boo#1210115). +- Fixed build on Leap 15.4 and Leap 15.5 via gcc11 (boo#1210115). +- Fixed incorrect cfg diroctory path (boo#1184490). +- Updated to 0.253 + * Dropped file _multibuild, mess subpackage and 32bit archs (random ld oom). + * Changed files _constraints mame-bgfx.patch. + * Switched to built-in lua (requires Lua compiled as C++). + * https://mametesters.org/changelog_page.php + +------------------------------------------------------------------- @@ -8 +22 @@ - * Disabled LTO for all. + * Disabled LTO for all archs. Old: ---- _multibuild mame-mame0252.tar.gz mame-mess.appdata.xml mame-rpmlintrc mame.appdata.xml mame.png mess.png whatsnew_0252.txt New: ---- mame-mame0253.tar.gz mame-ppc64le.patch mame.svg whatsnew_0253.txt ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mame.spec ++++++ --- /var/tmp/diff_new_pack.Ux9str/_old 2023-04-10 20:17:02.028976733 +0200 +++ /var/tmp/diff_new_pack.Ux9str/_new 2023-04-10 20:17:02.036976780 +0200 @@ -1,5 +1,5 @@ # -# spec file +# spec file for package mame # # Copyright (c) 2023 SUSE LLC # @@ -16,43 +16,32 @@ # -%global flavor @BUILD_FLAVOR@%{nil} -%if %{__isa_bits} == 64 -%ifnarch aarch64 -%define is_64bit 1 -%endif -%endif -%if "%{flavor}" == "mame" || "%{flavor}" == "" -%define pkgsuffix %{nil} -%else -%define pkgsuffix -%{flavor} -%endif -%define fver 252 -Name: mame%{?pkgsuffix} -Version: 0.%{fver} +%define ver 253 +Name: mame +Version: 0.%{ver} Release: 0 -URL: https://mamedev.org/ -Source0: https://github.com/mamedev/mame/archive/mame0%{fver}.tar.gz#/mame-mame0%{fver}.tar.gz -Source1: https://github.com/mamedev/mame/releases/download/mame0%{fver}/whatsnew_0%{fver}.txt -Source2: mame.png -Source3: mess.png -Source100: mame-rpmlintrc -Source101: mame.ini.in -Source102: mame.appdata.xml -Source104: mame-mess.appdata.xml +Summary: Multiple Arcade Machine Emulator +License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later +Group: System/Emulators/Other +URL: https://mamedev.org +Source0: https://github.com/mamedev/%{name}/archive/%{name}0%{ver}.tar.gz#/%{name}-%{name}0%{ver}.tar.gz +Source1: https://github.com/mamedev/%{name}/releases/download/%{name}0%{ver}/whatsnew_0%{ver}.txt +Source2: %{name}.svg +Source3: %{name}.ini.in # PATCH-FIX-OPENSUSE use_thin_archives.patch -- use thin archives for static libraries Patch0: use_thin_archives.patch # PATCH-FIX-UPSTREAM fix-922619.patch -- https://github.com/mamedev/mame/issues/3157 Patch1: fix-922619.patch # PATCH-FIX-OPENSUSE fix_lua_misspelling.patch -- introduced in mame 0.238 Patch2: fix_lua_misspelling.patch -Patch3: mame-fortify.patch -Patch4: mame-bgfx.patch +Patch3: %{name}-fortify.patch +Patch4: %{name}-bgfx.patch +BuildRequires: asio-devel BuildRequires: binutils-gold BuildRequires: fdupes -BuildRequires: gcc-c++ -BuildRequires: memory-constraints +BuildRequires: hicolor-icon-theme BuildRequires: pkgconfig +BuildRequires: portmidi-devel BuildRequires: update-desktop-files BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) @@ -60,7 +49,6 @@ BuildRequires: pkgconfig(RapidJSON) BuildRequires: pkgconfig(SDL2_ttf) BuildRequires: pkgconfig(alsa) -BuildRequires: pkgconfig(asio) BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(fontconfig) @@ -68,9 +56,8 @@ BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libutf8proc) -BuildRequires: pkgconfig(lua5.3) +BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(portaudio-2.0) -BuildRequires: pkgconfig(portmidi) BuildRequires: pkgconfig(pugixml) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(sqlite3) @@ -78,53 +65,37 @@ BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(zlib) -Requires: mame-data = %{version} -Requires(post): desktop-file-utils -Requires(postun): desktop-file-utils -Suggests: mame-tools = %{version} -%if "%{flavor}" == "" -ExclusiveArch: do_not_build +Requires: %{name}-data = %{version} +Suggests: %{name}-tools = %{version} +ExcludeArch: %{ix86} aarch64_ilp32 armv7hl ppc riscv32 +%ifarch ppc64 ppc64le +Patch5: %{name}-ppc64le.patch %endif -%if "%{flavor}" != "mess" -Summary: Multiple Arcade Machine Emulator -License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Emulators/Other -%else -Summary: Multi Emulator Super System -License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Emulators/Other +%if 0%{?sle_version} > 150000 && 0%{?sle_version} < 160000 +BuildRequires: gcc11 +BuildRequires: gcc11-c++ %endif -%if "%{flavor}" != "mess" + %description MAME is an emulator designed to recreate the hardware of arcade game systems in software on modern personal computers. The source code to MAME serves as this hardware documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation. -%else -%description -This is the MESS only build of MAME; it has been compiled without Arcade built in. - -MESS is an emulator for many game consoles and computer systems, based on -the MAME core and now a part of MAME. MESS emulates portable and console -gaming systems, computer platforms, and calculators. -%endif -%package -n mame-tools +%package tools Summary: MAME Tools Group: System/Emulators/Other -Provides: mess-tools = %{version} -Obsoletes: mess-tools < %{version} -%description -n mame-tools +%description tools Tools for use with MAME/MESS roms and images. -%package -n mame-data +%package data Summary: Data files required by all builds of MAME Group: System/Emulators/Other BuildArch: noarch -%description -n mame-data +%description data This package contains all data files needed by the MAME binaries: * shaders * artwork @@ -132,198 +103,116 @@ * languages %prep -%autosetup -p1 -n mame-mame0%{fver} - -rm -r \ - 3rdparty/asio \ - 3rdparty/compat \ - 3rdparty/dxsdk \ - 3rdparty/expat \ - 3rdparty/glm \ - 3rdparty/libflac \ - 3rdparty/libjpeg \ - 3rdparty/portaudio \ - 3rdparty/portmidi \ - 3rdparty/pugixml \ - 3rdparty/rapidjson \ - 3rdparty/SDL2 \ - 3rdparty/SDL2-override \ - 3rdparty/sqlite3 \ - 3rdparty/tap-windows6 \ - 3rdparty/utf8proc \ - 3rdparty/zlib \ - docs/themes - -cp %{SOURCE1} whatsnew-%{version}.txt -# Fix rpmlint warning "wrong-file-end-of-line-encoding" -sed -i 's/\r$//' COPYING README.md whatsnew-%{version}.txt - -# Set DATADIR and SYSCONFDIR in ini files -sed -e "s,@DATADIR@,%{_datadir},g"\ - -e "s,@SYSCONFDIR@,%{_sysconfdir},g" %{SOURCE101} > mame.ini - -# limit 32bit archs to debug level 1, the linker exhausts the address space otherwise -%if ! 0%{?is_64bit} -%define myoptflags %(echo %{optflags} | sed -E 's@(-g\\\b)|(-g[0-9])@-g1@g') -%else -%define myoptflags %{optflags} -%endif - -#ensure genie uses %optflags -sed -i "s@-Wall -Wextra -Os@%{myoptflags}@" 3rdparty/genie/build/gmake.linux/genie.make -sed -i "s@\. -s@\. %{myoptflags}@" 3rdparty/genie/build/gmake.linux/genie.make +%autosetup -p1 -n %{name}-%{name}0%{ver} +rm -r 3rdparty/{asio,compat,dxsdk,expat,glm,libflac,libjpeg,portaudio,portmidi,pugixml,rapidjson,sqlite3,tap-windows6,utf8proc,zlib} docs/themes %build -# https://github.com/mamedev/mame/issues/7046 %define _lto_cflags %{nil} -# Limit build to avoid oom -%ifarch ppc64 ppc64le -%define limitbuild 5000 -%else -%define limitbuild 4200 -%endif -%limit_build -m %{limitbuild} -# Memory mapped files occupy the limited 32bit address space -%if ! 0%{?is_64bit} -export LDFLAGS="${LDFLAGS} -Wl,-v -fuse-ld=gold -Wl,--no-keep-files-mapped -Wl,--no-map-whole-files -Wl,--no-mmap-output-file %{?_lto_cflags}" -%else -export LDFLAGS="${LDFLAGS} -Wl,-v -fuse-ld=gold %{?_lto_cflags}" -%endif +MY_OPT_FLAGS=$(echo %{optflags} | sed -re 's@-g($|[0-9])@-g1@g; s@-g\s@-g1 @g') +MY_LD_FLAGS="${LDFLAGS} -Wl,-v -fuse-ld=gold -Wl,--no-map-whole-files -Wl,--no-keep-memory -Wl,--no-keep-files-mapped -Wl,--no-mmap-output-file" -export CFLAGS=$(pkg-config --cflags lua) -# Make sure Python3 uses a UTF8 as default encoding even on Leap 15.x -export LANG=C.UTF-8 +sed -i "s@-Wall -Wextra -Os \$(MPARAM)@$MY_OPT_FLAGS@" 3rdparty/genie/build/gmake.linux/genie.make +sed -i "s@-s -rdynamic@$MY_LD_FLAGS -rdynamic@" 3rdparty/genie/build/gmake.linux/genie.make -COMMON_FLAGS="\ +%make_build \ NOWERROR=1 \ - VERBOSE=1 \ OPTIMIZE=3 \ - PYTHON=python3 \ PYTHON_EXECUTABLE=python3 \ + VERBOSE=1 \ USE_SYSTEM_LIB_ASIO=1 \ USE_SYSTEM_LIB_EXPAT=1 \ - USE_SYSTEM_LIB_ZLIB=1 \ - USE_SYSTEM_LIB_JPEG=1 \ USE_SYSTEM_LIB_FLAC=1 \ - USE_SYSTEM_LIB_LUA=1 \ - USE_SYSTEM_LIB_SQLITE3=1 \ - USE_SYSTEM_LIB_PORTMIDI=1 \ - USE_SYSTEM_LIB_PORTAUDIO=1 \ - USE_SYSTEM_LIB_UTF8PROC=1 \ USE_SYSTEM_LIB_GLM=1 \ - USE_SYSTEM_LIB_RAPIDJSON=1 \ + USE_SYSTEM_LIB_JPEG=1 \ + USE_SYSTEM_LIB_PORTAUDIO=1 \ + USE_SYSTEM_LIB_PORTMIDI=1 \ USE_SYSTEM_LIB_PUGIXML=1 \ - " -# Bootstrap genie, scripts file has been patched -%make_build OPT_FLAGS="%{myoptflags}" $COMMON_FLAGS genie -(cd 3rdparty/genie/; bin/linux/genie embed) -%make_build OPT_FLAGS="%{myoptflags}" $COMMON_FLAGS genie - -# Build the emulator itself -%if "%{flavor}" == "mame" -%make_build OPT_FLAGS="%{myoptflags}" $COMMON_FLAGS SUBTARGET=arcade TOOLS=0 -%endif -%if "%{flavor}" == "mess" -%make_build OPT_FLAGS="%{myoptflags}" $COMMON_FLAGS SUBTARGET=mess TOOLS=0 -%endif -%if "%{flavor}" == "tools-data" -# Tiny still builds too much, but is the smallest target available for just building the tools -%make_build OPT_FLAGS="%{myoptflags}" $COMMON_FLAGS SUBTARGET=tiny TOOLS=1 + USE_SYSTEM_LIB_RAPIDJSON=1 \ + USE_SYSTEM_LIB_SQLITE3=1 \ + USE_SYSTEM_LIB_UTF8PROC=1 \ + USE_SYSTEM_LIB_ZLIB=1 \ + SDL_INI_PATH="%{_sysconfdir}/%{name};" \ + TOOLS=1 \ +%if 0%{?sle_version} > 150000 && 0%{?sle_version} < 160000 + CC="gcc-11" \ + CXX="g++-11" \ %endif + OPT_FLAGS="$MY_OPT_FLAGS" \ + LDOPTS="$MY_LD_FLAGS" %install -%if "%{flavor}" == "mame" -# Install emulator binaries and manpages -install -Dpm0755 mamearcade %{buildroot}%{_bindir}/mame -install -Dpm0644 docs/man/mame.6 %{buildroot}%{_mandir}/man6/mame.6 -install -Dpm0644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/mame.png - -# Install config file -mkdir -p %{buildroot}%{_sysconfdir}/skel/.mame -install -Dpm0644 mame.ini %{buildroot}%{_sysconfdir}/skel/.mame/mame.ini - -%suse_update_desktop_file -c mame 'MAME' 'Multiple Arcade Machine Emulator' mame mame Game Emulator -install -Dpm0644 %{SOURCE102} %{buildroot}%{_datadir}/metainfo/mame.appdata.xml -%endif +install -pm0644 %{SOURCE1} whatsnew-%{version}.txt +sed -i 's/\r$//' COPYING README.md whatsnew-%{version}.txt -%if "%{flavor}" == "mess" -# Install emulator binaries and manpages -install -Dpm0755 mamemess %{buildroot}%{_bindir}/mame-mess -install -Dpm0644 %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/mame-mess.png - -# Install config file -mkdir -p %{buildroot}%{_sysconfdir}/skel/.mess -install -Dpm0644 mame.ini %{buildroot}%{_sysconfdir}/skel/.mess/mess.ini -sed -i -- 's/.mame;/.mess;/g' %{buildroot}%{_sysconfdir}/skel/.mess/mess.ini +install -Dpm0644 %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%suse_update_desktop_file -c %{name} 'MAME' 'Multiple Arcade Machine Emulator' %{name} %{name} Game Emulator -%suse_update_desktop_file -c mame-mess 'MESS' 'Multi Emulator Super System' mame-mess mame-mess Game Emulator -install -Dpm0644 %{SOURCE104} %{buildroot}%{_datadir}/metainfo/mame-mess.appdata.xml -%endif +sed -e 's|@DATADIR@|%{_datadir}|g; s|@SYSCONFDIR@|%{_sysconfdir}|g' %{SOURCE3} > %{name}.ini +install -Dpm0644 %{name}.ini %{buildroot}%{_sysconfdir}/%{name}/%{name}.ini -# Tool binaries and manpages -%if "%{flavor}" == "tools-data" -install -dm0755 %{buildroot}%{_bindir} -install -pm0755 castool chdman floptool imgtool jedutil ldresample ldverify romcmp unidasm %{buildroot}%{_bindir}/ -for mame_tool in nltool nlwav pngcmp regrep split srcclean +install -d %{buildroot}%{_bindir} +for dir in artwork bgfx chds cheats ctrlr effects fonts hash keymaps language plugins roms samples shader do - install -pm0755 $mame_tool %{buildroot}%{_bindir}/mame-${mame_tool} + install -d %{buildroot}%{_datadir}/%{name}/$dir done +install -d %{buildroot}%{_mandir}/man{1,6} -install -dm0755 %{buildroot}%{_mandir}/man1 -pushd docs/man/ -install -pm0644 castool.1 chdman.1 floptool.1 imgtool.1 jedutil.1 ldresample.1 ldverify.1 romcmp.1 %{buildroot}%{_mandir}/man1/ -popd - -# Install data required by mame -%define emu_data_dir %{buildroot}%{_datadir}/mame -for dir in artwork chds bgfx cheats crosshair ctrlr fonts hash keymaps language plugins roms samples opengl_shaders +install -pm0755 %{name} %{buildroot}%{_bindir}/%{name} +install -pm0755 castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav pngcmp romcmp unidasm %{buildroot}%{_bindir} +for tool in regrep split srcclean do - install -dpm0755 %{emu_data_dir}/${dir} + install -pm0755 $tool %{buildroot}%{_bindir}/%{name}-$tool done -install -dpm0755 %{emu_data_dir}/bgfx/shaders -install -dpm0755 %{buildroot}%{_datadir}/pixmaps +pushd artwork + find -type d -exec install -d %{buildroot}%{_datadir}/%{name}/artwork/{} \; + find -type f -exec install -pm0644 {} %{buildroot}%{_datadir}/%{name}/artwork/{} \; +popd +pushd bgfx + find -type d -a ! -wholename \*dx\* -a ! -wholename \*metal\* -exec install -d %{buildroot}%{_datadir}/%{name}/bgfx/{} \; + find -type f -a ! -wholename \*dx\* -a ! -wholename \*metal\* -exec install -pm0644 {} %{buildroot}%{_datadir}/%{name}/bgfx/{} \; +popd +install -pm0644 hash/* %{buildroot}%{_datadir}/%{name}/hash +install -pm0644 keymaps/* %{buildroot}%{_datadir}/%{name}/keymaps +pushd language + find -type d -exec install -d %{buildroot}%{_datadir}/%{name}/language/{} \; + find -type f -name \*.mo -exec install -pm0644 {} %{buildroot}%{_datadir}/%{name}/language/{} \; + grep -r --include=*.po \"Language: | sed -r 's@(.*)/strings\.po:"Language: ([[:alpha:]]{2}(_[[:alpha:]]{2})?)\\n"@%lang(\2) %{_datadir}/%{name}/language/\1@' > ../%{name}.lang +popd +pushd plugins + find -type d -exec install -d %{buildroot}%{_datadir}/%{name}/plugins/{} \; + find -type f -exec install -pm0644 {} %{buildroot}%{_datadir}/%{name}/plugins/{} \; +popd +pushd src/osd/modules/opengl + install -pm0644 shader/*.?sh %{buildroot}%{_datadir}/%{name}/shader +popd +pushd docs/man + install -pm0644 castool.1 chdman.1 imgtool.1 floptool.1 jedutil.1 ldresample.1 ldverify.1 romcmp.1 %{buildroot}%{_mandir}/man1 + install -pm0644 %{name}.6 %{buildroot}%{_mandir}/man6 +popd -install -pm0644 hash/* %{emu_data_dir}/hash/ -install -pm0644 uismall.bdf %{emu_data_dir}/uismall.bdf -install -pm0644 keymaps/README.md %{emu_data_dir}/keymaps/ -install -pm0644 keymaps/*LINUX.map %{emu_data_dir}/keymaps/ -cp -ar language %{emu_data_dir}/ -find %{emu_data_dir}/language/ -name "*.po" -delete -cp -ar artwork %{emu_data_dir}/ -cp -ar plugins %{emu_data_dir}/ -cp -ar samples %{emu_data_dir}/ -cp -ar bgfx/chains %{emu_data_dir}/bgfx/ -cp -ar bgfx/effects %{emu_data_dir}/bgfx/ -cp -ar bgfx/shaders/glsl %{emu_data_dir}/bgfx/shaders/ -install -pm0644 src/osd/modules/opengl/shader/*.{fsh,vsh} %{emu_data_dir}/opengl_shaders/ +%fdupes -s %{buildroot}/%{_datadir}/%{name} -%fdupes -s %{buildroot}/%{_datadir}/mame/bgfx -%endif +%check +./%{name} -validate -%if "%{flavor}" == "mame" || "%{flavor}" == "mess" %files %doc README.md whatsnew-%{version}.txt %license docs/LICENSE COPYING -%{_bindir}/mame* -%{_datadir}/pixmaps/mame*.png -%{_datadir}/applications/mame*.desktop -%dir %{_sysconfdir}/skel/.* -%config(noreplace) %{_sysconfdir}/skel/.*/*.ini -%dir %{_datadir}/metainfo -%{_datadir}/metainfo/mame*.appdata.xml -%if "%{flavor}" == "mame" -%{_mandir}/man6/mame.6%{?ext_man} -%endif -%endif +%dir %{_sysconfdir}/%{name} +%config %{_sysconfdir}/%{name}/%{name}.ini +%{_bindir}/%{name} +%{_mandir}/man6/%{name}.6%{?ext_man} +%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_datadir}/applications/%{name}.desktop -%if "%{flavor}" == "tools-data" -%files -n mame-data +%files data -f %{name}.lang %doc README.md %license docs/LICENSE COPYING -%{_datadir}/mame/ +%{_datadir}/%{name} -%files -n mame-tools +%files tools +%doc README.md %license docs/LICENSE COPYING %{_bindir}/castool %{_bindir}/chdman @@ -332,22 +221,14 @@ %{_bindir}/jedutil %{_bindir}/ldresample %{_bindir}/ldverify -%{_bindir}/mame-nltool -%{_bindir}/mame-nlwav -%{_bindir}/mame-pngcmp -%{_bindir}/mame-regrep -%{_bindir}/mame-split -%{_bindir}/mame-srcclean +%{_bindir}/nltool +%{_bindir}/nlwav +%{_bindir}/pngcmp +%{_bindir}/%{name}-regrep %{_bindir}/romcmp +%{_bindir}/%{name}-split +%{_bindir}/%{name}-srcclean %{_bindir}/unidasm -%{_mandir}/man1/castool.1%{?ext_man} -%{_mandir}/man1/chdman.1%{?ext_man} -%{_mandir}/man1/floptool.1%{?ext_man} -%{_mandir}/man1/imgtool.1%{?ext_man} -%{_mandir}/man1/jedutil.1%{?ext_man} -%{_mandir}/man1/ldresample.1%{?ext_man} -%{_mandir}/man1/ldverify.1%{?ext_man} -%{_mandir}/man1/romcmp.1%{?ext_man} -%endif +%{_mandir}/man1/*.1%{?ext_man} %changelog ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.Ux9str/_old 2023-04-10 20:17:02.084977060 +0200 +++ /var/tmp/diff_new_pack.Ux9str/_new 2023-04-10 20:17:02.084977060 +0200 @@ -2,70 +2,21 @@ <hardware> <processors>4</processors> <memory> - <size unit="G">8</size> + <size unit="G">12</size> </memory> <disk> - <size unit="G">10</size> + <size unit="G">34</size> </disk> </hardware> - - <overwrite> - <conditions> - <arch>x86_64</arch> - <package>mame:mame</package> - </conditions> - <hardware> - <disk> - <size unit="G">34</size> - </disk> - <memory> - <size unit="M">14500</size> - </memory> - </hardware> - </overwrite> - - <overwrite> - <conditions> - <arch>x86_64</arch> - <package>mame:mess</package> - </conditions> - <hardware> - <disk> - <size unit="G">32</size> - </disk> - <memory> - <size unit="M">12500</size> - </memory> - </hardware> - </overwrite> - - <overwrite> - <conditions> - <arch>ppc64</arch> - <arch>ppc64le</arch> - <package>mame:mame</package> - <package>mame:mess</package> - </conditions> - <hardware> - <disk> - <size unit="G">34</size> - </disk> - <physicalmemory> - <size unit="M">11264</size> - </physicalmemory> - </hardware> - </overwrite> - <overwrite> <conditions> <arch>aarch64</arch> </conditions> <hardware> <cpu> - <flag>asimdrdm</flag> + <flag>asimdrdm</flag> </cpu> </hardware> </overwrite> - </constraints> ++++++ mame-bgfx.patch ++++++ --- /var/tmp/diff_new_pack.Ux9str/_old 2023-04-10 20:17:02.104977177 +0200 +++ /var/tmp/diff_new_pack.Ux9str/_new 2023-04-10 20:17:02.108977201 +0200 @@ -1,6 +1,6 @@ -diff -Pdpru mame-mame0252.orig/src/osd/modules/render/bgfx/shadermanager.cpp mame-mame0252/src/osd/modules/render/bgfx/shadermanager.cpp ---- mame-mame0252.orig/src/osd/modules/render/bgfx/shadermanager.cpp 2023-02-21 20:59:53.000000000 +0300 -+++ mame-mame0252/src/osd/modules/render/bgfx/shadermanager.cpp 2023-03-30 12:59:56.277101437 +0300 +diff -Pdpru mame-mame0253.orig/src/osd/modules/render/bgfx/shadermanager.cpp mame-mame0253/src/osd/modules/render/bgfx/shadermanager.cpp +--- mame-mame0253.orig/src/osd/modules/render/bgfx/shadermanager.cpp 2023-03-29 17:05:56.000000000 +0300 ++++ mame-mame0253/src/osd/modules/render/bgfx/shadermanager.cpp 2023-04-02 13:17:15.588187724 +0300 @@ -85,7 +85,6 @@ std::string shader_manager::make_path_st shader_path += PATH_SEPARATOR "shaders" PATH_SEPARATOR; switch (bgfx::getRendererType()) @@ -17,16 +17,14 @@ case bgfx::RendererType::OpenGL: shader_path += "glsl"; break; -diff -Pdpru mame-mame0252.orig/src/osd/sdl/osdsdl.cpp mame-mame0252/src/osd/sdl/osdsdl.cpp ---- mame-mame0252.orig/src/osd/sdl/osdsdl.cpp 2023-02-21 20:59:53.000000000 +0300 -+++ mame-mame0252/src/osd/sdl/osdsdl.cpp 2023-03-30 13:02:28.937468880 +0300 -@@ -269,8 +269,13 @@ void sdl_osd_interface::init(running_mac - } +diff -Pdpru mame-mame0253.orig/src/osd/sdl/osdsdl.cpp mame-mame0253/src/osd/sdl/osdsdl.cpp +--- mame-mame0253.orig/src/osd/sdl/osdsdl.cpp 2023-03-29 17:05:56.000000000 +0300 ++++ mame-mame0253/src/osd/sdl/osdsdl.cpp 2023-04-02 13:20:13.152600500 +0300 +@@ -273,7 +273,12 @@ void sdl_osd_interface::init(running_mac // bgfx does not work with wayland -- if ((strcmp(SDL_GetCurrentVideoDriver(), "wayland") == 0) && ((strcmp(options().video(), "auto") == 0) || (strcmp(options().video(), "bgfx") == 0))) + if ((strcmp(SDL_GetCurrentVideoDriver(), "wayland") == 0) && (strcmp(options().video(), "bgfx") == 0)) - fatalerror("Error: BGFX video does not work with wayland videodriver. Please change either of the options."); -+ if ((strcmp(SDL_GetCurrentVideoDriver(), "wayland") == 0) && (strcmp(options().video(), "bgfx") == 0)) + { + osd_printf_verbose("BGFX does not work with wayland, overriding SDL videodriver to '%s' ...\n", "x11"); + SDL_QuitSubSystem(SDL_INIT_VIDEO); ++++++ mame-mame0252.tar.gz -> mame-mame0253.tar.gz ++++++ /work/SRC/openSUSE:Factory/mame/mame-mame0252.tar.gz /work/SRC/openSUSE:Factory/.mame.new.19717/mame-mame0253.tar.gz differ: char 16, line 1 ++++++ mame-ppc64le.patch ++++++ diff --git a/src/emu/video/rgbvmx.cpp b/src/emu/video/rgbvmx.cpp index 608f7024565..62bd25b3578 100644 --- a/src/emu/video/rgbvmx.cpp +++ b/src/emu/video/rgbvmx.cpp @@ -190,7 +190,7 @@ void rgbaint_t::scale_and_clamp(const rgbaint_t& scale) clamp_to_uint8(); } -void rgbaint_t::scale_imm_and_clamp(const s32 scale) +void rgbaint_t::scale_imm_and_clamp(s32 scale) { mul_imm(scale); sra_imm(8); diff --git a/src/emu/video/rgbvmx.h b/src/emu/video/rgbvmx.h index 05d26cd9e21..dd1946bfa28 100644 --- a/src/emu/video/rgbvmx.h +++ b/src/emu/video/rgbvmx.h @@ -76,7 +76,7 @@ public: } // This function sets all elements to the same val - void set_all(const s32& val) { set(val, val, val, val); } + void set_all(const s32 &val) { set(val, val, val, val); } // This function zeros all elements void zero() { set_all(0); } // This function zeros only the alpha element @@ -100,31 +100,31 @@ public: return result; } - void set_a16(const s32 value) + void set_a16(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_perm(m_value, temp, alpha_perm); } - void set_a(const s32 value) + void set_a(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_perm(m_value, temp, alpha_perm); } - void set_r(const s32 value) + void set_r(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_perm(m_value, temp, red_perm); } - void set_g(const s32 value) + void set_g(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_perm(m_value, temp, green_perm); } - void set_b(const s32 value) + void set_b(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_perm(m_value, temp, blue_perm); @@ -229,13 +229,13 @@ public: m_value = vec_add(m_value, color2.m_value); } - inline void add_imm(const s32 imm) + inline void add_imm(s32 imm) { const VECS32 temp = { imm, imm, imm, imm }; m_value = vec_add(m_value, temp); } - inline void add_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void add_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -250,13 +250,13 @@ public: m_value = vec_sub(m_value, color2.m_value); } - inline void sub_imm(const s32 imm) + inline void sub_imm(s32 imm) { const VECS32 temp = { imm, imm, imm, imm }; m_value = vec_sub(m_value, temp); } - inline void sub_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void sub_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -271,13 +271,13 @@ public: m_value = vec_sub(color2.m_value, m_value); } - inline void subr_imm(const s32 imm) + inline void subr_imm(s32 imm) { const VECS32 temp = { imm, imm, imm, imm }; m_value = vec_sub(temp, m_value); } - inline void subr_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void subr_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -298,7 +298,7 @@ public: #endif } - inline void mul_imm(const s32 imm) + inline void mul_imm(s32 imm) { const VECU32 value = { u32(imm), u32(imm), u32(imm), u32(imm) }; const VECU32 shift = vec_splat_u32(-16); @@ -310,7 +310,7 @@ public: #endif } - inline void mul_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void mul_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECU32 value = { u32(b), u32(g), u32(r), u32(a) }; @@ -332,10 +332,17 @@ public: m_value = vec_and(vec_sl(m_value, VECU32(shift.m_value)), vec_cmpgt(limit, VECU32(shift.m_value))); } - inline void shl_imm(const u8 shift) + inline void shl_imm(u8 shift) { - const VECU32 temp = { shift, shift, shift, shift }; - m_value = vec_sl(m_value, temp); + if (32 > shift) + { + const VECU32 temp = { shift, shift, shift, shift }; + m_value = vec_sl(m_value, temp); + } + else + { + m_value = vec_splat_s32(0); + } } inline void shr(const rgbaint_t& shift) @@ -344,10 +351,17 @@ public: m_value = vec_and(vec_sr(m_value, VECU32(shift.m_value)), vec_cmpgt(limit, VECU32(shift.m_value))); } - inline void shr_imm(const u8 shift) + inline void shr_imm(u8 shift) { - const VECU32 temp = { shift, shift, shift, shift }; - m_value = vec_sr(m_value, temp); + if (32 > shift) + { + const VECU32 temp = { shift, shift, shift, shift }; + m_value = vec_sr(m_value, temp); + } + else + { + m_value = vec_splat_s32(0); + } } inline void sra(const rgbaint_t& shift) @@ -356,8 +370,9 @@ public: m_value = vec_sra(m_value, vec_min(VECU32(shift.m_value), limit)); } - inline void sra_imm(const u8 shift) + inline void sra_imm(u8 shift) { + shift = std::min<u8>(shift, 31); const VECU32 temp = { shift, shift, shift, shift }; m_value = vec_sra(m_value, temp); } @@ -367,13 +382,13 @@ public: m_value = vec_or(m_value, color2.m_value); } - inline void or_imm(const s32 value) + inline void or_imm(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_or(m_value, temp); } - inline void or_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void or_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -393,13 +408,13 @@ public: m_value = vec_andc(m_value, color.m_value); } - inline void and_imm(const s32 value) + inline void and_imm(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_and(m_value, temp); } - inline void and_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void and_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -414,13 +429,13 @@ public: m_value = vec_xor(m_value, color2.m_value); } - inline void xor_imm(const s32 value) + inline void xor_imm(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_xor(m_value, temp); } - inline void xor_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void xor_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -430,7 +445,7 @@ public: m_value = vec_xor(m_value, temp); } - inline void clamp_and_clear(const u32 sign) + inline void clamp_and_clear(u32 sign) { const VECS32 vzero = { 0, 0, 0, 0 }; VECS32 vsign = { s32(sign), s32(sign), s32(sign), s32(sign) }; @@ -454,7 +469,7 @@ public: #endif } - inline void sign_extend(const u32 compare, const u32 sign) + inline void sign_extend(u32 compare, u32 sign) { const VECS32 compare_vec = { s32(compare), s32(compare), s32(compare), s32(compare) }; const VECS32 compare_mask = VECS32(vec_cmpeq(vec_and(m_value, compare_vec), compare_vec)); @@ -462,13 +477,13 @@ public: m_value = vec_or(m_value, vec_and(sign_vec, compare_mask)); } - inline void min(const s32 value) + inline void min(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_min(m_value, temp); } - inline void max(const s32 value) + inline void max(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = vec_max(m_value, temp); @@ -477,7 +492,7 @@ public: void blend(const rgbaint_t& other, u8 factor); void scale_and_clamp(const rgbaint_t& scale); - void scale_imm_and_clamp(const s32 scale); + void scale_imm_and_clamp(s32 scale); void scale_add_and_clamp(const rgbaint_t& scale, const rgbaint_t& other) { @@ -503,13 +518,13 @@ public: m_value = VECS32(vec_cmpeq(m_value, value.m_value)); } - inline void cmpeq_imm(const s32 value) + inline void cmpeq_imm(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = VECS32(vec_cmpeq(m_value, temp)); } - inline void cmpeq_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void cmpeq_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -524,13 +539,13 @@ public: m_value = VECS32(vec_cmpgt(m_value, value.m_value)); } - inline void cmpgt_imm(const s32 value) + inline void cmpgt_imm(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = VECS32(vec_cmpgt(m_value, temp)); } - inline void cmpgt_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void cmpgt_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -545,13 +560,13 @@ public: m_value = VECS32(vec_cmplt(m_value, value.m_value)); } - inline void cmplt_imm(const s32 value) + inline void cmplt_imm(s32 value) { const VECS32 temp = { value, value, value, value }; m_value = VECS32(vec_cmplt(m_value, temp)); } - inline void cmplt_imm_rgba(const s32 a, const s32 r, const s32 g, const s32 b) + inline void cmplt_imm_rgba(s32 a, s32 r, s32 g, s32 b) { #ifdef __LITTLE_ENDIAN__ const VECS32 temp = { b, g, r, a }; @@ -567,7 +582,7 @@ public: return *this; } - inline rgbaint_t& operator+=(const s32 other) + inline rgbaint_t& operator+=(s32 other) { const VECS32 temp = { other, other, other, other }; m_value = vec_add(m_value, temp); @@ -592,7 +607,7 @@ public: return *this; } - inline rgbaint_t& operator*=(const s32 other) + inline rgbaint_t& operator*=(s32 other) { const VECS32 value = { other, other, other, other }; const VECU32 shift = vec_splat_u32(-16); @@ -605,19 +620,20 @@ public: return *this; } - inline rgbaint_t& operator>>=(const s32 shift) + inline rgbaint_t& operator>>=(s32 shift) { + shift = s32(std::min<u32>(shift, 31)); const VECU32 temp = { u32(shift), u32(shift), u32(shift), u32(shift) }; m_value = vec_sra(m_value, temp); return *this; } - inline void merge_alpha16(const rgbaint_t& alpha) + inline void merge_alpha16(const rgbaint_t &alpha) { m_value = vec_perm(m_value, alpha.m_value, alpha_perm); } - inline void merge_alpha(const rgbaint_t& alpha) + inline void merge_alpha(const rgbaint_t &alpha) { m_value = vec_perm(m_value, alpha.m_value, alpha_perm); } ++++++ whatsnew_0252.txt -> whatsnew_0253.txt ++++++ ++++ 3244 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/mame/whatsnew_0252.txt ++++ and /work/SRC/openSUSE:Factory/.mame.new.19717/whatsnew_0253.txt
