From a5447b5fd8a5cde5f46d586aa7750ac559730d4b Mon Sep 17 00:00:00 2001 From: jp9000 Date: Mon, 29 Dec 2014 00:27:03 -0800 Subject: [PATCH] libobs-d3d11: Move DXGI -> GS format conversion Move the DXGI -> GS format conversion function to d3d11-subsystem.hpp instead of being exclusively in the d3d11-texture2d.cpp function. --- libobs-d3d11/d3d11-subsystem.hpp | 25 +++++++++++++++++++++++++ libobs-d3d11/d3d11-texture2d.cpp | 25 ------------------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/libobs-d3d11/d3d11-subsystem.hpp b/libobs-d3d11/d3d11-subsystem.hpp index 8c0ca7d18..2e4d2445b 100644 --- a/libobs-d3d11/d3d11-subsystem.hpp +++ b/libobs-d3d11/d3d11-subsystem.hpp @@ -80,6 +80,31 @@ static inline DXGI_FORMAT ConvertGSTextureFormat(gs_color_format format) return DXGI_FORMAT_UNKNOWN; } +static inline gs_color_format ConvertDXGITextureFormat(DXGI_FORMAT format) +{ + switch (format) { + case DXGI_FORMAT_A8_UNORM: return GS_A8; + case DXGI_FORMAT_R8_UNORM: return GS_R8; + case DXGI_FORMAT_R8G8B8A8_UNORM: return GS_RGBA; + case DXGI_FORMAT_B8G8R8X8_UNORM: return GS_BGRX; + case DXGI_FORMAT_B8G8R8A8_UNORM: return GS_BGRA; + case DXGI_FORMAT_R10G10B10A2_UNORM: return GS_R10G10B10A2; + case DXGI_FORMAT_R16G16B16A16_UNORM: return GS_RGBA16; + case DXGI_FORMAT_R16_UNORM: return GS_R16; + case DXGI_FORMAT_R16G16B16A16_FLOAT: return GS_RGBA16F; + case DXGI_FORMAT_R32G32B32A32_FLOAT: return GS_RGBA32F; + case DXGI_FORMAT_R16G16_FLOAT: return GS_RG16F; + case DXGI_FORMAT_R32G32_FLOAT: return GS_RG32F; + case DXGI_FORMAT_R16_FLOAT: return GS_R16F; + case DXGI_FORMAT_R32_FLOAT: return GS_R32F; + case DXGI_FORMAT_BC1_UNORM: return GS_DXT1; + case DXGI_FORMAT_BC2_UNORM: return GS_DXT3; + case DXGI_FORMAT_BC3_UNORM: return GS_DXT5; + } + + return GS_UNKNOWN; +} + static inline DXGI_FORMAT ConvertGSZStencilFormat(gs_zstencil_format format) { switch (format) { diff --git a/libobs-d3d11/d3d11-texture2d.cpp b/libobs-d3d11/d3d11-texture2d.cpp index ddeb364e3..10b3a98f4 100644 --- a/libobs-d3d11/d3d11-texture2d.cpp +++ b/libobs-d3d11/d3d11-texture2d.cpp @@ -162,31 +162,6 @@ gs_texture_2d::gs_texture_2d(gs_device_t *device, uint32_t width, InitRenderTargets(); } -static inline gs_color_format ConvertDXGITextureFormat(DXGI_FORMAT format) -{ - switch (format) { - case DXGI_FORMAT_A8_UNORM: return GS_A8; - case DXGI_FORMAT_R8_UNORM: return GS_R8; - case DXGI_FORMAT_R8G8B8A8_UNORM: return GS_RGBA; - case DXGI_FORMAT_B8G8R8X8_UNORM: return GS_BGRX; - case DXGI_FORMAT_B8G8R8A8_UNORM: return GS_BGRA; - case DXGI_FORMAT_R10G10B10A2_UNORM: return GS_R10G10B10A2; - case DXGI_FORMAT_R16G16B16A16_UNORM: return GS_RGBA16; - case DXGI_FORMAT_R16_UNORM: return GS_R16; - case DXGI_FORMAT_R16G16B16A16_FLOAT: return GS_RGBA16F; - case DXGI_FORMAT_R32G32B32A32_FLOAT: return GS_RGBA32F; - case DXGI_FORMAT_R16G16_FLOAT: return GS_RG16F; - case DXGI_FORMAT_R32G32_FLOAT: return GS_RG32F; - case DXGI_FORMAT_R16_FLOAT: return GS_R16F; - case DXGI_FORMAT_R32_FLOAT: return GS_R32F; - case DXGI_FORMAT_BC1_UNORM: return GS_DXT1; - case DXGI_FORMAT_BC2_UNORM: return GS_DXT3; - case DXGI_FORMAT_BC3_UNORM: return GS_DXT5; - } - - return GS_UNKNOWN; -} - gs_texture_2d::gs_texture_2d(gs_device_t *device, uint32_t handle) : isRenderTarget (false), isGDICompatible (false),