Added NVN stub.

This commit is contained in:
Бранимир Караџић 2019-03-12 17:01:02 -07:00
parent 96ad5c3f30
commit 9f7c3281e1
11 changed files with 101 additions and 21 deletions

View File

@ -110,6 +110,7 @@ static bgfx::ShaderHandle loadShader(bx::FileReaderI* _reader, const char* _name
case bgfx::RendererType::Direct3D12: shaderPath = "shaders/dx11/"; break;
case bgfx::RendererType::Gnm: shaderPath = "shaders/pssl/"; break;
case bgfx::RendererType::Metal: shaderPath = "shaders/metal/"; break;
case bgfx::RendererType::Nvn: shaderPath = "shaders/nvn/"; break;
case bgfx::RendererType::OpenGL: shaderPath = "shaders/glsl/"; break;
case bgfx::RendererType::OpenGLES: shaderPath = "shaders/essl/"; break;
case bgfx::RendererType::Vulkan: shaderPath = "shaders/spirv/"; break;

View File

@ -57,6 +57,7 @@ namespace bgfx
Direct3D12, //!< Direct3D 12.0
Gnm, //!< GNM
Metal, //!< Metal
Nvn, //!< NVN
OpenGLES, //!< OpenGL ES 2.0+
OpenGL, //!< OpenGL 2.1+
Vulkan, //!< Vulkan

View File

@ -85,9 +85,10 @@ typedef enum bgfx_renderer_type
BGFX_RENDERER_TYPE_DIRECT3D12, /** ( 3) Direct3D 12.0 */
BGFX_RENDERER_TYPE_GNM, /** ( 4) GNM */
BGFX_RENDERER_TYPE_METAL, /** ( 5) Metal */
BGFX_RENDERER_TYPE_OPENGLES, /** ( 6) OpenGL ES 2.0+ */
BGFX_RENDERER_TYPE_OPENGL, /** ( 7) OpenGL 2.1+ */
BGFX_RENDERER_TYPE_VULKAN, /** ( 8) Vulkan */
BGFX_RENDERER_TYPE_NVN, /** ( 6) NVN */
BGFX_RENDERER_TYPE_OPENGLES, /** ( 7) OpenGL ES 2.0+ */
BGFX_RENDERER_TYPE_OPENGL, /** ( 8) OpenGL 2.1+ */
BGFX_RENDERER_TYPE_VULKAN, /** ( 9) Vulkan */
BGFX_RENDERER_TYPE_COUNT

View File

@ -14,8 +14,9 @@
#define BGFX_EMBEDDED_SHADER_PSSL(...)
#define BGFX_EMBEDDED_SHADER_ESSL(...)
#define BGFX_EMBEDDED_SHADER_GLSL(...)
#define BGFX_EMBEDDED_SHADER_SPIRV(...)
#define BGFX_EMBEDDED_SHADER_METAL(...)
#define BGFX_EMBEDDED_SHADER_NVN(...)
#define BGFX_EMBEDDED_SHADER_SPIRV(...)
#define BGFX_PLATFORM_SUPPORTS_DX9BC (0 \
|| BX_PLATFORM_WINDOWS \
@ -48,6 +49,9 @@
|| BX_PLATFORM_IOS \
|| BX_PLATFORM_OSX \
)
#define BGFX_PLATFORM_SUPPORTS_NVN (0 \
|| BX_PLATFORM_NX \
)
#define BGFX_PLATFORM_SUPPORTS_SPIRV (0 \
|| BX_PLATFORM_ANDROID \
|| BX_PLATFORM_LINUX \
@ -105,6 +109,7 @@
BGFX_EMBEDDED_SHADER_DXBC (bgfx::RendererType::Direct3D12, _name) \
BGFX_EMBEDDED_SHADER_PSSL (bgfx::RendererType::Gnm, _name) \
BGFX_EMBEDDED_SHADER_METAL(bgfx::RendererType::Metal, _name) \
BGFX_EMBEDDED_SHADER_NVN (bgfx::RendererType::Nvn, _name) \
BGFX_EMBEDDED_SHADER_ESSL (bgfx::RendererType::OpenGLES, _name) \
BGFX_EMBEDDED_SHADER_GLSL (bgfx::RendererType::OpenGL, _name) \
BGFX_EMBEDDED_SHADER_SPIRV(bgfx::RendererType::Vulkan, _name) \

View File

@ -42,6 +42,7 @@ enum.RendererType { comment = "Renderer types:" }
.Direct3D12 --- Direct3D 12.0
.Gnm --- GNM
.Metal --- Metal
.Nvn --- NVN
.OpenGLES --- OpenGL ES 2.0+
.OpenGL --- OpenGL 2.1+
.Vulkan --- Vulkan

View File

