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.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tools/gfx/render.h') diff --git a/tools/gfx/render.h b/tools/gfx/render.h index 4a8458e96..42cf5fe60 100644 --- a/tools/gfx/render.h +++ b/tools/gfx/render.h @@ -972,6 +972,8 @@ inline void Renderer::setVertexBuffer(UInt slot, BufferResource* buffer, UInt st /// Functions that are around Renderer and it's types struct RendererUtil { + typedef Renderer* (*CreateFunc)(); + /// Gets the size in bytes of a Format type. Returns 0 if a size is not defined/invalid SLANG_FORCE_INLINE static size_t getFormatSize(Format format) { return s_formatSize[int(format)]; } /// Given a renderer type, gets a projection style @@ -986,6 +988,9 @@ struct RendererUtil /// Get as text static Slang::UnownedStringSlice toText(RendererType type); + /// Given a type returns a function that can construct it, or nullptr if there isn't one + static CreateFunc getCreateFunc(RendererType type); + private: static void compileTimeAsserts(); static const uint8_t s_formatSize[]; // Maps Format::XXX to a size in bytes; -- cgit v1.2.3