Commit graph

409 commits

Author SHA1 Message Date
Julian Sikorski
1a5ac25f61 Sync with GENie upstream revision ce9f3c5 (#6262)
* Change makerules to take variable $(PROJECT_TYPE) instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Set prefer project set as solution.startproject as default target

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Adding `GenerateMapFiles` flag.

Causes Visual Studio's linker to generate .map files for that
configuration.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add ninja support for 'wholearchive' libraries

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixup ninja.esc to gracefully ignore nil passed as value

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Use -Wl,-force_load for wholearchive libs when building for macosx

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add space after filename in 'Generating' message

This makes the filename 'clickable' to open in iTerm and VSCode

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Print generated filenames as quoted string

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Remove '...' after filename

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Pop cwd after pushing to run file

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Make paths in embed.lua rely on script dir

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fix issues caused by make-4.3 no longer adding spaces to variables in some cases The fix was found by @asavah.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixed release script.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Update scripts.c

Co-authored-by: Christian Helmich <kagekirin@gmail.com>
Co-authored-by: Johan Sköld <johan@skold.cc>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2020-02-06 12:49:15 +11:00
Robert
b48efcdac6
Revert "Sync with GENie upstream revision ce9f3c5 (#6262)" (#6263)
This reverts commit a06d8e9cc6.
2020-02-06 10:02:41 +11:00
Julian Sikorski
a06d8e9cc6
Sync with GENie upstream revision ce9f3c5 (#6262)
* Change makerules to take variable $(PROJECT_TYPE) instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Set prefer project set as solution.startproject as default target

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Adding `GenerateMapFiles` flag.

Causes Visual Studio's linker to generate .map files for that
configuration.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add ninja support for 'wholearchive' libraries

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixup ninja.esc to gracefully ignore nil passed as value

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Use -Wl,-force_load for wholearchive libs when building for macosx

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add space after filename in 'Generating' message

This makes the filename 'clickable' to open in iTerm and VSCode

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Print generated filenames as quoted string

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Remove '...' after filename

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Pop cwd after pushing to run file

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Make paths in embed.lua rely on script dir

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fix issues caused by make-4.3 no longer adding spaces to variables in some cases The fix was found by @asavah.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixed release script.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Update scripts.c

Co-authored-by: Christian Helmich <kagekirin@gmail.com>
Co-authored-by: Johan Sköld <johan@skold.cc>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2020-02-05 17:21:10 -05:00
Julian Sikorski
0c70101b74 Sync bgfx, bx and bimg with upstream; fix the hlsl fs_chroma.sc matrix transposition properly (#5875)
* Sync bgfx with upstream revision 280420d

* Sync bx with upstream revision 267727d

* Sync bimg with upstream revision c1bab10

* Use bgfx helper functions to ensure correct matrix orientation

* Rebuild hlsl chain
2019-11-12 22:08:23 -05:00
Couriersud
d88a02f776 Fix waitvsync for bgfx vulkan backend. [Couriersud]
Currently waitvsync is broken in the bgfx vulkan backend.
The option is just ignored and a mode waiting for vsync is selected.
This also breaks throttle. -nothrottle doesn't work.

These changes fix this. If available a non-syncing mode is used if
-nowaitvsync is used.
2019-10-27 14:46:45 +01:00
R. Belmont
c82cfa1768
Merge pull request #5758 from vadosnaprimer/luaengine_ram
luaengine: reduce memory usage during compilation
2019-10-19 12:11:13 -04:00
feos
d51d2a71d5 luaengine: reduce memory usage during compilation
Previous semantics were encouraged by sol2, and ThePhD admitted it was a bad idea for usertypes with lots of members. sol3 allows to assign members outside a constructor for regular usertypes, but mame can't move to sol3 because it requires C++17. Turns out sol2 also has a way to add members separately, and that is what I used. This helps immensely.

This approach required a fix to warning C5046 copied from here 5799084572

Tested current mame plugins, everything seems to work.

PS: Due to come black magic, if I use simple_usertype::set() with "manager" as well, "machine" member dies (others are fine!), so I had to leave it intact.
2019-10-19 11:37:01 +03:00
couriersud
697dfa9fac Revert accidental commit of bgfx hacks. (nw) 2019-10-18 18:01:13 +02:00
Julian Sikorski
93a1cde67d Continuous integration improvements (#5703)
* Add workaround for imgtool and jedutil failing vs2019 debug builds with /ZI

* No longer allow msvc build to fail

* Enable tools build for travis to make it more useful

* Switch travis to Xcode 11 in order to fix nltool linking failure

* Prefer 64-bit compiler with VS 2019 too

* Setting PreferredToolArchitecture to x64 is not needed, genie puts it into the project files for vs2015 or later

* OPTIMIZE=1 build is faster that OPTIMIZE=0 for some reason. So fast in fact, that TOOLS=1 can be enabled without hitting the 60 minute timeout

* Switch MINGW build to VS 2017 image until appveyor figure out why builds on VS 2019 are almost twice as slow

* Run pacman twice to account for core system upgrades
2019-10-18 10:30:48 -04:00
couriersud
db318046c4 Netlist: code maintenance and bug fixes. (nw)
- solver now uses dynamic allocation on systems larger than 512x512
- fixed osx build
- moved nl_lists.h classes to plists.h
- fixed netlist makefile clint section
- readability and typos
2019-10-17 10:21:00 +02:00
Julian Sikorski
4470d977da Unbreak building shaders in cmd shell and add support for building them in MINGW bash shell (#5740) 2019-10-15 12:32:42 -04:00
AJR
73c4665039 Fix BGFX build on older OS X systems (nw)
The Vulkan renderer has to be disabled on Yosemite and older because its backend depends on Metal.
2019-10-14 07:47:37 -04:00
Robbbert
269970125a (nw) fixed compile error 2019-10-14 02:34:55 +11:00
Julian Sikorski
0837e7451a WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6

* Sync with bx upstream revision d60912b

* Sync with bimg upstream revision bd81f60

* Add astc-codec decoder

* Rename VertexDecl to VertexLayout

* Rename UniformType enum Int1 to Sampler.

* Add NVN stub

* Fix unused-const-variable error on macOS

* Drop redundant explicit language parameters
buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only
applied to objective c++ files. As such, hardcoding -x offers no benefit while
preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on
macOS) from working.

* Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning

* Build bgfx as Objective-C++ on macOS
It is needed due to included headers

* Enable Direct3D12 and Vulkan bgfx rendering backends

* Enable building of spirv shaders

* Properly escape /c in cmd call

* Comment out dx12 bgfx renderer

* Honor VERBOSE setting during shaders build

* Only invert hlsl shader XYZ_TO_sRGB matrix for opengl

* Add spirv shaders

* OpenGL ES needs transposed matrix too

* Metal needs transposed matrix as well
2019-10-13 07:50:38 -04:00
smf-
bca6bf52c0 really disable _MAKE.escquote() so the defines in expat.make match the previous version (nw) 2019-09-30 11:08:36 +01:00
smf-
cf1f9cc6bb disable _MAKE.escquote() so the defines in expat.make match the previous version (nw) 2019-09-30 10:06:55 +01:00
Julian Sikorski
ed2b7e5ef1 Synced with GENie upstream revision e78d6c1 (#5631)
* Synced with GENie upstream revision e78d6c1

* Add Visual Studio 2019 support

* Fix hardcoded -m64

* Switch appveyor to Visual Studio 2019

* Fix genie being built as 32-bit

* MSVC build is known to be broken currently. Let it fail until all the known issues are fixed.

* Update the packages before building

* Build with 3 threads
Appveyor VMs have only 2 cores and 8 GB RAM.

* Enable caching of pacman cache
2019-09-29 09:30:18 -04:00
MoochMcGee
96a0ad2d59 Fix some clang warnings (nw) 2019-08-31 00:50:04 -05:00
Stiletto
9fd3a40496
typo fix (nw)
typo fix (nw)
2019-08-07 05:45:08 -04:00
Stiletto
b0a3c48865
adding the recent to 3rdparty README.md (nw)
adding the recent to 3rdparty README.md (nw)
2019-08-07 05:41:23 -04:00
Vas Crabb
37e80d9762 use dual-licensed GPLv2/MIT TAP for Windows header (nw) 2019-08-07 11:37:30 +10:00
Olivier Galibert
f9bcdcbbc9 via6522: Change most mappings into m() [O. Galibert] 2019-07-07 17:15:17 +02:00
Windy Fairy
ab8dbd3db0 Partial support for encrypted audio in k573dio (Konami System 573 Digital I/O) (#5055)
* Add support for pcnfrk2m - Percussion Freaks 2nd Mix (GE912 VER. KAA)

* WIP audio for k573dio

* WIP

* Move 3rd party library to 3rdparty folder

* Use MAME's BIT and bitswap

* Fix regression which caused songs to stutter/lag when they should have been read completely in one shot

* Replace gain_to_db switch with equivalent math
2019-05-15 20:17:00 -04:00
arbee
2075a8e2a0 fix non-Apple Clang (nw) 2019-03-28 00:39:33 -04:00
arbee
2c3395cf8b Fix compiling with Xcode 10.2 on macOS (nw)
This shouldn't affect any other Clang configurations (or any older Xcodes); LMK if problems occur.
2019-03-27 20:35:31 -04:00
Vas Crabb
97b6717027 (nw) Clean up the mess on master
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.

Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline.  When things like this happen, it wastes
everyone's time.  I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
2019-03-26 11:13:37 +11:00
andreasnaive
b380514764 Revert "conflict resolution (nw)"
This reverts commit c24473ddff, reversing
changes made to 009cba4fb8.
2019-03-25 23:13:40 +01:00
couriersud
d208ca5105 3rdparty/lua: Fix clang 9 compile. (nw) 2019-02-23 18:54:28 +01:00
cracyc
836abb0d63 plugins/console: command history (nw) 2019-02-17 09:07:56 -06:00
Peter Ferrie
4e04aa3224 silence MS-LLVM (nw) 2019-02-16 11:49:07 -08:00
couriersud
182a06055f Fix 3rdparty/asio to compile with libc++ 9.0. (nw) 2019-02-13 22:35:19 +01:00
Peter Ferrie
e769e76ce4 enable sub-second snapshot timers (nw) (#4493)
* enable sub-second snapshot timers (nw)

* switch to attotime, accept doubles

* support LLVM extension in MSVC

make vsllvm

using extension from here:

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
2019-02-04 13:05:46 -05:00
Peter Ferrie
d199ec2657 fix MSVC (llvm toolset) compile (nw)
- conditionally uninitialised variables in PortAudio;
- floats passed to attotime;
- unsigned->signed enums (this one is technically still wrong)
2019-01-06 18:17:35 -08:00
Miodrag Milanović
a45221458d Android compile fix (#4395)
* Fix compile for Android, set API to 24

* Update Android Studio project to API 24

* Fixed project file to latest Android Studio

* fix build with gradle alone
2018-12-11 19:38:27 -05:00
Olivier Galibert
a0f1fb2698 fixes, gee (nw) 2018-12-06 18:40:48 +01:00
mooglyguy
0bd02131b6 3rdparty: Updated bgfx, bimg, and bx to latest upstream. [Ryan Holtz] 2018-12-05 19:45:08 +01:00
arbee
bb2eaa50ff GENie: support for macOS Mojave (10.14) [R. Belmont] 2018-09-28 00:30:31 -04:00
smf-
444861f487 fixed typo (nw) 2018-08-29 15:33:55 +01:00
smf-
c10977e7d5 default to 64 bit microsoft compiler (nw) 2018-08-29 10:21:35 +01:00
smf-
cff76a60a0 workround so you can still compile if you install the 15.8 update, as long as you install the 14.14.26428 compiler as well (nw) 2018-08-26 20:41:11 +01:00
Patrick Mackinlay
7957feaefc taptun: add support for Windows (#3790)
* taptun: add support for Windows

Looking for feedback only at this point, because it's the first time I've attempted any OSD stuff - be gentle.

This extends the existing taptun OSD module to support Windows through the TAP-Windows6 driver (https://github.com/OpenVPN/tap-windows6).
* TAP-Windows6 is GPLv2, however only the header file is required in MAME, and the driver itself is entirely optional.
* I've tried to minimise the size of the diff, rather than completely separate the Windows/non-Windows implementations - not sure which is preferable in this case.
* The license file has Mac(?) line-endings - unsure if they should be normalized or used verbatim.
* Uncertain about the non-Windows case (or the Windows SDL case) - existing code uses __linux__, but I'm not clear on how that works with OSX, for example?
* I can't claim this actually "works" yet, because I don't know enough to configure the tap end of it properly to get networking doing something useful, but I will get there and correct anything necessary in a subsequent real PR.

* minor fixes/improvements (nw)

* Use Unicode Windows APIs, and UTF-8 for MAME
* Deal with unterminated registry string values
* Cancel any pending I/O in destructor
2018-07-30 18:52:11 +10:00
Vas Crabb
a1ecd03c9d Fix softfloat3 build with MSVC 32-bit. Apparenly it's all-or-nothing with built-in leading zero count. (nw) 2018-05-27 22:08:35 +10:00
Patrick Mackinlay
4f9ef3e373 softfloat3: fix msvc build (nw) (#3566)
* softfloat3: fix msvc build (nw)

Is this how we do these things? I assume we don't touch the library code itself, and have to "fix" any problems via this header instead?

* softfloat3: do we like this better? (nw)

* softfloat3: it gets the hose again (nw)

* softfloat3: sonofa (nw)
2018-05-14 09:18:24 -04:00
arbee
62be291842 Initial import of SoftFloat release 3E [R. Belmont]
This is a pre-usage import so everyone can get things in line for various compilers.  GCC/Clang should be OK on most targets as-is;
MSVC may need to edit 3rdparty/softfloat3/build/MAME/build.h to conform.  Please report failure/success with various compilers.
2018-05-13 19:52:33 -04:00
MetalliC
9698154172 temp workaround for gcc 7.3 (nw) 2018-01-27 17:40:38 +02:00
Miodrag Milanovic
3917627494 Updated GENie, BGFX, BX, added BIMG since it is separated now, updated all shader binaries and MAME part of code to support new interfaces [Miodrag Milanovic] 2017-12-01 13:22:27 +01:00
Justin Kerk
9e8160cf7e Fix compile warning under Emscripten (#2552) (submitted to upstream asio) (nw) 2017-10-17 01:55:57 +00:00
smf-
20d1c78b61 Changed the clang workround for ../../../../../3rdparty/compat/winsdk-override\wrl/internal.h:23:13: error: function declared 'noreturn' should not return [-Werror,-Winvalid-noreturn] to work with clang 5.0 (nw) 2017-09-24 17:49:36 +01:00
Miso Kim
41e044ae01 Modification for Android build (NDK r14b, build-tools 21.1.2 and gradle 2.2.1) (#2585) 2017-08-23 13:09:38 +10:00
cracyc
81079946a4 luaengine: debugger_manager support [Carl] 2017-07-23 20:41:08 -05:00