@ -153,11 +153,16 @@ function bgfxProjectBase(_kind, _defines)
path.join(BGFX_DIR, "src/**.bin.h"),
}
overridefiles(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-ext"), {
overridefiles(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-gnm"), {
path.join(BGFX_DIR, "src/renderer_gnm.cpp"),
path.join(BGFX_DIR, "src/renderer_gnm.h"),
})
overridefiles(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-nvn"), {
path.join(BGFX_DIR, "src/renderer_nvn.cpp"),
path.join(BGFX_DIR, "src/renderer_nvn.h"),
})
if _OPTIONS["with-amalgamated"] then
excludes {
path.join(BGFX_DIR, "src/bgfx.cpp"),
@ -205,10 +210,16 @@ function bgfxProjectBase(_kind, _defines)
}
end
if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-ext"), {
if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-gnm"), {
path.join(BGFX_DIR, "scripts/bgfx.lua"), }) then
dofile(path.join(BGFX_DIR, "../bgfx-ext/scripts/bgfx.lua") )
dofile(path.join(BGFX_DIR, "../bgfx-gnm/scripts/bgfx.lua") )
end
if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-nvn"), {
path.join(BGFX_DIR, "scripts/bgfx.lua"), }) then
dofile(path.join(BGFX_DIR, "../bgfx-nvn/scripts/bgfx.lua") )
end
configuration {}

View File

@ -2436,6 +2436,7 @@ namespace bgfx
BGFX_RENDERER_CONTEXT(d3d12);
BGFX_RENDERER_CONTEXT(gnm);
BGFX_RENDERER_CONTEXT(mtl);
BGFX_RENDERER_CONTEXT(nvn);
BGFX_RENDERER_CONTEXT(gl);
BGFX_RENDERER_CONTEXT(vk);
@ -2461,6 +2462,7 @@ namespace bgfx
#else
{ noop::rendererCreate, noop::rendererDestroy, BGFX_RENDERER_NOOP_NAME, false }, // Noop
#endif // BX_PLATFORM_OSX || BX_PLATFORM_IOS
{ nvn::rendererCreate, nvn::rendererDestroy, BGFX_RENDERER_NVN_NAME, !!BGFX_CONFIG_RENDERER_NVN }, // NVN
{ gl::rendererCreate, gl::rendererDestroy, BGFX_RENDERER_OPENGL_NAME, !!BGFX_CONFIG_RENDERER_OPENGLES }, // OpenGLES
{ gl::rendererCreate, gl::rendererDestroy, BGFX_RENDERER_OPENGL_NAME, !!BGFX_CONFIG_RENDERER_OPENGL }, // OpenGL
{ vk::rendererCreate, vk::rendererDestroy, BGFX_RENDERER_VULKAN_NAME, !!BGFX_CONFIG_RENDERER_VULKAN }, // Vulkan

View File

@ -221,9 +221,10 @@ namespace stl = std;
#define BGFX_RENDERER_DIRECT3D9_NAME "Direct3D 9"
#define BGFX_RENDERER_DIRECT3D11_NAME "Direct3D 11"
#define BGFX_RENDERER_DIRECT3D12_NAME "Direct3D 12"
#define BGFX_RENDERER_METAL_NAME "Metal"
#define BGFX_RENDERER_VULKAN_NAME "Vulkan"
#define BGFX_RENDERER_GNM_NAME "GNM"
#define BGFX_RENDERER_METAL_NAME "Metal"
#define BGFX_RENDERER_NVN_NAME "NVN"
#define BGFX_RENDERER_VULKAN_NAME "Vulkan"
#define BGFX_RENDERER_NOOP_NAME "Noop"
#if BGFX_CONFIG_RENDERER_OPENGL

View File

