mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-08-27 16:46:36 +00:00
added typless checks
This commit is contained in:
@@ -32,7 +32,7 @@ void Imgui_Dx11::CreateRenderTarget(ID3D11Resource* out)
|
||||
{
|
||||
D3D11_RENDER_TARGET_VIEW_DESC rtvDesc;
|
||||
ZeroMemory(&rtvDesc, sizeof(rtvDesc));
|
||||
rtvDesc.Format = outDesc.Format;
|
||||
rtvDesc.Format = TranslateTypelessFormats(outDesc.Format);
|
||||
rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
|
||||
rtvDesc.Texture2D.MipSlice = 0;
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@ void Imgui_Dx12::CreateRenderTarget(const D3D12_RESOURCE_DESC& InDesc)
|
||||
desc.Height = InDesc.Height;
|
||||
desc.DepthOrArraySize = 1;
|
||||
desc.MipLevels = 1;
|
||||
desc.Format = InDesc.Format;
|
||||
desc.Format = TranslateTypelessFormats(InDesc.Format);
|
||||
desc.SampleDesc.Count = 1;
|
||||
desc.SampleDesc.Quality = 0;
|
||||
desc.Layout = D3D12_TEXTURE_LAYOUT_UNKNOWN;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "../pch.h"
|
||||
#include "imgui_common.h"
|
||||
#include <dxgi.h>
|
||||
|
||||
class ImguiDxBase
|
||||
{
|
||||
@@ -15,6 +16,30 @@ protected:
|
||||
long frameCounter = 0;
|
||||
void RenderMenu();
|
||||
|
||||
static DXGI_FORMAT TranslateTypelessFormats(DXGI_FORMAT format)
|
||||
{
|
||||
switch (format) {
|
||||
case DXGI_FORMAT_R32G32B32A32_TYPELESS:
|
||||
return DXGI_FORMAT_R32G32B32A32_FLOAT;
|
||||
case DXGI_FORMAT_R32G32B32_TYPELESS:
|
||||
return DXGI_FORMAT_R32G32B32_FLOAT;
|
||||
case DXGI_FORMAT_R16G16B16A16_TYPELESS:
|
||||
return DXGI_FORMAT_R16G16B16A16_FLOAT;
|
||||
case DXGI_FORMAT_R10G10B10A2_TYPELESS:
|
||||
return DXGI_FORMAT_R10G10B10A2_UINT;
|
||||
case DXGI_FORMAT_R8G8B8A8_TYPELESS:
|
||||
return DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
case DXGI_FORMAT_B8G8R8A8_TYPELESS:
|
||||
return DXGI_FORMAT_B8G8R8A8_UNORM;
|
||||
case DXGI_FORMAT_R16G16_TYPELESS:
|
||||
return DXGI_FORMAT_R16G16_FLOAT;
|
||||
case DXGI_FORMAT_R32G32_TYPELESS:
|
||||
return DXGI_FORMAT_R32G32_FLOAT;
|
||||
default:
|
||||
return format;
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
bool IsVisible() const;
|
||||
bool IsInited() const { return _baseInit; }
|
||||
|
||||
Reference in New Issue
Block a user