summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/src/dxgi.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/src/dxgi.h')
-rw-r--r--3rdparty/bgfx/src/dxgi.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/3rdparty/bgfx/src/dxgi.h b/3rdparty/bgfx/src/dxgi.h
index 604a50eb984..cd01d6bf945 100644
--- a/3rdparty/bgfx/src/dxgi.h
+++ b/3rdparty/bgfx/src/dxgi.h
@@ -1,12 +1,15 @@
/*
- * Copyright 2011-2018 Branimir Karadzic. All rights reserved.
- * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
+ * Copyright 2011-2022 Branimir Karadzic. All rights reserved.
+ * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
*/
#ifndef BGFX_DXGI_H_HEADER_GUARD
#define BGFX_DXGI_H_HEADER_GUARD
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
+#include <sal.h>
+#include <unknwn.h>
+
+#if BX_PLATFORM_LINUX || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
# include <d3dcommon.h>
# include <dxgi1_6.h>
#else
@@ -15,7 +18,7 @@
namespace bgfx
{
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
+#if BX_PLATFORM_LINUX || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
typedef ::IUnknown IUnknown;
#else
typedef ::IGraphicsUnknown IUnknown;
@@ -53,7 +56,7 @@ namespace bgfx
///
struct Dxgi
{
-#if BX_PLATFORM_WINDOWS
+#if BX_PLATFORM_LINUX || BX_PLATFORM_WINDOWS
typedef ::IDXGIAdapter3 AdapterI;
typedef ::IDXGIFactory5 FactoryI;
typedef ::IDXGISwapChain3 SwapChainI;
@@ -85,6 +88,11 @@ namespace bgfx
///
HRESULT createSwapChain(IUnknown* _device, const SwapChainDesc& _scd, SwapChainI** _swapChain);
+#if BX_PLATFORM_WINRT
+ ///
+ HRESULT removeSwapChain(const SwapChainDesc& _scd, SwapChainI** _swapChain);
+#endif
+
///
void updateHdr10(SwapChainI* _swapChain, const SwapChainDesc& _scd);
@@ -95,6 +103,9 @@ namespace bgfx
void trim();
///
+ bool tearingSupported() const;
+
+ ///
void* m_dxgiDll;
void* m_dxgiDebugDll;
@@ -103,6 +114,7 @@ namespace bgfx
FactoryI* m_factory;
AdapterI* m_adapter;
OutputI* m_output;
+ bool m_tearingSupported;
};
} // namespace bgfx