Diligent Engine API Reference
GraphicsTypes.h
1 /* Copyright 2015-2018 Egor Yusov
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
12  *
13  * In no event and under no legal theory, whether in tort (including negligence),
14  * contract, or otherwise, unless required by applicable law (such as deliberate
15  * and grossly negligent acts) or agreed to in writing, shall any Contributor be
16  * liable for any damages, including any direct, indirect, special, incidental,
17  * or consequential damages of any character arising as a result of this License or
18  * out of the use or inability to use the software (including but not limited to damages
19  * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
20  * all other commercial damages or losses), even if such Contributor has been advised
21  * of the possibility of such damages.
22  */
23 
24 #pragma once
25 
28 
29 #include "BasicTypes.h"
30 
32 namespace Diligent
33 {
35 
39  enum VALUE_TYPE : Int32
40  {
51  };
52 
54 
61  enum BIND_FLAGS : Int32
62  {
63  BIND_NONE = 0x0L,
67  BIND_SHADER_RESOURCE = 0x8L,
69  BIND_STREAM_OUTPUT = 0x10L,
75  };
76 
78 
84  enum USAGE : Int32
85  {
91 
96 
100 
104  };
105 
107 
112  enum CPU_ACCESS_FLAG : Int32
113  {
116  };
117 
119 
125  enum MAP_TYPE : Int32
126  {
129  MAP_READ = 0x01,
130 
133  MAP_WRITE = 0x02,
134 
138  };
139 
141 
146  enum MAP_FLAGS : Int32
147  {
154 
159 
165  };
166 
168 
172  enum RESOURCE_DIMENSION : Int32
173  {
184  };
185 
187 
190  enum TEXTURE_VIEW_TYPE : Int32
191  {
194 
198 
202 
206 
210 
213  };
214 
216 
219  enum BUFFER_VIEW_TYPE : Int32
220  {
223 
227 
231 
234  };
235 
237 
244  enum TEXTURE_FORMAT : Int32
245  {
248 
252 
256 
260 
264 
269 
274 
279 
284 
288 
292 
298 
302 
309 
313 
317 
321 
325 
329 
333 
337 
341 
346 
350 
354 
358 
362 
366 
370 
374 
378 
382 
386 
390 
394 
400 
404 
410 
414 
418 
422 
426 
430 
434 
438 
442 
446 
451 
455 
459 
463 
467 
471 
475 
479 
483 
489 
493 
499 
503 
507 
511 
515 
519 
523 
528 
533 
537 
542 
547 
555 
564 
573 
581 
590 
599 
607 
616 
625 
633 
642 
651 
659 
668 
677 
682 
687 
692 
697 
702 
707 
712 
717 
722 
730 
738 
746 
754 
762 
770 
773  };
774 
776 
780  enum FILTER_TYPE : Int32
781  {
796  };
797 
799 
805  enum TEXTURE_ADDRESS_MODE : Int32
806  {
809 
813 
817 
822 
827 
834 
837  };
838 
840 
847  enum COMPARISON_FUNCTION : Int32
848  {
851 
855 
859 
863 
867 
871 
875 
879 
883 
886  };
887 
889 
892  {
894 
897  };
898 
901  {
903  const Char* Name;
904 
907  Name(nullptr)
908  {}
909  };
910 
913  {
915  Uint32 Width;
916 
918  Uint32 Height;
919 
922 
925 
927  Uint32 SamplesCount;
928 
930  Uint32 BufferCount;
931 
934 
937 
940  Width(0),
941  Height(0),
944  SamplesCount( 1 ),
945  BufferCount( 2 ),
946  DefaultDepthValue(1.f),
948  {}
949  };
950 
953  {
954  const Char* strShaderCachePath;
957  class IMemoryAllocator *pRawMemAllocator;
959  strShaderCachePath(nullptr),
960  pRawMemAllocator(nullptr)
961  {}
962  };
963 
966  {
969  {
970  1024, // D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
971  256, // D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
972  128, // D3D12_DESCRIPTOR_HEAP_TYPE_RTV
973  64 // D3D12_DESCRIPTOR_HEAP_TYPE_DSV
974  };
975 
978  {
979  16384, // D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
980  1024 // D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
981  };
982 
985  {
986  4096, // D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
987  1024 // D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
988  };
989 
993  {
994  128, // D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
995  16 // D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
996  };
997 
1002  };
1003 
1005  struct Box
1006  {
1007  Uint32 MinX;
1008  Uint32 MaxX;
1009  Uint32 MinY;
1010  Uint32 MaxY;
1011  Uint32 MinZ;
1012  Uint32 MaxZ;
1013 
1015  Box(Uint32 _MinX = 0, Uint32 _MaxX = 0,
1016  Uint32 _MinY = 0, Uint32 _MaxY = 0,
1017  Uint32 _MinZ = 0, Uint32 _MaxZ = 1) :
1018  MinX(_MinX), MaxX(_MaxX),
1019  MinY(_MinY), MaxY(_MaxY),
1020  MinZ(_MinZ), MaxZ(_MaxZ)
1021  {}
1022  };
1023 
1024 
1026  enum COMPONENT_TYPE : Int32
1027  {
1030 
1033 
1036 
1039 
1042 
1045 
1048 
1051 
1054 
1057 
1060  };
1061 
1066  {
1069 
1072  const Char *Name;
1073 
1077 
1080 
1083 
1086  const Char *_Name = "TEX_FORMAT_UNKNOWN",
1087  Uint32 _ComponentSize = 0,
1088  Uint32 _NumComponents = 0,
1089  COMPONENT_TYPE _ComponentType = COMPONENT_TYPE_UNDEFINED ) :
1090  Format(_Format),
1091  Name(_Name),
1092  ComponentSize(_ComponentSize),
1093  NumComponents(_NumComponents),
1094  ComponentType(_ComponentType)
1095  {}
1096  };
1097 
1099 
1102  {
1105 
1107  explicit TextureFormatInfo() :
1108  Supported(false)
1109  {}
1110  };
1111 
1113 
1116  {
1119 
1122 
1125 
1127  bool Tex1DFmt;
1128 
1130  bool Tex2DFmt;
1131 
1133  bool Tex3DFmt;
1134 
1137 
1140 
1142  explicit TextureFormatInfoExt() :
1143  Filterable(false),
1144  ColorRenderable(false),
1145  DepthRenderable(false),
1146  Tex1DFmt(false),
1147  Tex2DFmt(false),
1148  Tex3DFmt(false),
1149  TexCubeFmt(false),
1150  SupportsMS(false)
1151  {}
1152  };
1153 }
Comparison passes if the source data is less than or equal to the destination data. Direct3D counterpart: D3D11_COMPARISON_LESS_EQUAL/D3D12_COMPARISON_FUNC_LESS_EQUAL. OpenGL counterpart: GL_LEQUAL.
Definition: GraphicsTypes.h:866
bool Tex2DFmt
Indicates if the format can be used to create a 2D texture.
Definition: GraphicsTypes.h:1130
Buffer.
Definition: GraphicsTypes.h:175
TEXTURE_FORMAT
Texture formats.
Definition: GraphicsTypes.h:244
Two-component typeless block-compression format with 1:2 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:658
Unsigned 8-bit integer.
Definition: GraphicsTypes.h:45
Swap chain description.
Definition: GraphicsTypes.h:912
Signed 8-bit integer.
Definition: GraphicsTypes.h:42
Unsigned-integer component type.
Definition: GraphicsTypes.h:1047
Uint8 DefaultStencilValue
Default stencil value, which is used as optimized stencil clear value in D3D12.
Definition: GraphicsTypes.h:936
Cube-map texture.
Definition: GraphicsTypes.h:181
Comparison always passes. Direct3D counterpart: D3D11_COMPARISON_ALWAYS/D3D12_COMPARISON_FUNC_ALWAY...
Definition: GraphicsTypes.h:882
Two-dimensional texture.
Definition: GraphicsTypes.h:178
A texture can be bound as a render target.
Definition: GraphicsTypes.h:71
Uint32 GPUDescriptorHeapDynamicSize[2]
Size of the dynamic GPU descriptor heap region for different heap types.
Definition: GraphicsTypes.h:984
One-dimensional texture.
Definition: GraphicsTypes.h:176
Four-component 64-bit unsigned-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R1...
Definition: GraphicsTypes.h:301
TEXTURE_VIEW_TYPE
Texture view type.
Definition: GraphicsTypes.h:190
Four-component unsigned-normalized-integer block-compression format with 5 bits for R...
Definition: GraphicsTypes.h:615
Uint32 MinZ
Minimal Z coordinate. Default value is 0.
Definition: GraphicsTypes.h:1011
Maximum-linear filtering (DX12 only)
Definition: GraphicsTypes.h:793
Two-component 64-bit unsigned-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:324
Two-component 32-bit typeless format with 24 bits for R and 8 bits for G channel. D3D counterpart: ...
Definition: GraphicsTypes.h:437
Four-component 128-bit unsigned-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R...
Definition: GraphicsTypes.h:259
Single-component 8-bit unsigned-normalized-integer format. D3D counterpart: DXGI_FORMAT_R8_UNORM. OpenGL counterpart: GL_R8.
Definition: GraphicsTypes.h:510
Unknown format.
Definition: GraphicsTypes.h:247
Undefined view type.
Definition: GraphicsTypes.h:222
Two-component 32-bit signed-normalized-integer format with 16-bit channels. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:409
Undefined type.
Definition: GraphicsTypes.h:41
Two-component unsigned-normalized-integer block-compression format with 8 bits for R and 8 bits for G...
Definition: GraphicsTypes.h:667
Four-component unsigned-normalized-integer block-compression format with 5 bits for R...
Definition: GraphicsTypes.h:563
Single-component 32-bit signed-integer format. D3D counterpart: DXGI_FORMAT_R32_SINT. OpenGL counterpart: GL_R32I.
Definition: GraphicsTypes.h:433
Uint32 GPUDescriptorHeapSize[2]
Size of the GPU descriptor heap allocations for different heap types.
Definition: GraphicsTypes.h:977
Comparison passes if the source data is equal to the destination data. Direct3D counterpart: D3D11_C...
Definition: GraphicsTypes.h:862
Uint32 CPUDescriptorHeapAllocationSize[4]
Size of the CPU descriptor heap allocations for different heap types.
Definition: GraphicsTypes.h:968
TEXTURE_FORMAT Format
Texture format, see Diligent::TEXTURE_FORMAT for a list of supported texture formats.
Definition: GraphicsTypes.h:1068
Four-component 32-bit unsigned-normalized sRGB format with 8 bits for each color channel, and 8 bits are unused. D3D counterpart: DXGI_FORMAT_B8G8R8X8_UNORM_SRGB.
Definition: GraphicsTypes.h:721
Cube-map array texture.
Definition: GraphicsTypes.h:182
Helper value that stores that total number of texture views.
Definition: GraphicsTypes.h:212
A buffer or a texture can be bound as a shader resource.
Definition: GraphicsTypes.h:68
bool SupportsMS
Indicates if the format can be used to create a multisampled 2D texture.
Definition: GraphicsTypes.h:1139
Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively. Direct3D Counterpart: D3D11_TEXTURE_ADDRESS_CLAMP/D3D12_TEXTURE_ADDRESS_MODE_CLAMP. OpenGL counterpart: GL_CLAMP_TO_EDGE.
Definition: GraphicsTypes.h:821
Comparison never passes. Direct3D counterpart: D3D11_COMPARISON_NEVER/D3D12_COMPARISON_FUNC_NEVER. OpenGL counterpart: GL_NEVER.
Definition: GraphicsTypes.h:854
Comparison-anisotropic filtering.
Definition: GraphicsTypes.h:788
Uint32 ComponentSize
Size of one component in bytes (for instance, for TEX_FORMAT_RGBA8_UNORM format, this will be 1) For ...
Definition: GraphicsTypes.h:1076
Single-component 32-bit floating-point format. D3D counterpart: DXGI_FORMAT_R32_FLOAT. OpenGL counterpart: GL_R32F.
Definition: GraphicsTypes.h:425
bool TexCubeFmt
Indicates if the format can be used to create a cube texture.
Definition: GraphicsTypes.h:1136
Four-component typeless block-compression format with 1:4 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:606
Unsigned 16-bit integer.
Definition: GraphicsTypes.h:46
Two-component 16-bit signed-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8_S...
Definition: GraphicsTypes.h:470
Four component typeless block-compression format with 1:4 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:580
const Char * Name
Literal texture format name (for instance, for TEX_FORMAT_RGBA8_UNORM format, this will be "TEX_FORMA...
Definition: GraphicsTypes.h:1072
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
Four-component 32-bit unsigned-normalized-integer format with 8 bits for each channel. D3D counterpart: DXGI_FORMAT_B8G8R8A8_UNORM.
Definition: GraphicsTypes.h:691
A buffer view will define an unordered access view that will be used for unordered read/write operati...
Definition: GraphicsTypes.h:230
Comparison-point filtering.
Definition: GraphicsTypes.h:786
Two-component 16-bit unsigned-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8...
Definition: GraphicsTypes.h:462
TextureFormatAttribs(TEXTURE_FORMAT _Format=TEX_FORMAT_UNKNOWN, const Char *_Name="TEX_FORMAT_UNKNOWN", Uint32 _ComponentSize=0, Uint32 _NumComponents=0, COMPONENT_TYPE _ComponentType=COMPONENT_TYPE_UNDEFINED)
Initializes the structure.
Definition: GraphicsTypes.h:1085
Signed-integer component type.
Definition: GraphicsTypes.h:1044
Two-component 32-bit format with 24 bits of unreferenced data and 8 bits of unsigned-integer data...
Definition: GraphicsTypes.h:450
bool Filterable
Indicates if the format can be filtered.
Definition: GraphicsTypes.h:1118
Undefined view type.
Definition: GraphicsTypes.h:193
Signed-normalized-integer component type.
Definition: GraphicsTypes.h:1035
Floating point component type.
Definition: GraphicsTypes.h:1032
Four-component 16-bit unsigned-normalized-integer format with 5 bits for each color channel and 1-bit...
Definition: GraphicsTypes.h:686
Uint32 BufferCount
Number of buffers int the swap chain.
Definition: GraphicsTypes.h:930
A buffer can be bound as an index buffer.
Definition: GraphicsTypes.h:65
Three-component 96-bit typeless format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G32B32...
Definition: GraphicsTypes.h:268
Depth component type.
Definition: GraphicsTypes.h:1050
Comparison passes if the source data is greater than the destination data. Direct3D counterpart: 3D1...
Definition: GraphicsTypes.h:870
Two-component 16-bit unsigned-normalized-integer format with 8-bit channels. D3D counterpart: DXGI_...
Definition: GraphicsTypes.h:458
Uint32 MaxY
Maximal Y coordinate. Default value is 0.
Definition: GraphicsTypes.h:1010
Four-component 64-bit unsigned-normalized-integer format with 16-bit channels. D3D counterpart: DXG...
Definition: GraphicsTypes.h:297
Four-component 32-bit unsigned-integer format with 10 bits for each color and 2 bits for alpha channe...
Definition: GraphicsTypes.h:357
TEXTURE_ADDRESS_MODE
Texture address mode.
Definition: GraphicsTypes.h:805
Single-component 32-bit unsigned-integer format. D3D counterpart: DXGI_FORMAT_R32_UINT. OpenGL counterpart: GL_R32UI.
Definition: GraphicsTypes.h:429
Single-component 16-bit unsigned-integer format. D3D counterpart: DXGI_FORMAT_R16_UINT. OpenGL counterpart: GL_R16UI.
Definition: GraphicsTypes.h:492
Four-component 64-bit typeless format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G16B16A...
Definition: GraphicsTypes.h:287
One-component unsigned-normalized-integer block-compression format with 8 bits for R channel...
Definition: GraphicsTypes.h:641
Single-component 16-bit unsigned-normalized-integer format. D3D counterpart: DXGI_FORMAT_R16_UNORM...
Definition: GraphicsTypes.h:488
BIND_FLAGS
Resource binding flags.
Definition: GraphicsTypes.h:61
Box(Uint32 _MinX=0, Uint32 _MaxX=0, Uint32 _MinY=0, Uint32 _MaxY=0, Uint32 _MinZ=0, Uint32 _MaxZ=1)
Constructor intializes the structure.
Definition: GraphicsTypes.h:1015
Four-component 32-bit unsigned-normalized-integer format with 10 bits for each color and 2 bits for a...
Definition: GraphicsTypes.h:353
Undefined component type.
Definition: GraphicsTypes.h:1029
Previous contents of the resource will be undefined. This flag is only compatible with MAP_WRITE D3D...
Definition: GraphicsTypes.h:158
Two-component 32-bit half-precision floating-point format with 16-bit channels. D3D counterpart: DX...
Definition: GraphicsTypes.h:393
Minimum-linear filtering (DX12 only)
Definition: GraphicsTypes.h:790
Single-component 32-bit floating-point depth format. D3D counterpart: DXGI_FORMAT_D32_FLOAT. OpenGL counterpart: GL_DEPTH_COMPONENT32F.
Definition: GraphicsTypes.h:421
Single-component 16-bit unsigned-normalized-integer depth format. D3D counterpart: DXGI_FORMAT_D16_...
Definition: GraphicsTypes.h:482
Four-component 32-bit signed-normalized-integer format with 8-bit channels. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:381
Single-component 8-bit unsigned-normalized-integer format for alpha only. D3D counterpart: DXGI_FOR...
Definition: GraphicsTypes.h:527
Signed 32-bit integer.
Definition: GraphicsTypes.h:44
Three-component 16-bit unsigned-normalized-integer format with 5 bits for blue, 6 bits for green...
Definition: GraphicsTypes.h:681
Three-component typeless block-compression format. D3D counterpart: DXGI_FORMAT_BC6H_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT is used. OpenGL: GL_ARB_texture_compression_bptc extension is required. Not supported in at least OpenGLES3.1.
Definition: GraphicsTypes.h:729
Comparison-linear filtering.
Definition: GraphicsTypes.h:787
Four-component 64-bit signed-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G...
Definition: GraphicsTypes.h:312
Comparison passes if the source data is less than the destination data. Direct3D counterpart: D3D11_...
Definition: GraphicsTypes.h:858
Single-component 1-bit format. D3D counterpart: DXGI_FORMAT_R1_UNORM.
Definition: GraphicsTypes.h:532
One-component typeless block-compression format with 1:2 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:632
COMPONENT_TYPE
Describes texture format component type.
Definition: GraphicsTypes.h:1026
DeviceObjectAttribs()
Constructor intializes the structure members with default values.
Definition: GraphicsTypes.h:906
Three-component unsigned half-precision floating-point format with 16 bits for each channel...
Definition: GraphicsTypes.h:737
Two-component 64-bit signed-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G3...
Definition: GraphicsTypes.h:328
Two-component 16-bit typeless format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8_TYPELES...
Definition: GraphicsTypes.h:454
Four-component 32-bit unsigned-normalized-integer format with 8-bit channels. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:369
Two-component 64-bit typeless format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G32_TYPE...
Definition: GraphicsTypes.h:316
Three-component 32-bit format encoding three partial precision channels using 11 bits for red and gre...
Definition: GraphicsTypes.h:361
bool Supported
Indicates if the format is supported by the device.
Definition: GraphicsTypes.h:1104
A buffer can be bound as a vertex buffer.
Definition: GraphicsTypes.h:64
Four-component unsigned-normalized integer format analogous to UYVY encoding. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:541
Uint32 NumCommandsToFlushCmdList
Number of commands to flush the command list. Only draw/dispatch commands count towards the limit...
Definition: GraphicsTypes.h:1001
Four-component 32-bit unsigned-normalized-integer format with 8 bits for each color channel and 8 bit...
Definition: GraphicsTypes.h:696
Single-component 16-bit half-precisoin floating-point format. D3D counterpart: DXGI_FORMAT_R16_FLOA...
Definition: GraphicsTypes.h:478
Three-component 96-bit floating-point format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:273
Four-component unsigned-normalized-integer block-compression format with 5 bits for R...
Definition: GraphicsTypes.h:589
Tile the texture at every integer junction. Direct3D Counterpart: D3D11_TEXTURE_ADDRESS_WRAP/D3D12_...
Definition: GraphicsTypes.h:812
Maximum-anisotropic filtering (DX12 only)
Definition: GraphicsTypes.h:794
bool Tex3DFmt
Indicates if the format can be used to create a 3D texture.
Definition: GraphicsTypes.h:1133
A buffer can be bound as the source buffer for indirect draw commands.
Definition: GraphicsTypes.h:74
Four-component 32-bit signed-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8B...
Definition: GraphicsTypes.h:385
Unknown filter type.
Definition: GraphicsTypes.h:782
Comparison passes if the source data is not equal to the destination data. Direct3D counterpart: D3D...
Definition: GraphicsTypes.h:874
Four-component typeless block-compression format with 1:8 compression ratio. D3D counterpart: DXGI_F...
Definition: GraphicsTypes.h:554
A resource can be mapped for reading.
Definition: GraphicsTypes.h:114
A texture can be bound as a depth-stencil target.
Definition: GraphicsTypes.h:72
Compound component type (example texture formats: TEX_FORMAT_R11G11B10_FLOAT or TEX_FORMAT_RGB9E5_SHA...
Definition: GraphicsTypes.h:1056
Four-component unsigned-normalized-integer block-compression sRGB format with 5 bits for R...
Definition: GraphicsTypes.h:572
bool ColorRenderable
Indicates if the format can be used as a render target format.
Definition: GraphicsTypes.h:1121
Box.
Definition: GraphicsTypes.h:1005
A texture view will define a depth stencil view that will be used as the target for rendering operati...
Definition: GraphicsTypes.h:205
A resource that requires read and write access by the GPU and can also be occasionally written by the...
Definition: GraphicsTypes.h:95
Single-component 16-bit signed-integer format. D3D counterpart: DXGI_FORMAT_R16_SINT. OpenGL counterpart: GL_R16I.
Definition: GraphicsTypes.h:502
Unsigned-normalized-integer sRGB component type.
Definition: GraphicsTypes.h:1041
Signed 16-bit integer.
Definition: GraphicsTypes.h:43
Comparison passes if the source data is greater than or equal to the destination data. Direct3D counterpart: D3D11_COMPARISON_GREATER_EQUAL/D3D12_COMPARISON_FUNC_GREATER_EQUAL. OpenGL counterpart: GL_GEQUAL.
Definition: GraphicsTypes.h:878
Two-component 32-bit format with 24 bits for unsigned-normalized-integer data and 8 bits of unreferen...
Definition: GraphicsTypes.h:445
The system will not synchronize pending operations before mapping the buffer. It is responsibility of...
Definition: GraphicsTypes.h:164
Two-component 64-bit floating-point format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G3...
Definition: GraphicsTypes.h:320
Maximum-point filtering (DX12 only)
Definition: GraphicsTypes.h:792
Helper value that stores the total number of texture address modes in the enumeration.
Definition: GraphicsTypes.h:836
MISC_TEXTURE_FLAG
Miscellaneous texture flags.
Definition: GraphicsTypes.h:891
A resource that can only be read by the GPU. It cannot be written by the GPU, and cannot be accessed ...
Definition: GraphicsTypes.h:90
Two-component 32-bit signed-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G1...
Definition: GraphicsTypes.h:413
Four-component 64-bit signed-normalized-integer format with 16-bit channels. D3D counterpart: DXGI_...
Definition: GraphicsTypes.h:308
VALUE_TYPE
Value type.
Definition: GraphicsTypes.h:39
Uint32 MinX
Minimal X coordinate. Default value is 0.
Definition: GraphicsTypes.h:1007
CPU_ACCESS_FLAG
Allowed CPU access mode flags when mapping a resource.
Definition: GraphicsTypes.h:112
Four-component unsigned-normalized-integer block-compression sRGB format with 5 bits for R...
Definition: GraphicsTypes.h:624
One-component signed-normalized-integer block-compression format with 8 bits for R channel...
Definition: GraphicsTypes.h:650
Engine creation attibutes.
Definition: GraphicsTypes.h:952
Texture coordinates outside the range [0.0, 1.0] are set to the border color specified specified in S...
Definition: GraphicsTypes.h:826
Describes invariant texture format attributes. These attributes are intrinsic to the texture format i...
Definition: GraphicsTypes.h:1065
Float32 DefaultDepthValue
Default depth value, which is used as optimized depth clear value in D3D12.
Definition: GraphicsTypes.h:933
const Char * Name
Object name.
Definition: GraphicsTypes.h:903
Unknown comparison function.
Definition: GraphicsTypes.h:850
SwapChainDesc()
Constructor intializes the structure members with default values.
Definition: GraphicsTypes.h:939
Specifies that map operation should not wait until previous command that using the same resource comp...
Definition: GraphicsTypes.h:153
Compressed component type.
Definition: GraphicsTypes.h:1059
TextureFormatInfo()
Initializes the structure with default values.
Definition: GraphicsTypes.h:1107
Resource is mapped for writing. D3D11 counterpart: D3D11_MAP_WRITE. OpenGL counterpart: GL_MAP_WRIT...
Definition: GraphicsTypes.h:133
Unsigned-normalized-integer component type.
Definition: GraphicsTypes.h:1038
COMPONENT_TYPE ComponentType
Component type, see Diligent::COMPONENT_TYPE for details.
Definition: GraphicsTypes.h:1082
Two-component signed-normalized-integer block-compression format with 8 bits for R and 8 bits for G c...
Definition: GraphicsTypes.h:676
Uint32 MaxZ
Maximal Z coordinate. Default value is 1.
Definition: GraphicsTypes.h:1012
A resource that facilitates transferring data from GPU to CPU. D3D11 Counterpart: D3D11_USAGE_STAGI...
Definition: GraphicsTypes.h:103
Three partial-precision floating pointer numbers sharing single exponent encoded into a 32-bit value...
Definition: GraphicsTypes.h:536
Resource is mapped for reading. D3D11 counterpart: D3D11_MAP_READ. OpenGL counterpart: GL_MAP_READ_...
Definition: GraphicsTypes.h:129
Two-component 32-bit unsigned-integer format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16...
Definition: GraphicsTypes.h:403
Four-component unsigned-normalized integer format analogous to YUY2 encoding. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:546
One-dimensional texture array.
Definition: GraphicsTypes.h:177
Three-component 96-bit signed-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:283
Three-component typeless block-compression format. D3D counterpart: DXGI_FORMAT_BC7_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGBA_BPTC_UNORM is used. OpenGL: GL_ARB_texture_compression_bptc extension is required. Not supported in at least OpenGLES3.1.
Definition: GraphicsTypes.h:753
Point filtering.
Definition: GraphicsTypes.h:783
Two-component 64-bit format with 32-bit floating-point depth channel and 8-bit stencil channel...
Definition: GraphicsTypes.h:336
Four-component 32-bit unsigned-integer format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G...
Definition: GraphicsTypes.h:377
Half-precision 16-bit floating point.
Definition: GraphicsTypes.h:48
USAGE
Resource usage.
Definition: GraphicsTypes.h:84
Four-component 32-bit typeless format that with 8 bits for each color channel, and 8 bits are unused...
Definition: GraphicsTypes.h:716
Helper value that stores that total number of buffer views.
Definition: GraphicsTypes.h:233
Allow automatic mipmap generation with ITextureView::GenerateMips()
Definition: GraphicsTypes.h:896
Uint32 NumComponents
Number of components.
Definition: GraphicsTypes.h:1079
A buffer or a texture can be bound as an unordered access view.
Definition: GraphicsTypes.h:73
Unknown mode.
Definition: GraphicsTypes.h:808
Uint32 MaxX
Maximal X coordinate. Default value is 0.
Definition: GraphicsTypes.h:1008
Helper value storing total number of types in the enumeration.
Definition: GraphicsTypes.h:50
Three-channel signed half-precision floating-point format with 16 bits per each channel. D3D counterpart: DXGI_FORMAT_BC6H_SF16. OpenGL counterpart: GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT. OpenGL: GL_ARB_texture_compression_bptc extension is required. Not supported in at least OpenGLES3.1.
Definition: GraphicsTypes.h:745
Single-component 8-bit signed-normalized-integer format. D3D counterpart: DXGI_FORMAT_R8_SNORM. OpenGL counterpart: GL_R8_SNORM.
Definition: GraphicsTypes.h:518
RESOURCE_DIMENSION
Describes resource dimension.
Definition: GraphicsTypes.h:172
Depth-stencil component type.
Definition: GraphicsTypes.h:1053
Three-component block-compression unsigned-normalized-integer format with 4 to 7 bits per color chann...
Definition: GraphicsTypes.h:761
Extended texture format description.
Definition: GraphicsTypes.h:1115
Helper value that stores the total number of filter types in the enumeration.
Definition: GraphicsTypes.h:795
Full-precision 32-bit floating point.
Definition: GraphicsTypes.h:49
Minimum-anisotropic filtering (DX12 only)
Definition: GraphicsTypes.h:791
A buffer can be bound as a target for stream output stage.
Definition: GraphicsTypes.h:70
A buffer view will define a shader resource view that will be used as the source for the shader read ...
Definition: GraphicsTypes.h:226
Four-component 32-bit unsigned-normalized-integer sRGB format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8B8A8_UNORM_SRGB. OpenGL counterpart: GL_SRGB8_ALPHA8.
Definition: GraphicsTypes.h:373
A buffer can be bound as a uniform buffer.
Definition: GraphicsTypes.h:66
Describes common device object attributes.
Definition: GraphicsTypes.h:900
Single-component 8-bit typeless format. D3D counterpart: DXGI_FORMAT_R8_TYPELESS. OpenGL does not have direct counterpart, GL_R8 is used.
Definition: GraphicsTypes.h:506
Helper member containing the total number of texture formats in the enumeration.
Definition: GraphicsTypes.h:772
A texture view will define an unordered access view that will be used for unordered read/write operat...
Definition: GraphicsTypes.h:209
FILTER_TYPE
Filter type.
Definition: GraphicsTypes.h:780
Three-dimensional texture.
Definition: GraphicsTypes.h:180
TEXTURE_FORMAT DepthBufferFormat
Depth buffer format. Default value is TEX_FORMAT_D32_FLOAT.
Definition: GraphicsTypes.h:924
Three-component 96-bit unsigned-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R...
Definition: GraphicsTypes.h:278
Helper value that stores the total number of texture types in the enumeration.
Definition: GraphicsTypes.h:183
Two-component 32-bit typeless format with 16-bit channels. D3D counterpart: DXGI_FORMAT_R16G16_TYPE...
Definition: GraphicsTypes.h:389
A resource can be mapped for writing.
Definition: GraphicsTypes.h:115
Two-component 64-bit format with 32-bit typeless data and 8-bit G channel. D3D counterpart: DXGI_FO...
Definition: GraphicsTypes.h:345
Unsigned 32-bit integer.
Definition: GraphicsTypes.h:47
TextureFormatInfoExt()
Initializes the structure with default values.
Definition: GraphicsTypes.h:1142
Three-component block-compression unsigned-normalized-integer sRGB format with 4 to 7 bits per color ...
Definition: GraphicsTypes.h:769
Two-component 32-bit format with 24 bits for unsigned-normalized-integer depth and 8 bits for stencil...
Definition: GraphicsTypes.h:441
class IMemoryAllocator * pRawMemAllocator
Pointer to the raw memory allocator that will be used for all memory allocation/deallocation operatio...
Definition: GraphicsTypes.h:957
Uint32 SamplesCount
Sample count. Default value is 1.
Definition: GraphicsTypes.h:927
bool Tex1DFmt
Indicates if the format can be used to create a 1D texture.
Definition: GraphicsTypes.h:1127
Four-component 32-bit typeless format with 10 bits for RGB and 2 bits for alpha channel. D3D counterpart: DXGI_FORMAT_R10G10B10A2_TYPELESS. OpenGL does not have direct counterpart, GL_RGB10_A2 is used.
Definition: GraphicsTypes.h:349
Four-component 128-bit floating-point format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:255
Uint32 DynamicDescriptorAllocationChunkSize[2]
This is the size of the chunk that dynamic descriptor allocations manager request from the main GPU d...
Definition: GraphicsTypes.h:992
Four-component 128-bit signed-integer format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32...
Definition: GraphicsTypes.h:263
Four-component 32-bit unsigned-normalized sRGB format with 8 bits for each channel. D3D counterpart: DXGI_FORMAT_B8G8R8A8_UNORM_SRGB.
Definition: GraphicsTypes.h:711
Two-component 16-bit signed-normalized-integer format with 8-bit channels. D3D counterpart: DXGI_FO...
Definition: GraphicsTypes.h:466
Texture type undefined.
Definition: GraphicsTypes.h:174
Four-component signed-normalized-integer block-compression sRGB format with 5 bits for R...
Definition: GraphicsTypes.h:598
COMPARISON_FUNCTION
Comparison function.
Definition: GraphicsTypes.h:847
Two-component 64-bit typeless format with 32-bits for R channel and 8 bits for G channel. D3D counterpart: DXGI_FORMAT_R32G8X24_TYPELESS. OpenGL does not have direct counterpart, GL_DEPTH32F_STENCIL8 is used.
Definition: GraphicsTypes.h:332
A texture view will define a shader resource view that will be used as the source for the shader read...
Definition: GraphicsTypes.h:197
Two-component 32-bit unsigned-normalized-integer format with 16-bit channels. D3D counterpart: DXGI...
Definition: GraphicsTypes.h:399
MAP_FLAGS
Special map flags.
Definition: GraphicsTypes.h:146
Resource is mapped for reading and writing. D3D11 counterpart: D3D11_MAP_READ_WRITE. OpenGL counterpart: GL_MAP_WRITE_BIT | GL_MAP_READ_BIT.
Definition: GraphicsTypes.h:137
Uint32 MinY
Minimal Y coordinate. Default value is 0.
Definition: GraphicsTypes.h:1009
Two-component 64-bit format with 32-bit floating-point R channel and 8+24-bits of typeless data...
Definition: GraphicsTypes.h:340
bool DepthRenderable
Indicates if the format can be used as a depth format.
Definition: GraphicsTypes.h:1124
Four-component 32-bit typeless format with 8-bit channels. D3D counterpart: DXGI_FORMAT_R8G8B8A8_TY...
Definition: GraphicsTypes.h:365
Flip the texture at every integer junction. Direct3D Counterpart: D3D11_TEXTURE_ADDRESS_MIRROR/D3D1...
Definition: GraphicsTypes.h:816
TEXTURE_FORMAT ColorBufferFormat
Back buffer format. Default value is TEX_FORMAT_RGBA8_UNORM_SRGB.
Definition: GraphicsTypes.h:921
Attributes specific to D3D12 engine.
Definition: GraphicsTypes.h:965
Four-component 64-bit half-precision floating-point format with 16-bit channels. D3D counterpart: D...
Definition: GraphicsTypes.h:291
Uint32 Height
The swap chain height. Default value is 0.
Definition: GraphicsTypes.h:918
Four-component 32-bit 2.8-biased fixed-point format with 10 bits for each color channel and 2-bit alp...
Definition: GraphicsTypes.h:701
Four-component 128-bit typeless format with 32-bit channels. D3D counterpart: DXGI_FORMAT_R32G32B32...
Definition: GraphicsTypes.h:251
Single-component 8-bit unsigned-integer format. D3D counterpart: DXGI_FORMAT_R8_UINT. OpenGL counterpart: GL_R8UI.
Definition: GraphicsTypes.h:514
MAP_TYPE
Resource mapping type.
Definition: GraphicsTypes.h:125
Uint32 Width
The swap chain width. Default value is 0.
Definition: GraphicsTypes.h:915
Helper value that stores the total number of comparison functions in the enumeration.
Definition: GraphicsTypes.h:885
Single-component 8-bit signed-integer format. D3D counterpart: DXGI_FORMAT_R8_SINT. OpenGL counterpart: GL_R8I.
Definition: GraphicsTypes.h:522
Four-component 32-bit typeless format with 8 bits for each channel. D3D counterpart: DXGI_FORMAT_B8...
Definition: GraphicsTypes.h:706
Single-component 16-bit signed-normalized-integer format. D3D counterpart: DXGI_FORMAT_R16_SNORM. OpenGL counterpart: GL_R16_SNORM. OpenGLES: GL_EXT_texture_norm16 extension is required.
Definition: GraphicsTypes.h:498
A texture view will define a render target view that will be used as the target for rendering operati...
Definition: GraphicsTypes.h:201
A resource that can be read by the GPU and written at least once per frame by the CPU...
Definition: GraphicsTypes.h:99
Two-dimensional texture array.
Definition: GraphicsTypes.h:179
Anisotropic filtering.
Definition: GraphicsTypes.h:785
BUFFER_VIEW_TYPE
Buffer view type.
Definition: GraphicsTypes.h:219
Minimum-point filtering (DX12 only)
Definition: GraphicsTypes.h:789
Basic texture format description.
Definition: GraphicsTypes.h:1101
Single-component 16-bit typeless format. D3D counterpart: DXGI_FORMAT_R16_TYPELESS. OpenGL does not have direct counterpart, GL_R16F is used.
Definition: GraphicsTypes.h:474
Single-component 32-bit typeless format. D3D counterpart: DXGI_FORMAT_R32_TYPELESS. OpenGL does not have direct counterpart, GL_R32F is used.
Definition: GraphicsTypes.h:417
Linear filtering.
Definition: GraphicsTypes.h:784
Similar to TEXTURE_ADDRESS_MIRROR and TEXTURE_ADDRESS_CLAMP. Takes the absolute value of the texture ...
Definition: GraphicsTypes.h:833
Undefined binding.
Definition: GraphicsTypes.h:63