|
|
@@ -6,8 +6,8 @@
|
|
|
#ifndef BGFX_EMBEDDED_SHADER_H_HEADER_GUARD
|
|
|
#define BGFX_EMBEDDED_SHADER_H_HEADER_GUARD
|
|
|
|
|
|
-#include <bx/bx.h>
|
|
|
#include "bgfx.h"
|
|
|
+#include <bx/platform.h>
|
|
|
|
|
|
#define BGFX_EMBEDDED_SHADER_DXBC(...)
|
|
|
#define BGFX_EMBEDDED_SHADER_PSSL(...)
|
|
|
@@ -58,40 +58,47 @@
|
|
|
|| BX_PLATFORM_OSX \
|
|
|
)
|
|
|
|
|
|
+///
|
|
|
+#define BGFX_EMBEDDED_SHADER_CONCATENATE(_x, _y) BGFX_EMBEDDED_SHADER_CONCATENATE_(_x, _y)
|
|
|
+#define BGFX_EMBEDDED_SHADER_CONCATENATE_(_x, _y) _x ## _y
|
|
|
+
|
|
|
+///
|
|
|
+#define BGFX_EMBEDDED_SHADER_COUNTOF(_x) (sizeof(_x)/sizeof(_x[0]) )
|
|
|
+
|
|
|
#if BGFX_PLATFORM_SUPPORTS_DXBC
|
|
|
# undef BGFX_EMBEDDED_SHADER_DXBC
|
|
|
# define BGFX_EMBEDDED_SHADER_DXBC(_renderer, _name) \
|
|
|
- { _renderer, BX_CONCATENATE(_name, _dx11), BX_COUNTOF(BX_CONCATENATE(_name, _dx11) ) },
|
|
|
+ { _renderer, BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _dx11), BGFX_EMBEDDED_SHADER_COUNTOF(BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _dx11) ) },
|
|
|
#endif // BGFX_PLATFORM_SUPPORTS_DXBC
|
|
|
|
|
|
#if BGFX_PLATFORM_SUPPORTS_PSSL
|
|
|
# undef BGFX_EMBEDDED_SHADER_PSSL
|
|
|
# define BGFX_EMBEDDED_SHADER_PSSL(_renderer, _name) \
|
|
|
- { _renderer, BX_CONCATENATE(_name, _pssl), BX_CONCATENATE(_name, _pssl_size) },
|
|
|
+ { _renderer, BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _pssl), BGFX_EMBEDDED_SHADER_COUNTOF(BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _pssl_size) ) },
|
|
|
#endif // BGFX_PLATFORM_SUPPORTS_PSSL
|
|
|
|
|
|
#if BGFX_PLATFORM_SUPPORTS_ESSL
|
|
|
# undef BGFX_EMBEDDED_SHADER_ESSL
|
|
|
# define BGFX_EMBEDDED_SHADER_ESSL(_renderer, _name) \
|
|
|
- { _renderer, BX_CONCATENATE(_name, _essl), BX_COUNTOF(BX_CONCATENATE(_name, _essl) ) },
|
|
|
+ { _renderer, BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _essl), BGFX_EMBEDDED_SHADER_COUNTOF(BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _essl) ) },
|
|
|
#endif // BGFX_PLATFORM_SUPPORTS_ESSL
|
|
|
|
|
|
#if BGFX_PLATFORM_SUPPORTS_GLSL
|
|
|
# undef BGFX_EMBEDDED_SHADER_GLSL
|
|
|
# define BGFX_EMBEDDED_SHADER_GLSL(_renderer, _name) \
|
|
|
- { _renderer, BX_CONCATENATE(_name, _glsl), BX_COUNTOF(BX_CONCATENATE(_name, _glsl) ) },
|
|
|
+ { _renderer, BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _glsl), BGFX_EMBEDDED_SHADER_COUNTOF(BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _glsl) ) },
|
|
|
#endif // BGFX_PLATFORM_SUPPORTS_GLSL
|
|
|
|
|
|
#if BGFX_PLATFORM_SUPPORTS_SPIRV
|
|
|
# undef BGFX_EMBEDDED_SHADER_SPIRV
|
|
|
# define BGFX_EMBEDDED_SHADER_SPIRV(_renderer, _name) \
|
|
|
- { _renderer, BX_CONCATENATE(_name, _spv), BX_COUNTOF(BX_CONCATENATE(_name, _spv) ) },
|
|
|
+ { _renderer, BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _spv), BGFX_EMBEDDED_SHADER_COUNTOF(BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _spv) ) },
|
|
|
#endif // BGFX_PLATFORM_SUPPORTS_SPIRV
|
|
|
|
|
|
#if BGFX_PLATFORM_SUPPORTS_METAL
|
|
|
# undef BGFX_EMBEDDED_SHADER_METAL
|
|
|
# define BGFX_EMBEDDED_SHADER_METAL(_renderer, _name) \
|
|
|
- { _renderer, BX_CONCATENATE(_name, _mtl), BX_COUNTOF(BX_CONCATENATE(_name, _mtl) ) },
|
|
|
+ { _renderer, BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _mtl), BGFX_EMBEDDED_SHADER_COUNTOF(BGFX_EMBEDDED_SHADER_CONCATENATE(_name, _mtl) ) },
|
|
|
#endif // BGFX_PLATFORM_SUPPORTS_METAL
|
|
|
|
|
|
#define BGFX_EMBEDDED_SHADER(_name) \
|