From c2e5d2468ad6a38cdb8a067da0678302f6cc6066 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 13 Sep 2019 15:59:15 -0400 Subject: Refactor render-test to make cross platform (#1053) * First pass of render-test refactor. * Make window construction a function that can choose an implementation. * Remove OpenGL as currently has windows dependency. * Disable Vulkan as Renderer impl has dependency on windows. * Pass Window in as parameter of 'update'. * Add win-window.cpp as was missing. * Fix warning on windows about signs during comparison. --- tools/gfx/render.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'tools/gfx/render.cpp') diff --git a/tools/gfx/render.cpp b/tools/gfx/render.cpp index 44bb4fb04..785343927 100644 --- a/tools/gfx/render.cpp +++ b/tools/gfx/render.cpp @@ -3,6 +3,11 @@ #include "../../source/core/slang-math.h" +#include "d3d11/render-d3d11.h" +#include "d3d12/render-d3d12.h" +#include "open-gl/render-gl.h" +#include "vulkan/render-vk.h" + namespace gfx { using namespace Slang; @@ -404,4 +409,32 @@ ProjectionStyle RendererUtil::getProjectionStyle(RendererType type) } } +/* static */ RendererUtil::CreateFunc RendererUtil::getCreateFunc(RendererType type) +{ + switch (type) + { +#if SLANG_WINDOWS_FAMILY + case RendererType::DirectX11: + { + return &createD3D11Renderer; + } + case RendererType::DirectX12: + { + return &createD3D12Renderer; + } + case RendererType::OpenGl: + { + return &createGLRenderer; + } + case RendererType::Vulkan: + { + return &createVKRenderer; + } +#endif + + default: return nullptr; + } +} + + } // renderer_test -- cgit v1.2.3