From 78cb021f77c6fca960b3718eec0f749a25b4a76a Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 29 Dec 2017 12:51:54 +0100 Subject: [PATCH] [d3d11] Added support for D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS --- src/d3d11/d3d11_device.cpp | 11 +++++++++-- src/d3d11/d3d11_include.h | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index b3896813..a92d9456 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -1006,7 +1006,6 @@ namespace dxvk { HRESULT STDMETHODCALLTYPE D3D11Device::CheckFormatSupport( DXGI_FORMAT Format, UINT* pFormatSupport) { - TRACE(this, Format); return GetFormatSupportFlags(Format, pFormatSupport); } @@ -1100,9 +1099,17 @@ namespace dxvk { return GetFormatSupportFlags(info->InFormat, &info->OutFormatSupport); } return S_OK; + case D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS: { + if (FeatureSupportDataSize != sizeof(D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS)) + return E_INVALIDARG; + + auto info = static_cast(pFeatureSupportData); + info->ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x = TRUE; + } return S_OK; + default: Logger::err(str::format( - "D3D11Device: CheckFeatureSupport: Unknown feature", + "D3D11Device: CheckFeatureSupport: Unknown feature: ", Feature)); return E_INVALIDARG; } diff --git a/src/d3d11/d3d11_include.h b/src/d3d11/d3d11_include.h index c9be8712..7993c239 100644 --- a/src/d3d11/d3d11_include.h +++ b/src/d3d11/d3d11_include.h @@ -23,6 +23,9 @@ typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT { DXGI_FORMAT InFormat; UINT OutFormatSupport; } D3D11_FEATURE_DATA_FORMAT_SUPPORT; +typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS { + BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x; +} D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS; typedef enum D3D11_BUFFEREX_SRV_FLAG { D3D11_BUFFEREX_SRV_FLAG_RAW = 1 } D3D11_BUFFEREX_SRV_FLAG; \ No newline at end of file