Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/dxgi/dxgi_factory.h')
-rw-r--r--src/dxgi/dxgi_factory.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/dxgi/dxgi_factory.h b/src/dxgi/dxgi_factory.h
index 81b51143..96a4410c 100644
--- a/src/dxgi/dxgi_factory.h
+++ b/src/dxgi/dxgi_factory.h
@@ -1,6 +1,7 @@
#pragma once
#include <vector>
+#include <mutex>
#include "dxgi_adapter.h"
#include "dxgi_monitor.h"
@@ -12,7 +13,13 @@ namespace dxvk {
class DxgiFactory;
- class DxgiVkFactory : public IDXGIVkInteropFactory {
+ struct DXVK_VK_GLOBAL_HDR_STATE {
+ uint32_t Serial;
+ DXGI_COLOR_SPACE_TYPE ColorSpace;
+ DXGI_VK_HDR_METADATA Metadata;
+ };
+
+ class DxgiVkFactory : public IDXGIVkInteropFactory1 {
public:
@@ -30,6 +37,14 @@ namespace dxvk {
VkInstance* pInstance,
PFN_vkGetInstanceProcAddr* ppfnVkGetInstanceProcAddr);
+ HRESULT STDMETHODCALLTYPE GetGlobalHDRState(
+ DXGI_COLOR_SPACE_TYPE *pOutColorSpace,
+ DXGI_HDR_METADATA_HDR10 *pOutMetadata);
+
+ HRESULT STDMETHODCALLTYPE SetGlobalHDRState(
+ DXGI_COLOR_SPACE_TYPE ColorSpace,
+ const DXGI_HDR_METADATA_HDR10 *pMetadata);
+
private:
DxgiFactory* m_factory;
@@ -173,6 +188,8 @@ namespace dxvk {
DxgiMonitorInfo* GetMonitorInfo() {
return &m_monitorInfo;
}
+
+ DXVK_VK_GLOBAL_HDR_STATE GlobalHDRState();
private: