diff options
author | 2019-10-13 13:50:38 +0200 | |
---|---|---|
committer | 2019-10-13 07:50:38 -0400 | |
commit | 0837e7451a84f95c29dbdb9bd6b8b931fee1635d (patch) | |
tree | 626bcbd250a7fbebdf5958a288d2f438d4f9fb5a /3rdparty/bgfx/scripts/genie.lua | |
parent | c913ccb59d713ce0b91135520719ac5385e54358 (diff) |
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
Diffstat (limited to '3rdparty/bgfx/scripts/genie.lua')
-rw-r--r-- | 3rdparty/bgfx/scripts/genie.lua | 80 |
1 files changed, 64 insertions, 16 deletions
diff --git a/3rdparty/bgfx/scripts/genie.lua b/3rdparty/bgfx/scripts/genie.lua index 05bc713595a..516833df6dc 100644 --- a/3rdparty/bgfx/scripts/genie.lua +++ b/3rdparty/bgfx/scripts/genie.lua @@ -1,5 +1,5 @@ -- --- Copyright 2010-2018 Branimir Karadzic. All rights reserved. +-- Copyright 2010-2019 Branimir Karadzic. All rights reserved. -- License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause -- @@ -19,13 +19,13 @@ newoption { } newoption { - trigger = "with-profiler", - description = "Enable build with intrusive profiler.", + trigger = "with-wayland", + description = "Use Wayland backend.", } newoption { - trigger = "with-scintilla", - description = "Enable building with Scintilla editor.", + trigger = "with-profiler", + description = "Enable build with intrusive profiler.", } newoption { @@ -48,13 +48,40 @@ newoption { description = "Enable building examples.", } +newaction { + trigger = "idl", + description = "Generate bgfx interface source code", + execute = function () + + local gen = require "bgfx-codegen" + + local function generate(tempfile, outputfile, indent) + local codes = gen.apply(tempfile) + codes = gen.format(codes, {indent = indent}) + gen.write(codes, outputfile) + print("Generating: " .. outputfile) + end + + generate("temp.bgfx.h" , "../include/bgfx/c99/bgfx.h", " ") + generate("temp.bgfx.idl.inl", "../src/bgfx.idl.inl", "\t") + generate("temp.defines.h", "../include/bgfx/defines.h", "\t") + + do + local csgen = require "bindings-cs" + csgen.write(csgen.gen(), "../bindings/cs/bgfx.cs") + end + + os.exit() + end +} + solution "bgfx" configurations { "Debug", "Release", } - if _ACTION == "xcode4" then + if _ACTION:match "xcode*" then platforms { "Universal", } @@ -107,6 +134,10 @@ end function copyLib() end +if _OPTIONS["with-wayland"] then + defines { "WL_EGL_PLATFORM=1" } +end + if _OPTIONS["with-sdl"] then if os.is("windows") then if not os.getenv("SDL2_DIR") then @@ -139,8 +170,8 @@ function exampleProjectDefaults() } links { - "example-common", "example-glue", + "example-common", "bgfx", "bimg_decode", "bimg", @@ -151,6 +182,13 @@ function exampleProjectDefaults() defines { "ENTRY_CONFIG_USE_SDL=1" } links { "SDL2" } + configuration { "linux or freebsd" } + if _OPTIONS["with-wayland"] then + links { + "wayland-egl", + } + end + configuration { "osx" } libdirs { "$(SDL2_DIR)/lib" } @@ -162,13 +200,19 @@ function exampleProjectDefaults() links { "glfw3" } configuration { "linux or freebsd" } - links { - "Xrandr", - "Xinerama", - "Xi", - "Xxf86vm", - "Xcursor", - } + if _OPTIONS["with-wayland"] then + links { + "wayland-egl", + } + else + links { + "Xrandr", + "Xinerama", + "Xi", + "Xxf86vm", + "Xcursor", + } + end configuration { "osx" } linkoptions { @@ -305,13 +349,13 @@ function exampleProjectDefaults() "-weak_framework Metal", } - configuration { "xcode4", "ios" } + configuration { "xcode*", "ios" } kind "WindowedApp" files { path.join(BGFX_DIR, "examples/runtime/iOS-Info.plist"), } - configuration { "xcode4", "tvos" } + configuration { "xcode*", "tvos" } kind "WindowedApp" files { path.join(BGFX_DIR, "examples/runtime/tvOS-Info.plist"), @@ -448,6 +492,9 @@ or _OPTIONS["with-combined-examples"] then , "36-sky" , "37-gpudrivenrendering" , "38-bloom" + , "39-assao" + , "40-svt" + , "41-tess" ) -- C99 source doesn't compile under WinRT settings @@ -467,4 +514,5 @@ if _OPTIONS["with-tools"] then dofile "texturec.lua" dofile "texturev.lua" dofile "geometryc.lua" + dofile "geometryv.lua" end |