@ -15,11 +15,12 @@
#if !defined(BGFX_CONFIG_RENDERER_DIRECT3D9) \
&& !defined(BGFX_CONFIG_RENDERER_DIRECT3D11) \
&& !defined(BGFX_CONFIG_RENDERER_DIRECT3D12) \
&& !defined(BGFX_CONFIG_RENDERER_GNM) \
&& !defined(BGFX_CONFIG_RENDERER_METAL) \
&& !defined(BGFX_CONFIG_RENDERER_NVN) \
&& !defined(BGFX_CONFIG_RENDERER_OPENGL) \
&& !defined(BGFX_CONFIG_RENDERER_OPENGLES) \
&& !defined(BGFX_CONFIG_RENDERER_VULKAN) \
&& !defined(BGFX_CONFIG_RENDERER_GNM)
&& !defined(BGFX_CONFIG_RENDERER_VULKAN)
# ifndef BGFX_CONFIG_RENDERER_DIRECT3D9
# define BGFX_CONFIG_RENDERER_DIRECT3D9 (0 \
@ -43,6 +44,12 @@
? 1 : 0)
# endif // BGFX_CONFIG_RENDERER_DIRECT3D12
# ifndef BGFX_CONFIG_RENDERER_GNM
# define BGFX_CONFIG_RENDERER_GNM (0 \
|| BX_PLATFORM_PS4 \
? 1 : 0)
# endif // BGFX_CONFIG_RENDERER_GNM
# ifndef BGFX_CONFIG_RENDERER_METAL
# define BGFX_CONFIG_RENDERER_METAL (0 \
|| (BX_PLATFORM_IOS && BX_CPU_ARM) \
@ -50,6 +57,12 @@
? 1 : 0)
# endif // BGFX_CONFIG_RENDERER_METAL
# ifndef BGFX_CONFIG_RENDERER_NVN
# define BGFX_CONFIG_RENDERER_NVN (0 \
|| BX_PLATFORM_NX \
? 1 : 0)
# endif // BGFX_CONFIG_RENDERER_NVN
# ifndef BGFX_CONFIG_RENDERER_OPENGL
# define BGFX_CONFIG_RENDERER_OPENGL (0 \
|| BX_PLATFORM_BSD \
@ -79,12 +92,6 @@
? 1 : 0)
# endif // BGFX_CONFIG_RENDERER_VULKAN
# ifndef BGFX_CONFIG_RENDERER_GNM
# define BGFX_CONFIG_RENDERER_GNM (0 \
|| BX_PLATFORM_PS4 \
? 1 : 0)
# endif // BGFX_CONFIG_RENDERER_GNM
#else
# ifndef BGFX_CONFIG_RENDERER_DIRECT3D9
# define BGFX_CONFIG_RENDERER_DIRECT3D9 0
@ -98,10 +105,18 @@
# define BGFX_CONFIG_RENDERER_DIRECT3D12 0
# endif // BGFX_CONFIG_RENDERER_DIRECT3D12
# ifndef BGFX_CONFIG_RENDERER_GNM
# define BGFX_CONFIG_RENDERER_GNM 0
# endif // BGFX_CONFIG_RENDERER_GNM
# ifndef BGFX_CONFIG_RENDERER_METAL
# define BGFX_CONFIG_RENDERER_METAL 0
# endif // BGFX_CONFIG_RENDERER_METAL
# ifndef BGFX_CONFIG_RENDERER_NVN
# define BGFX_CONFIG_RENDERER_NVN 0
# endif // BGFX_CONFIG_RENDERER_NVN
# ifndef BGFX_CONFIG_RENDERER_OPENGL
# define BGFX_CONFIG_RENDERER_OPENGL 0
# endif // BGFX_CONFIG_RENDERER_OPENGL
@ -113,10 +128,6 @@
# ifndef BGFX_CONFIG_RENDERER_VULKAN
# define BGFX_CONFIG_RENDERER_VULKAN 0
# endif // BGFX_CONFIG_RENDERER_VULKAN
# ifndef BGFX_CONFIG_RENDERER_GNM
# define BGFX_CONFIG_RENDERER_GNM 0
# endif // BGFX_CONFIG_RENDERER_GNM
#endif // !defined...
#if BGFX_CONFIG_RENDERER_OPENGL && BGFX_CONFIG_RENDERER_OPENGL < 21

45
src/renderer_nvn.cpp Normal file
View File

@ -0,0 +1,45 @@
/*
* Copyright 2011-2019 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
#include "bgfx_p.h"
namespace bgfx
{
#define BGFX_DECLARE_EMBEDDED_SHADER(_name) \
extern const uint8_t* BX_CONCATENATE(_name, _nvn); \
extern const uint32_t BX_CONCATENATE(_name, _nvn_size); \
static const uint8_t BX_CONCATENATE(_name, _int_nvn)[] = { 0 }; \
const uint8_t* BX_CONCATENATE(_name, _nvn) = &BX_CONCATENATE(_name, _int_nvn)[0]; \
const uint32_t BX_CONCATENATE(_name, _nvn_size) = 1
BGFX_DECLARE_EMBEDDED_SHADER(vs_debugfont);
BGFX_DECLARE_EMBEDDED_SHADER(fs_debugfont);
BGFX_DECLARE_EMBEDDED_SHADER(vs_clear);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear0);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear1);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear2);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear3);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear4);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear5);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear6);
BGFX_DECLARE_EMBEDDED_SHADER(fs_clear7);
#undef BGFX_DECLARE_EMBEDDED_SHADER
} // namespace bgfx
namespace bgfx { namespace nvn
{
RendererContextI* rendererCreate(const Init& _init)
{
BX_UNUSED(_init);
return NULL;
}
void rendererDestroy()
{
}
} /* namespace nvn */ } // namespace bgfx

View File

@ -49,6 +49,7 @@ namespace bgfx
&s_attribTypeSizeD3D1x, // Direct3D12
&s_attribTypeSizeD3D1x, // Gnm
&s_attribTypeSizeGl, // Metal
&s_attribTypeSizeGl, // Nvn
&s_attribTypeSizeGl, // OpenGLES
&s_attribTypeSizeGl, // OpenGL
&s_attribTypeSizeD3D1x, // Vulkan