CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
D3D11_2.h
Go to the documentation of this file.
1#pragma once
2
3#include "REX/W32/D3D11_1.h"
4
5namespace REX::W32
6{
7 struct ID3D11Device2;
8 struct ID3D11DeviceContext2;
9}
10
11namespace REX::W32
12{
17
24
29
36}
37
38namespace REX::W32
39{
41 {
42 std::uint8_t numStandardMips;
43 std::uint8_t numPackedMips;
44 std::uint32_t numTilesForPackedMips;
46 };
47
49 {
50 std::uint32_t widthInTiles;
51 std::uint16_t heightInTiles;
52 std::uint16_t depthInTiles;
54 };
55
57 {
58 std::uint32_t x;
59 std::uint32_t y;
60 std::uint32_t z;
61 std::uint32_t subResource;
62 };
63
65 {
66 std::uint32_t numTiles;
68 std::uint32_t width;
69 std::uint16_t height;
70 std::uint16_t depth;
71 };
72
74 {
75 std::uint32_t widthInTexels;
76 std::uint32_t heightInTexels;
77 std::uint32_t depthInTexels;
78 };
79}
80
81namespace REX::W32
82{
83 struct __declspec(novtable, uuid("9d06dffa-d1e5-4d07-83a8-1bb123f2f841"))
84 ID3D11Device2 : public ID3D11Device1
85 {
86 virtual void GetImmediateContext2(ID3D11DeviceContext2** a_immediateContext) = 0;
87 virtual HRESULT CreateDeferredContext2(std::uint32_t a_contextFlags, ID3D11DeviceContext2** a_deferredContext) = 0;
88 virtual void GetResourceTiling(ID3D11Resource* a_tiledResource, std::uint32_t* a_numTilesForEntireResource, D3D11_PACKED_MIP_DESC* a_packedMipDesc, D3D11_TILE_SHAPE* a_standardTileShapeForNonPackedMips, std::uint32_t* a_numSubresourceTilings, std::uint32_t a_firstSubResourceTilingToGet, D3D11_SUBRESOURCE_TILING* a_subResourceTilingsForNonPackedMips) = 0;
89 virtual HRESULT CheckMultisampleQualityLevels1(DXGI_FORMAT a_format, std::uint32_t a_sampleCount, std::uint32_t a_flags, std::uint32_t* a_numQualityLevels) = 0;
90 };
91
92 struct __declspec(novtable, uuid("420d5b32-b90c-4da4-bef0-359f6a24a83a"))
93 ID3D11DeviceContext2 : public ID3D11DeviceContext1
94 {
95 virtual HRESULT UpdateTileMappings(ID3D11Resource* a_tiledResource, std::uint32_t numTiledResourceRegions, const D3D11_TILED_RESOURCE_COORDINATE* a_tiledResourceRegionStartCoordinates, const D3D11_TILE_REGION_SIZE* a_tiledResourceRegionSizes, ID3D11Buffer* a_tilePool, std::uint32_t a_numRanges, const std::uint32_t* a_rangeFlags, const std::uint32_t* a_tilePoolStartOffsets, const std::uint32_t* a_rangeTileCounts, std::uint32_t a_flags) = 0;
96 virtual HRESULT CopyTileMappings(ID3D11Resource* a_destTiledResource, const D3D11_TILED_RESOURCE_COORDINATE* a_destRegionStartCoordinate, ID3D11Resource* a_sourceTiledResource, const D3D11_TILED_RESOURCE_COORDINATE* a_sourceRegionStartCoordinate, const D3D11_TILE_REGION_SIZE* a_tileRegionSize, std::uint32_t a_flags) = 0;
97 virtual void CopyTiles(ID3D11Resource* a_tiledResource, const D3D11_TILED_RESOURCE_COORDINATE* a_tileRegionStartCoordinate, const D3D11_TILE_REGION_SIZE* a_tileRegionSize, ID3D11Buffer* a_buffer, std::uint64_t a_bufferStartOffsetInBytes, std::uint32_t a_flags) = 0;
98 virtual void UpdateTiles(ID3D11Resource* a_destTiledResource, const D3D11_TILED_RESOURCE_COORDINATE* a_destTileRegionStartCoordinate, const D3D11_TILE_REGION_SIZE* a_destTileRegionSize, const void* a_sourceTileData, std::uint32_t a_flags) = 0;
99 virtual HRESULT ResizeTilePool(ID3D11Buffer* a_tilePool, std::uint64_t a_newSizeInBytes) = 0;
100 virtual void TiledResourceBarrier(ID3D11DeviceChild* a_tiledResourceOrViewAccessBeforeBarrier, ID3D11DeviceChild* a_tiledResourceOrViewAccessAfterBarrier) = 0;
101 virtual BOOL IsAnnotationEnabled(void) = 0;
102 virtual void SetMarkerInt(const wchar_t* a_label, std::int32_t a_data) = 0;
103 virtual void BeginEventInt(const wchar_t* a_label, std::int32_t a_data) = 0;
104 virtual void EndEvent(void) = 0;
105 };
106}
107
108namespace REX::W32
109{
110 inline constexpr IID IID_ID3D11Device2{ 0x9D06DFFA, 0xD1E5, 0x4D07, { 0x83, 0xA8, 0x1B, 0xB1, 0x23, 0xF2, 0xF8, 0x41 } };
111 inline constexpr IID IID_ID3D11DeviceContext2{ 0x420D5B32, 0xB90C, 0x4DA4, { 0xBE, 0xF0, 0x35, 0x9F, 0x6A, 0x24, 0xA8, 0x3A } };
112}
Definition BSDirectInputManager.h:8
D3D11_TILE_RANGE_FLAG
Definition D3D11_2.h:31
@ D3D11_TILE_RANGE_SKIP
Definition D3D11_2.h:33
@ D3D11_TILE_RANGE_REUSE_SINGLE_TILE
Definition D3D11_2.h:34
@ D3D11_TILE_RANGE_NULL
Definition D3D11_2.h:32
struct __declspec(novtable, uuid("00000000-0000-0000-c000-000000000046")) IUnknown
Definition COM.h:7
std::int32_t BOOL
Definition BASE.h:13
D3D11_TILE_COPY_FLAG
Definition D3D11_2.h:19
@ D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
Definition D3D11_2.h:21
@ D3D11_TILE_COPY_NO_OVERWRITE
Definition D3D11_2.h:20
@ D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
Definition D3D11_2.h:22
DXGI_FORMAT
Definition DXGI.h:63
D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG
Definition D3D11_2.h:14
@ D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE
Definition D3D11_2.h:15
constexpr IID IID_ID3D11DeviceContext2
Definition D3D11_2.h:111
D3D11_TILE_MAPPING_FLAG
Definition D3D11_2.h:26
@ D3D11_TILE_MAPPING_NO_OVERWRITE
Definition D3D11_2.h:27
std::int32_t HRESULT
Definition BASE.h:28
constexpr IID IID_ID3D11Device2
Definition D3D11_2.h:110
Definition D3D11_2.h:41
std::uint8_t numPackedMips
Definition D3D11_2.h:43
std::uint8_t numStandardMips
Definition D3D11_2.h:42
std::uint32_t numTilesForPackedMips
Definition D3D11_2.h:44
std::uint32_t startTileIndexInOverallResource
Definition D3D11_2.h:45
Definition D3D11_2.h:49
std::uint32_t widthInTiles
Definition D3D11_2.h:50
std::uint16_t depthInTiles
Definition D3D11_2.h:52
std::uint32_t startTileIndexInOverallResource
Definition D3D11_2.h:53
std::uint16_t heightInTiles
Definition D3D11_2.h:51
std::uint32_t y
Definition D3D11_2.h:59
std::uint32_t x
Definition D3D11_2.h:58
std::uint32_t subResource
Definition D3D11_2.h:61
std::uint32_t z
Definition D3D11_2.h:60
Definition D3D11_2.h:65
std::uint16_t depth
Definition D3D11_2.h:70
std::uint16_t height
Definition D3D11_2.h:69
BOOL bUseBox
Definition D3D11_2.h:67
std::uint32_t width
Definition D3D11_2.h:68
std::uint32_t numTiles
Definition D3D11_2.h:66
Definition D3D11_2.h:74
std::uint32_t depthInTexels
Definition D3D11_2.h:77
std::uint32_t widthInTexels
Definition D3D11_2.h:75
std::uint32_t heightInTexels
Definition D3D11_2.h:76
Definition BASE.h:63