2017-10-11 09:51:48 +02:00
|
|
|
#pragma once
|
|
|
|
|
2017-11-29 07:55:44 +01:00
|
|
|
#include "../dxgi/dxgi_include.h"
|
|
|
|
|
2019-09-16 02:20:27 +02:00
|
|
|
#include <d3d11_3.h>
|
2017-12-27 01:36:45 +01:00
|
|
|
|
|
|
|
// This is not defined in the mingw headers
|
|
|
|
#ifndef D3D11_1_UAV_SLOT_COUNT
|
|
|
|
#define D3D11_1_UAV_SLOT_COUNT 64
|
|
|
|
#endif
|
|
|
|
|
2018-01-12 15:38:07 +01:00
|
|
|
#ifndef D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL
|
|
|
|
#define D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL 0xFFFFFFFF
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef D3D11_KEEP_UNORDERED_ACCESS_VIEWS
|
|
|
|
#define D3D11_KEEP_UNORDERED_ACCESS_VIEWS 0xFFFFFFFF
|
|
|
|
#endif
|
|
|
|
|
2018-01-17 15:19:55 +01:00
|
|
|
#define D3D11_DXVK_USE_REMAINING_LAYERS 0xFFFFFFFF
|
|
|
|
#define D3D11_DXVK_USE_REMAINING_LEVELS 0xFFFFFFFF
|
|
|
|
|
2017-12-29 22:20:31 +01:00
|
|
|
// Most of these were copied from d3d11.h
|
2017-12-27 01:36:45 +01:00
|
|
|
// For some strange reason, we cannot use the structures
|
|
|
|
// directly, although others from the same header work.
|
2017-12-29 22:20:31 +01:00
|
|
|
// Some structures are missing from the mingw headers.
|
2018-03-06 18:34:34 +01:00
|
|
|
#ifndef _MSC_VER
|
2018-03-21 13:31:22 +01:00
|
|
|
typedef enum D3D11_FORMAT_SUPPORT2 {
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
|
|
|
|
D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
|
|
|
|
D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
|
|
|
|
D3D11_FORMAT_SUPPORT2_TILED = 0x200,
|
|
|
|
D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400,
|
|
|
|
D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000
|
|
|
|
} D3D11_FORMAT_SUPPORT2;
|
2019-09-15 18:39:47 +02:00
|
|
|
#define D3D11_RESOURCE_MISC_TILE_POOL (0x20000)
|
|
|
|
#define D3D11_RESOURCE_MISC_TILED (0x40000)
|
2018-04-07 14:02:57 +02:00
|
|
|
#ifndef __WINE__
|
2018-08-14 20:12:58 +02:00
|
|
|
|
|
|
|
//MinGW-Headers supports these typedefs since 6.0.0
|
|
|
|
#if !defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 6
|
2018-08-03 11:22:26 +02:00
|
|
|
typedef enum D3D11_COPY_FLAGS {
|
|
|
|
D3D11_COPY_NO_OVERWRITE = 0x1,
|
|
|
|
D3D11_COPY_DISCARD = 0x2,
|
|
|
|
} D3D11_COPY_FLAGS;
|
2018-03-21 13:31:22 +01:00
|
|
|
typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 {
|
|
|
|
DXGI_FORMAT InFormat;
|
|
|
|
UINT OutFormatSupport2;
|
|
|
|
} D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
|
2017-12-27 01:36:45 +01:00
|
|
|
typedef struct D3D11_FEATURE_DATA_THREADING {
|
|
|
|
BOOL DriverConcurrentCreates;
|
|
|
|
BOOL DriverCommandLists;
|
|
|
|
} D3D11_FEATURE_DATA_THREADING;
|
|
|
|
typedef struct D3D11_FEATURE_DATA_DOUBLES {
|
|
|
|
BOOL DoublePrecisionFloatShaderOps;
|
|
|
|
} D3D11_FEATURE_DATA_DOUBLES;
|
|
|
|
typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT {
|
|
|
|
DXGI_FORMAT InFormat;
|
|
|
|
UINT OutFormatSupport;
|
|
|
|
} D3D11_FEATURE_DATA_FORMAT_SUPPORT;
|
2017-12-29 12:51:54 +01:00
|
|
|
typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS {
|
|
|
|
BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
|
|
|
|
} D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
|
2017-12-28 16:33:42 +01:00
|
|
|
typedef enum D3D11_BUFFEREX_SRV_FLAG {
|
|
|
|
D3D11_BUFFEREX_SRV_FLAG_RAW = 1
|
2017-12-29 22:20:31 +01:00
|
|
|
} D3D11_BUFFEREX_SRV_FLAG;
|
2018-01-11 12:23:55 +01:00
|
|
|
typedef enum D3D11_UAV_FLAG {
|
|
|
|
D3D11_BUFFER_UAV_FLAG_RAW = 0x1,
|
|
|
|
D3D11_BUFFER_UAV_FLAG_APPEND = 0x2,
|
|
|
|
D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4
|
|
|
|
} D3D11_UAV_FLAG;
|
2017-12-29 22:20:31 +01:00
|
|
|
typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
|
|
|
|
UINT64 IAVertices;
|
|
|
|
UINT64 IAPrimitives;
|
|
|
|
UINT64 VSInvocations;
|
|
|
|
UINT64 GSInvocations;
|
|
|
|
UINT64 GSPrimitives;
|
|
|
|
UINT64 CInvocations;
|
|
|
|
UINT64 CPrimitives;
|
|
|
|
UINT64 PSInvocations;
|
|
|
|
UINT64 HSInvocations;
|
|
|
|
UINT64 DSInvocations;
|
|
|
|
UINT64 CSInvocations;
|
2018-03-06 18:34:34 +01:00
|
|
|
} D3D11_QUERY_DATA_PIPELINE_STATISTICS;
|
2018-03-17 21:38:35 +01:00
|
|
|
typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
|
|
|
|
BOOL TileBasedDeferredRenderer;
|
|
|
|
} D3D11_FEATURE_DATA_ARCHITECTURE_INFO;
|
2018-03-21 04:58:31 +01:00
|
|
|
typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
|
|
|
|
UINT PixelShaderMinPrecision;
|
|
|
|
UINT AllOtherShaderStagesMinPrecision;
|
|
|
|
} D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT;
|
|
|
|
typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
|
|
|
|
BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter;
|
|
|
|
} D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT;
|
2018-08-14 20:12:58 +02:00
|
|
|
#endif // !defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 6
|
2018-04-07 14:02:57 +02:00
|
|
|
#endif // __WINE__
|
|
|
|
#endif // _MSC_VER
|