diff options
Diffstat (limited to '3rdparty/bgfx/examples/17-drawstress/drawstress.cpp')
-rw-r--r-- | 3rdparty/bgfx/examples/17-drawstress/drawstress.cpp | 43 |
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 */ ); |