From 0837e7451a84f95c29dbdb9bd6b8b931fee1635d Mon Sep 17 00:00:00 2001 From: Julian Sikorski Date: Sun, 13 Oct 2019 13:50:38 +0200 Subject: 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 --- scripts/genie.lua | 7 ------- scripts/src/3rdparty.lua | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 7 deletions(-) (limited to 'scripts') diff --git a/scripts/genie.lua b/scripts/genie.lua index d90b98adf49..94ddbffe257 100644 --- a/scripts/genie.lua +++ b/scripts/genie.lua @@ -769,22 +769,18 @@ end local version = str_to_version(_OPTIONS["gcc_version"]) if string.find(_OPTIONS["gcc"], "clang") and ((version < 30500) or (_OPTIONS["targetos"]=="macosx" and (version <= 60000))) then buildoptions_cpp { - "-x c++", "-std=c++1y", } buildoptions_objcpp { - "-x objective-c++", "-std=c++1y", } else buildoptions_cpp { - "-x c++", "-std=c++14", } buildoptions_objcpp { - "-x objective-c++", "-std=c++14", } end @@ -1178,7 +1174,6 @@ configuration { "asmjs" } "-s USE_SDL_TTF=2", } buildoptions_cpp { - "-x c++", "-std=c++14", } linkoptions { @@ -1194,7 +1189,6 @@ configuration { "android*" } "-Wno-incompatible-ms-struct", } buildoptions_cpp { - "-x c++", "-std=c++14", "-Wno-extern-c-compat", "-Wno-tautological-constant-out-of-range-compare", @@ -1213,7 +1207,6 @@ configuration { "pnacl" } "-Wno-inline-new-delete", } buildoptions_cpp { - "-x c++", "-std=c++14", } archivesplit_size "20" diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua index 9d58a02fbc9..196c5c5688d 100644 --- a/scripts/src/3rdparty.lua +++ b/scripts/src/3rdparty.lua @@ -154,6 +154,10 @@ project "softfloat" "ForceCPP", } + buildoptions_cpp { + "-x c++", + } + includedirs { MAME_DIR .. "src/osd", } @@ -188,6 +192,10 @@ options { "ForceCPP", } +buildoptions_cpp { + "-x c++", +} + includedirs { MAME_DIR .. "src/osd", MAME_DIR .. "3rdparty/softfloat3/build/MAME", @@ -1198,6 +1206,14 @@ project "bimg" configuration { } + if _OPTIONS["targetos"]=="macosx" or _OPTIONS["targetos"]=="linux" then + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "clang") then + buildoptions_cpp { + "-Wno-unused-const-variable", + } + end + end + defines { "__STDC_LIMIT_MACROS", "__STDC_FORMAT_MACROS", @@ -1206,11 +1222,25 @@ project "bimg" includedirs { MAME_DIR .. "3rdparty/bimg/include", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/include", } files { MAME_DIR .. "3rdparty/bimg/src/image.cpp", MAME_DIR .. "3rdparty/bimg/src/image_gnf.cpp", + + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/astc_file.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/codec.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/endpoint_codec.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/footprint.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/integer_sequence_codec.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/intermediate_astc_block.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/logical_astc_block.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/partition.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/physical_astc_block.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/quantization.cc", + MAME_DIR .. "3rdparty/bimg/3rdparty/astc-codec/src/decoder/weight_infill.cc", } -------------------------------------------------- @@ -1356,6 +1386,7 @@ end MAME_DIR .. "3rdparty/bgfx/src/renderer_gl.cpp", MAME_DIR .. "3rdparty/bgfx/src/renderer_gnm.cpp", MAME_DIR .. "3rdparty/bgfx/src/renderer_noop.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_nvn.cpp", MAME_DIR .. "3rdparty/bgfx/src/renderer_vk.cpp", MAME_DIR .. "3rdparty/bgfx/src/shader.cpp", MAME_DIR .. "3rdparty/bgfx/src/shader_dx9bc.cpp", @@ -1376,6 +1407,9 @@ end MAME_DIR .. "3rdparty/bgfx/src/glcontext_nsgl.mm", MAME_DIR .. "3rdparty/bgfx/src/renderer_mtl.mm", } + buildoptions { + "-x objective-c++", + } end -------------------------------------------------- -- cgit v1.2.3-70-g09d2