Commit Graph

320 Commits

Author SHA1 Message Date
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
Vas Crabb
d8998f5d9b (nw) fix std::array initialisation with GCC5 in nlwav.cpp, stop suppressing -Wterminate now that asserts are really asserts 2019-10-05 00:37:55 +10:00
Vas Crabb
bcfa6047c3 Build system maintenance:
* Re-write makedep.py for better performance and better parsing front-end
* Make srcclean deal with kinds of preprocessor abuse I never want to see in real life

(nw) The new parser front-end is better at recognising C++ syntax and
also substantially faster - bootstrapping a single-driver build should
be noticeably quicker.  Having a single parser for C++, .lst and .flt
files also gets us a bit closer to making it simpler to create custom
subtargets.
2019-10-04 22:55:01 +10:00
Julian Sikorski
fc31772d53 vs2019 fixes, initial clang-cl support (#5698)
* Add initial clangcl support

* Fix uwp builds' vs version typos

* Add missing vs2019 toolchain.lua bits
2019-10-02 14:30:05 +10:00
68bit
6d76d3f8f8 asmjs: can not ignore errors on missing libraries
The current Emscripten release is not happy with the use of
"-s ERROR_ON_MISSING_LIBRARIES=0" as a link option, it gives an error
stating that all libraries must now be present, so remove that use.

This leaves a missing 'util' library. This did not appear to be
needed on the few builds I have tried, and this patch avoids adding
this library for asmjs.
2019-08-28 14:25:27 +00:00
S.Z
a3588c18bf Enable precompiled header usage in the Visual Studio compiler (#5473)
* Enable precompiled header usage in the Visual Studio compiler
But only for libraries emu frontend precompile dasm optional
Also add emu.h include to hpcdasm.cpp

* Include emu.h in some disassembler sources to use precompiled headers

* Remove debug message
2019-08-13 13:20:53 -04:00
Justin Kerk
490709a6c1 Fix build in newer Emscripten versions (nw) 2019-08-08 14:23:12 +00:00
feos
aa1875694d fix vsllvm configuration
- dxsdk was missing from includes
- winmm was missing from libs
- narrowing warning was silenced for VS, but not from vsllvm, where it leads to an error in menu_video_options::handle()
2019-06-03 14:29:01 +03:00
Vas Crabb
626b566fee srcclean (nw) 2019-05-26 13:10:03 +10: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
Peter Ferrie
487cb60ae6 further quieting of MS-LLVM (nw) 2019-02-25 14:48:37 -08:00
Patrick Mackinlay
61db5737b5 genie: restore msvc build (nw)
I don't really understand why this works, but it enables building with VS 2017 15.7.6 as before. Apologies if it breaks LLVM on VS - I don't have that configuration to test.
2019-02-19 18:59:26 +07:00
Vas Crabb
01ccbd89c9 (nw) remove some superfluous const, eliminate a superfluous temp, remove superflous semicolons, etc. and also fix a known broken build script change 2019-02-18 00:48:52 +11:00
couriersud
c1ea281761 Fix testkeys compile/link on windows. (nw) 2019-02-17 14:01:57 +01:00
Peter Ferrie
4e04aa3224 silence MS-LLVM (nw) 2019-02-16 11:49:07 -08: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
Justin Kerk
3c34a1d307 Fix errors with single-driver build of vsnes.cpp [Justin Kerk] 2018-12-30 12:54:48 -08:00
Vas Crabb
c2dc4316bd (nw) fix stuff:
* Add per-language compiler flag options to help with exotic setups
* Get rid of a potention buffer overrun in NuBus image card
* CHAR_WIDTH and LONG_WIDTH are preprocessor macros in limits.h with glibc if __GLIBC_USE (IEC_60559_BFP_EXT) is enabled - avoid using them as names
* Make formats/upd765_dsk.h slightly safer with defualt initialisers for key format members
* Don't rely on random BSS data being zero in imagedev/floppy.cpp
2018-11-29 14:10:27 +11:00
smf-
94f0181e59 enable edit and continue in visual studio debug builds (nw) 2018-08-29 10:21:36 +01:00
smf-
6d39a913e5 disable multiple constructor warning for rendlay.cpp (nw) 2018-07-22 11:31:37 +01:00
smf-
b747b711bb fix building with clang 6.0.1 (nw) 2018-07-07 11:28:01 +01:00
Justin Kerk
32ee215a38 Remove -mbig-obj, which breaks the build on Windows clang and is not actually needed now that the emumem files have been split up (nw) 2018-07-07 02:07:13 -07:00
Olivier Galibert
a704ed7b1b emumem: Backend modernization [O. Galibert] 2018-06-29 20:04:28 +02:00
Julian Sikorski
fe162f615b Enable building on riscv64 (#3655)
* First attempt at enabling building on riscv64

* PTR64=1 needs to be defined on riscv64 otherwise build fails
2018-06-13 19:21:30 -04:00
Vas Crabb
c15531dddc srcclean (nw) 2018-05-27 04:48:13 +10:00
Justin Kerk
f857d267f5 rm dead code (nw) 2018-05-03 19:30:24 +00:00
arbee
45977d9baa More GCC 8 (nw) 2018-05-01 22:04:06 -04:00
arbee
73beb07213 don't use C++ flags on plain C files (nw) 2018-05-01 21:40:43 -04:00
arbee
e651a1678d begin preliminary GCC 8 support (nw) 2018-05-01 21:34:55 -04:00
Vas Crabb
2047471723 Bind devcb relative to current device. This is probably going to break
plenty of things with late bind errors.  Sorry.

Remaining things to switch over include sound routes and things with
custom delegates.
2018-05-01 04:19:51 +10:00
Julian Sikorski
9a154947d1 Added possibility of building using system pugixml 2018-03-27 10:19:22 +11:00
Vas Crabb
910d2267ca Start squeezing out the poor-performing parts of the output_manager:
* Turn deprecated declataion warnings on by default and make them non-fatal
* Make output_finder iterable in algorithms and range-based for loops
* Replace a lot of set_something with output_finder
2018-02-28 21:19:37 +11:00
Justin Kerk
d1b11e5c80 Fix issue linking Emscripten build with certain single-driver compiles (e.g. spectrum.cpp). Emscripten 1.37.29 or higher is now required. [Justin Kerk] 2018-01-31 02:26:47 +00:00
Vas Crabb
4e8bb7c7e5 srcclean and regenerate localisations (nw) 2018-01-28 14:25:52 +11:00
firewave
e2d7b45434 removed implict usage of "nullability" from SANITIZE=undefined (nw) 2018-01-14 13:54:21 +11:00
Oliver Stöneberg
35e5a75243 restored SANITIZE make option (#3043)
* restored basic support for SANITIZE make option

* disabled some unwanted UBSAN checks / enabled nullability checks / enabled ASAN use-after-scope checks (nw)
2018-01-11 19:18:12 -05:00
smf-
b0223ac413 Use dynamic linking for windows SDL builds to workround an error during linking about liblualibs.a being corrupt, which is dependant on the order of the .o files contained within it. [smf] 2017-12-26 11:11:51 +00:00
smf-
f789821121 Added workround for clang static builds and enable them again, don't force -O1 on clang builds. [smf] 2017-12-26 11:11:50 +00: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
Vas Crabb
a0e5e36bd5 looks like 32-bit release builds need /bigobj as well (nw) 2017-05-28 20:11:44 +10:00
smf-
104fe318ac don't use -static on msys2 clang 4.0.0 as it's currently broken, also removed -static-libgcc & -static-libstdc++ on gcc builds as they have no effect if you use -static (nw) 2017-05-25 11:02:24 +01:00
smf-
dc1dcd260b fix MSVC debug builds by specifying /bigobj (needed for mpu4). Release builds don't seem to require it. (nw) 2017-05-16 07:56:04 +01:00
Miodrag Milanovic
a877c987fb detect if SOURCES file do not exist (nw) 2016-12-09 13:00:51 +01:00
Miodrag Milanovic
124f30dbbc Enable building projects that are separate of MAME but use same core and lives in separate git tree (nw) 2016-12-08 11:46:15 +01:00
Miodrag Milanovic
581e5c03b3 Disable incremental linking for VS debug builds (nw) 2016-11-29 08:45:12 +01:00
Miodrag Milanovic
8e61a7d3d3 Added VS2017 support into project files (nw) 2016-11-16 21:00:29 +01:00
Brad Hughes
31e0041051 Fix UWP build issue (nw) 2016-11-16 08:06:28 -05:00
Miodrag Milanovic
145822e21b fix build (nw) 2016-11-16 13:58:52 +01:00
Brad Hughes
234620bc1b UWP: Remove explicit links for winstore builds (nw) 2016-11-16 07:39:37 -05:00