summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/examples/17-drawstress/drawstress.cpp')
-rw-r--r--3rdparty/bgfx/examples/17-drawstress/drawstress.cpp43
1 files changed, 14 insertions, 29 deletions
diff --git a/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp b/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp
index 69dd2fef099..d3546f65096 100644
--- a/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp
+++ b/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright 2011-2016 Branimir Karadzic. All rights reserved.
+ * Copyright 2011-2017 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
@@ -9,10 +9,20 @@
#include <bx/uint32_t.h>
#include "imgui/imgui.h"
+#include <bgfx/embedded_shader.h>
+
// embedded shaders
#include "vs_drawstress.bin.h"
#include "fs_drawstress.bin.h"
+static const bgfx::EmbeddedShader s_embeddedShaders[] =
+{
+ BGFX_EMBEDDED_SHADER(vs_drawstress),
+ BGFX_EMBEDDED_SHADER(fs_drawstress),
+
+ BGFX_EMBEDDED_SHADER_END()
+};
+
struct PosColorVertex
{
float m_x;
@@ -113,37 +123,12 @@ class ExampleDrawStress : public entry::AppI
// Create vertex stream declaration.
PosColorVertex::init();
- const bgfx::Memory* vs_drawstress;
- const bgfx::Memory* fs_drawstress;
-
- switch (bgfx::getRendererType() )
- {
- case bgfx::RendererType::Direct3D9:
- vs_drawstress = bgfx::makeRef(vs_drawstress_dx9, sizeof(vs_drawstress_dx9) );
- fs_drawstress = bgfx::makeRef(fs_drawstress_dx9, sizeof(fs_drawstress_dx9) );
- break;
-
- case bgfx::RendererType::Direct3D11:
- case bgfx::RendererType::Direct3D12:
- vs_drawstress = bgfx::makeRef(vs_drawstress_dx11, sizeof(vs_drawstress_dx11) );
- fs_drawstress = bgfx::makeRef(fs_drawstress_dx11, sizeof(fs_drawstress_dx11) );
- break;
-
- case bgfx::RendererType::Metal:
- vs_drawstress = bgfx::makeRef(vs_drawstress_mtl, sizeof(vs_drawstress_mtl) );
- fs_drawstress = bgfx::makeRef(fs_drawstress_mtl, sizeof(fs_drawstress_mtl) );
- break;
-
- default:
- vs_drawstress = bgfx::makeRef(vs_drawstress_glsl, sizeof(vs_drawstress_glsl) );
- fs_drawstress = bgfx::makeRef(fs_drawstress_glsl, sizeof(fs_drawstress_glsl) );
- break;
- }
+ bgfx::RendererType::Enum type = bgfx::getRendererType();
// Create program from shaders.
m_program = bgfx::createProgram(
- bgfx::createShader(vs_drawstress)
- , bgfx::createShader(fs_drawstress)
+ bgfx::createEmbeddedShader(s_embeddedShaders, type, "vs_drawstress")
+ , bgfx::createEmbeddedShader(s_embeddedShaders, type, "fs_drawstress")
, true /* destroy shaders when program is destroyed */
);