Bladeren bron

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.
jp9000 11 jaren geleden
bovenliggende
commit
a5447b5fd8
2 gewijzigde bestanden met toevoegingen van 25 en 25 verwijderingen
  1. 25 0
      libobs-d3d11/d3d11-subsystem.hpp
  2. 0 25
      libobs-d3d11/d3d11-texture2d.cpp

+ 25 - 0
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) {

+ 0 - 25
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),