summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2020-07-26 18:59:04 +0000
committerassiduous <assiduous@diligentgraphics.com>2020-08-02 19:21:38 +0000
commit2a37e90153caf4aaa1c9d4aa9f082678feb29756 (patch)
treeaac1b2ce61d7814a18180f60f6a52e69fb69daac /Graphics/GraphicsEngine
parentAdded static asserts for Attachment Load/Store enums (diff)
downloadDiligentCore-2a37e90153caf4aaa1c9d4aa9f082678feb29756.tar.gz
DiligentCore-2a37e90153caf4aaa1c9d4aa9f082678feb29756.zip
Added PIPELINE_STAGE_FLAGS and ACCESS_FLAGS
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/interface/GraphicsTypes.h269
1 files changed, 229 insertions, 40 deletions
diff --git a/Graphics/GraphicsEngine/interface/GraphicsTypes.h b/Graphics/GraphicsEngine/interface/GraphicsTypes.h
index a6612158..a0493c54 100644
--- a/Graphics/GraphicsEngine/interface/GraphicsTypes.h
+++ b/Graphics/GraphicsEngine/interface/GraphicsTypes.h
@@ -65,7 +65,7 @@ DILIGENT_TYPED_ENUM(VALUE_TYPE, Uint8)
/// Resource binding flags
-/// [D3D11_BIND_FLAG]: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476085(v=vs.85).aspx
+/// [D3D11_BIND_FLAG]: https://docs.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_bind_flag
///
/// This enumeration describes which parts of the pipeline a resource can be bound to.
/// It generally mirrors [D3D11_BIND_FLAG][] enumeration. It is used by
@@ -91,7 +91,7 @@ DEFINE_FLAG_ENUM_OPERATORS(BIND_FLAGS)
/// Resource usage
-/// [D3D11_USAGE]: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476259(v=vs.85).aspx
+/// [D3D11_USAGE]: https://docs.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_usage
/// This enumeration describes expected resource usage. It generally mirrors [D3D11_USAGE] enumeration.
/// The enumeration is used by
/// - BufferDesc to describe usage for a buffer
@@ -134,7 +134,7 @@ DEFINE_FLAG_ENUM_OPERATORS(CPU_ACCESS_FLAGS)
/// Resource mapping type
-/// [D3D11_MAP]: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476181(v=vs.85).aspx
+/// [D3D11_MAP]: https://docs.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_map
/// Describes how a mapped resource will be accessed. This enumeration generally
/// mirrors [D3D11_MAP][] enumeration. It is used by
/// - IBuffer::Map to describe buffer mapping type
@@ -258,7 +258,7 @@ DILIGENT_TYPED_ENUM(BUFFER_VIEW_TYPE, Uint8)
/// This enumeration describes available texture formats and generally mirrors DXGI_FORMAT enumeration.
/// The table below provides detailed information on each format. Most of the formats are widely supported
/// by all modern APIs (DX10+, OpenGL3.3+ and OpenGLES3.0+). Specific requirements are additionally indicated.
-/// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb173059(v=vs.85).aspx">DXGI_FORMAT enumeration on MSDN</a>,
+/// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format">DXGI_FORMAT enumeration on MSDN</a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format">OpenGL Texture Formats</a>
///
DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
@@ -569,7 +569,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC1_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGB_S3TC_DXT1_EXT is used. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC1">BC1 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc1">BC1 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT1_Format">DXT1 on OpenGL.org </a>
TEX_FORMAT_BC1_TYPELESS,
@@ -578,7 +578,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC1_UNORM. OpenGL counterpart: GL_COMPRESSED_RGB_S3TC_DXT1_EXT.\n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC1">BC1 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc1">BC1 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT1_Format">DXT1 on OpenGL.org </a>
TEX_FORMAT_BC1_UNORM,
@@ -587,7 +587,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC1_UNORM_SRGB. OpenGL counterpart: GL_COMPRESSED_SRGB_S3TC_DXT1_EXT.\n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC1">BC1 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc1">BC1 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT1_Format">DXT1 on OpenGL.org </a>
TEX_FORMAT_BC1_UNORM_SRGB,
@@ -595,7 +595,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC2_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT is used. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC2">BC2 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc2">BC2 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT3_Format">DXT3 on OpenGL.org </a>
TEX_FORMAT_BC2_TYPELESS,
@@ -604,7 +604,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC2_UNORM. OpenGL counterpart: GL_COMPRESSED_RGBA_S3TC_DXT3_EXT. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC2">BC2 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc2">BC2 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT3_Format">DXT3 on OpenGL.org </a>
TEX_FORMAT_BC2_UNORM,
@@ -613,7 +613,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC2_UNORM_SRGB. OpenGL counterpart: GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC2">BC2 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc2">BC2 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT3_Format">DXT3 on OpenGL.org </a>
TEX_FORMAT_BC2_UNORM_SRGB,
@@ -621,7 +621,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC3_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT is used. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC3">BC3 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc3">BC3 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT5_Format">DXT5 on OpenGL.org </a>
TEX_FORMAT_BC3_TYPELESS,
@@ -630,7 +630,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC3_UNORM. OpenGL counterpart: GL_COMPRESSED_RGBA_S3TC_DXT5_EXT. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC3">BC3 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc3">BC3 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT5_Format">DXT5 on OpenGL.org </a>
TEX_FORMAT_BC3_UNORM,
@@ -639,7 +639,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC3_UNORM_SRGB. OpenGL counterpart: GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT. \n
/// [GL_EXT_texture_compression_s3tc]: https://www.khronos.org/registry/gles/extensions/EXT/texture_compression_s3tc.txt
/// OpenGL & OpenGLES: [GL_EXT_texture_compression_s3tc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC3">BC3 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc3">BC3 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/S3_Texture_Compression#DXT5_Format">DXT5 on OpenGL.org </a>
TEX_FORMAT_BC3_UNORM_SRGB,
@@ -647,7 +647,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC4_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RED_RGTC1 is used. \n
/// [GL_ARB_texture_compression_rgtc]: https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt
/// OpenGL & OpenGLES: [GL_ARB_texture_compression_rgtc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC4">BC4 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc4">BC4 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format#Compressed_formats">Compressed formats on OpenGL.org </a>
TEX_FORMAT_BC4_TYPELESS,
@@ -656,7 +656,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC4_UNORM. OpenGL counterpart: GL_COMPRESSED_RED_RGTC1. \n
/// [GL_ARB_texture_compression_rgtc]: https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt
/// OpenGL & OpenGLES: [GL_ARB_texture_compression_rgtc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC4">BC4 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc4">BC4 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format#Compressed_formats">Compressed formats on OpenGL.org </a>
TEX_FORMAT_BC4_UNORM,
@@ -665,7 +665,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC4_SNORM. OpenGL counterpart: GL_COMPRESSED_SIGNED_RED_RGTC1. \n
/// [GL_ARB_texture_compression_rgtc]: https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt
/// OpenGL & OpenGLES: [GL_ARB_texture_compression_rgtc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC4">BC4 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc4">BC4 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format#Compressed_formats">Compressed formats on OpenGL.org </a>
TEX_FORMAT_BC4_SNORM,
@@ -673,7 +673,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC5_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RG_RGTC2 is used. \n
/// [GL_ARB_texture_compression_rgtc]: https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt
/// OpenGL & OpenGLES: [GL_ARB_texture_compression_rgtc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC5">BC5 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc5">BC5 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format#Compressed_formats">Compressed formats on OpenGL.org </a>
TEX_FORMAT_BC5_TYPELESS,
@@ -682,7 +682,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC5_UNORM. OpenGL counterpart: GL_COMPRESSED_RG_RGTC2. \n
/// [GL_ARB_texture_compression_rgtc]: https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt
/// OpenGL & OpenGLES: [GL_ARB_texture_compression_rgtc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC5">BC5 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc5">BC5 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format#Compressed_formats">Compressed formats on OpenGL.org </a>
TEX_FORMAT_BC5_UNORM,
@@ -691,7 +691,7 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// D3D counterpart: DXGI_FORMAT_BC5_SNORM. OpenGL counterpart: GL_COMPRESSED_SIGNED_RG_RGTC2. \n
/// [GL_ARB_texture_compression_rgtc]: https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt
/// OpenGL & OpenGLES: [GL_ARB_texture_compression_rgtc][] extension is required
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb694531(v=vs.85).aspx#BC5">BC5 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc5">BC5 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/Image_Format#Compressed_formats">Compressed formats on OpenGL.org </a>
TEX_FORMAT_BC5_SNORM,
@@ -742,49 +742,49 @@ DILIGENT_TYPED_ENUM(TEXTURE_FORMAT, Uint16)
/// Three-component typeless block-compression format. \n
/// D3D counterpart: DXGI_FORMAT_BC6H_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT is used. \n
- /// [GL_ARB_texture_compression_bptc]: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/texture_compression_bptc.txt
+ /// [GL_ARB_texture_compression_bptc]: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
/// OpenGL: [GL_ARB_texture_compression_bptc][] extension is required. Not supported in at least OpenGLES3.1
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh308952(v=vs.85).aspx">BC6H on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc6h-format">BC6H on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/BPTC_Texture_Compression">BPTC Texture Compression on OpenGL.org </a>
TEX_FORMAT_BC6H_TYPELESS,
/// Three-component unsigned half-precision floating-point format with 16 bits for each channel. \n
/// D3D counterpart: DXGI_FORMAT_BC6H_UF16. OpenGL counterpart: GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT. \n
- /// [GL_ARB_texture_compression_bptc]: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/texture_compression_bptc.txt
+ /// [GL_ARB_texture_compression_bptc]: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
/// OpenGL: [GL_ARB_texture_compression_bptc][] extension is required. Not supported in at least OpenGLES3.1
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh308952(v=vs.85).aspx">BC6H on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc6h-format">BC6H on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/BPTC_Texture_Compression">BPTC Texture Compression on OpenGL.org </a>
TEX_FORMAT_BC6H_UF16,
/// Three-channel signed half-precision floating-point format with 16 bits per each channel. \n
/// D3D counterpart: DXGI_FORMAT_BC6H_SF16. OpenGL counterpart: GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT. \n
- /// [GL_ARB_texture_compression_bptc]: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/texture_compression_bptc.txt
+ /// [GL_ARB_texture_compression_bptc]: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
/// OpenGL: [GL_ARB_texture_compression_bptc][] extension is required. Not supported in at least OpenGLES3.1
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh308952(v=vs.85).aspx">BC6H on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc6h-format">BC6H on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/BPTC_Texture_Compression">BPTC Texture Compression on OpenGL.org </a>
TEX_FORMAT_BC6H_SF16,
/// Three-component typeless block-compression format. \n
/// D3D counterpart: DXGI_FORMAT_BC7_TYPELESS. OpenGL does not have direct counterpart, GL_COMPRESSED_RGBA_BPTC_UNORM is used. \n
- /// [GL_ARB_texture_compression_bptc]: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/texture_compression_bptc.txt
+ /// [GL_ARB_texture_compression_bptc]: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
/// OpenGL: [GL_ARB_texture_compression_bptc][] extension is required. Not supported in at least OpenGLES3.1
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh308953(v=vs.85).aspx">BC7 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc7-format">BC7 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/BPTC_Texture_Compression">BPTC Texture Compression on OpenGL.org </a>
TEX_FORMAT_BC7_TYPELESS,
/// Three-component block-compression unsigned-normalized-integer format with 4 to 7 bits per color channel and 0 to 8 bits of alpha. \n
/// D3D counterpart: DXGI_FORMAT_BC7_UNORM. OpenGL counterpart: GL_COMPRESSED_RGBA_BPTC_UNORM. \n
- /// [GL_ARB_texture_compression_bptc]: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/texture_compression_bptc.txt
+ /// [GL_ARB_texture_compression_bptc]: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
/// OpenGL: [GL_ARB_texture_compression_bptc][] extension is required. Not supported in at least OpenGLES3.1
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh308953(v=vs.85).aspx">BC7 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc7-format">BC7 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/BPTC_Texture_Compression">BPTC Texture Compression on OpenGL.org </a>
TEX_FORMAT_BC7_UNORM,
/// Three-component block-compression unsigned-normalized-integer sRGB format with 4 to 7 bits per color channel and 0 to 8 bits of alpha. \n
/// D3D counterpart: DXGI_FORMAT_BC7_UNORM_SRGB. OpenGL counterpart: GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM. \n
- /// [GL_ARB_texture_compression_bptc]: https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/texture_compression_bptc.txt
+ /// [GL_ARB_texture_compression_bptc]: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
/// OpenGL: [GL_ARB_texture_compression_bptc][] extension is required. Not supported in at least OpenGLES3.1
- /// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh308953(v=vs.85).aspx">BC7 on MSDN </a>,
+ /// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc7-format">BC7 on MSDN </a>,
/// <a href = "https://www.opengl.org/wiki/BPTC_Texture_Compression">BPTC Texture Compression on OpenGL.org </a>
TEX_FORMAT_BC7_UNORM_SRGB,
@@ -817,8 +817,8 @@ DILIGENT_TYPED_ENUM(FILTER_TYPE, Uint8)
/// Texture address mode
-/// [D3D11_TEXTURE_ADDRESS_MODE]: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476256(v=vs.85).aspx
-/// [D3D12_TEXTURE_ADDRESS_MODE]: https://msdn.microsoft.com/en-us/library/windows/desktop/dn770441(v=vs.85).aspx
+/// [D3D11_TEXTURE_ADDRESS_MODE]: https://docs.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_texture_address_mode
+/// [D3D12_TEXTURE_ADDRESS_MODE]: https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_texture_address_mode
/// Defines a technique for resolving texture coordinates that are outside of
/// the boundaries of a texture. The enumeration generally mirrors [D3D11_TEXTURE_ADDRESS_MODE][]/[D3D12_TEXTURE_ADDRESS_MODE][] enumeration.
/// It is used by SamplerDesc structure to define the address mode for U,V and W texture coordinates.
@@ -858,8 +858,8 @@ DILIGENT_TYPED_ENUM(TEXTURE_ADDRESS_MODE, Uint8)
/// Comparison function
-/// [D3D11_COMPARISON_FUNC]: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476101(v=vs.85).aspx
-/// [D3D12_COMPARISON_FUNC]: https://msdn.microsoft.com/en-us/library/windows/desktop/dn770349(v=vs.85).aspx
+/// [D3D11_COMPARISON_FUNC]: https://docs.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_comparison_func
+/// [D3D12_COMPARISON_FUNC]: https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_comparison_func
/// This enumeartion defines a comparison function. It generally mirrors [D3D11_COMPARISON_FUNC]/[D3D12_COMPARISON_FUNC] enum and is used by
/// - SamplerDesc to define a comparison function if one of the comparison mode filters is used
/// - StencilOpDesc to define a stencil function
@@ -1142,7 +1142,7 @@ typedef struct AdapterAttribs AdapterAttribs;
/// Flags indicating how an image is stretched to fit a given monitor's resolution.
-/// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb173066(v=vs.85).aspx">DXGI_MODE_SCALING enumeration on MSDN</a>,
+/// \sa <a href = "https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb173066(v=vs.85)">DXGI_MODE_SCALING enumeration on MSDN</a>,
enum SCALING_MODE
{
/// Unspecified scaling.
@@ -1161,7 +1161,7 @@ enum SCALING_MODE
/// Flags indicating the method the raster uses to create an image on a surface.
-/// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/bb173067">DXGI_MODE_SCANLINE_ORDER enumeration on MSDN</a>,
+/// \sa <a href = "https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb173067(v=vs.85)">DXGI_MODE_SCANLINE_ORDER enumeration on MSDN</a>,
enum SCANLINE_ORDER
{
/// Scanline order is unspecified
@@ -1328,7 +1328,7 @@ struct SwapChainDesc
typedef struct SwapChainDesc SwapChainDesc;
/// Full screen mode description
-/// \sa <a href = "https://msdn.microsoft.com/en-us/library/windows/desktop/hh404531(v=vs.85).aspx">DXGI_SWAP_CHAIN_FULLSCREEN_DESC structure on MSDN</a>,
+/// \sa <a href = "https://docs.microsoft.com/en-us/windows/win32/api/dxgi1_2/ns-dxgi1_2-dxgi_swap_chain_fullscreen_desc">DXGI_SWAP_CHAIN_FULLSCREEN_DESC structure on MSDN</a>,
struct FullScreenModeDesc
{
/// A Boolean value that specifies whether the swap chain is in fullscreen mode.
@@ -1373,8 +1373,8 @@ typedef struct EngineCreateInfo EngineCreateInfo;
/// Attributes of the OpenGL-based engine implementation
struct EngineGLCreateInfo DILIGENT_DERIVE(EngineCreateInfo)
- /// Native window wrapper
- NativeWindow Window;
+ /// Native window wrapper
+ NativeWindow Window;
/// Create debug OpenGL context and enable debug output.
@@ -1907,6 +1907,195 @@ struct TextureFormatInfoExt DILIGENT_DERIVE(TextureFormatInfo)
typedef struct TextureFormatInfoExt TextureFormatInfoExt;
+/// Pipeline stage flags.
+
+/// These flags mirror [VkPipelineStageFlagBits](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineStageFlagBits)
+/// enum and only have effect in Vulkan backend.
+DILIGENT_TYPED_ENUM(PIPELINE_STAGE_FLAGS, Uint32)
+{
+ /// The top of the pipeline.
+ PIPELINE_STAGE_FLAG_TOP_OF_PIPE = 0x00000001,
+
+ /// The stage of the pipeline where Draw/DispatchIndirect data structures are consumed.
+ PIPELINE_STAGE_FLAG_DRAW_INDIRECT = 0x00000002,
+
+ /// The stage of the pipeline where vertex and index buffers are consumed.
+ PIPELINE_STAGE_FLAG_VERTEX_INPUT = 0x00000004,
+
+ /// Vertex shader stage.
+ PIPELINE_STAGE_FLAG_VERTEX_SHADER = 0x00000008,
+
+ /// Hull shader stage.
+ PIPELINE_STAGE_FLAG_HULL_SHADER = 0x00000010,
+
+ /// Domain shader stage.
+ PIPELINE_STAGE_FLAG_DOMAIN_SHADER = 0x00000020,
+
+ /// Geometry shader stage.
+ PIPELINE_STAGE_FLAG_GEOMETRY_SHADER = 0x00000040,
+
+ /// Fragment shader stage.
+ PIPELINE_STAGE_FLAG_FRAGMENT_SHADER = 0x00000080,
+
+ /// The stage of the pipeline where early fragment tests (depth and
+ /// stencil tests before fragment shading) are performed. This stage
+ /// also includes subpass load operations for framebuffer attachments
+ /// with a depth/stencil format.
+ PIPELINE_STAGE_FLAG_EARLY_FRAGMENT_TESTS = 0x00000100,
+
+ /// The stage of the pipeline where late fragment tests (depth and
+ /// stencil tests after fragment shading) are performed. This stage
+ /// also includes subpass store operations for framebuffer attachments
+ /// with a depth/stencil format.
+ PIPELINE_STAGE_FLAG_LATE_FRAGMENT_TESTS = 0x00000200,
+
+ /// The stage of the pipeline after blending where the final color values
+ /// are output from the pipeline. This stage also includes subpass load
+ /// and store operations and multisample resolve operations for framebuffer
+ /// attachments with a color or depth/stencil format.
+ PIPELINE_STAGE_FLAG_RENDER_TARGET = 0x00000400,
+
+ /// Compute shader stage.
+ PIPELINE_STAGE_FLAG_COMPUTE_SHADER = 0x00000800,
+
+ /// The stage where all copy and outside-of-renderpass
+ /// resolve and clear operations happen.
+ PIPELINE_STAGE_FLAG_TRANSFER = 0x00001000,
+
+ /// The bottom of the pipeline.
+ PIPELINE_STAGE_FLAG_BOTTOM_OF_PIPE = 0x00002000,
+
+ /// A pseudo-stage indicating execution on the host of reads/writes
+ /// of device memory. This stage is not invoked by any commands recorded
+ /// in a command buffer.
+ PIPELINE_STAGE_FLAG_HOST = 0x00004000,
+
+ /// The stage of the pipeline where the predicate of conditional rendering is consumed.
+ PIPELINE_STAGE_FLAG_CONDITIONAL_RENDERING = 0x00040000,
+
+ /// The stage of the pipeline where the shading rate texture is
+ /// read to determine the shading rate for portions of a rasterized primitive.
+ PIPELINE_STAGE_FLAG_SHADING_RATE_TEXTURE = 0x00400000,
+
+ /// Ray tracing shader.
+ PIPELINE_STAGE_FLAG_RAY_TRACING_SHADER = 0x00200000,
+
+ /// Acceleration structure build shader.
+ PIPELINE_STAGE_FLAG_ACCELERATION_STRUCTURE_BUILD = 0x02000000,
+
+ /// Task shader stage.
+ PIPELINE_STAGE_FLAG_TASK_SHADER = 0x00080000,
+
+ /// Mesh shader stage.
+ PIPELINE_STAGE_FLAG_MESH_SHADER = 0x00100000,
+
+ ///
+ PIPELINE_STAGE_FLAG_FRAGMENT_DENSITY_PROCESS = 0x00800000,
+
+ /// Default pipeline stage that is determined by the resource state.
+ /// For example, RESOURCE_STATE_RENDER_TARGET corresponds to
+ /// PIPELINE_STAGE_FLAG_RENDER_TARGET pipeline stage.
+ PIPELINE_STAGE_FLAG_DEFAULT = 0x80000000
+};
+DEFINE_FLAG_ENUM_OPERATORS(PIPELINE_STAGE_FLAGS)
+
+
+/// Access flag.
+
+/// The flags mirror [VkAccessFlags](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAccessFlags) enum
+/// and only have effect in Vulkan backend.
+DILIGENT_TYPED_ENUM(ACCESS_FLAGS, Uint32)
+{
+ /// No access
+ ACCESS_FLAG_NONE = 0x00000000,
+
+ /// Read access to indirect command data read as part of an indirect
+ /// drawing or dispatch command.
+ ACCESS_FLAG_INDIRECT_COMMAND_READ = 0x00000001,
+
+ /// Read access to an index buffer as part of an indexed drawing command
+ ACCESS_FLAG_INDEX_READ = 0x00000002,
+
+ /// Read access to a vertex buffer as part of a drawing command
+ ACCESS_FLAG_VERTEX_READ = 0x00000004,
+
+ /// Read access to a uniform buffer
+ ACCESS_FLAG_UNIFORM_READ = 0x00000008,
+
+ /// Read access to an input attachment within a render pass during fragment shading
+ ACCESS_FLAG_INPUT_ATTACHMENT_READ = 0x00000010,
+
+ /// Read access from a shader resource, formatted buffer, UAV
+ ACCESS_FLAG_SHADER_READ = 0x00000020,
+
+ /// Write access to a UAV
+ ACCESS_FLAG_SHADER_WRITE = 0x00000040,
+
+ /// Read access to a color render target, such as via blending,
+ /// logic operations, or via certain subpass load operations.
+ ACCESS_FLAG_RENDER_TARGET_READ = 0x00000080,
+
+ /// Write access to a color render target, resolve, or depth/stencil resolve
+ /// attachment during a render pass or via certain subpass load and store operations.
+ ACCESS_FLAG_RENDER_TARGET_WRITE = 0x00000100,
+
+ /// Read access to a depth/stencil buffer, via depth or stencil operations
+ /// or via certain subpass load operations
+ ACCESS_FLAG_DEPTH_STENCIL_READ = 0x00000200,
+
+ /// Write access to a depth/stencil buffer, via depth or stencil operations
+ /// or via certain subpass load and store operations
+ ACCESS_FLAG_DEPTH_STENCIL_WRITE = 0x00000400,
+
+ /// Read access to an texture or buffer in a copy operation.
+ ACCESS_FLAG_COPY_SRC = 0x00000800,
+
+ /// Write access to an texture or buffer in a copy operation.
+ ACCESS_FLAG_COPY_DST = 0x00001000,
+
+ /// Read access by a host operation. Accesses of this type are
+ /// not performed through a resource, but directly on memory.
+ ACCESS_FLAG_HOST_READ = 0x00002000,
+
+ /// Write access by a host operation. Accesses of this type are
+ /// not performed through a resource, but directly on memory.
+ ACCESS_FLAG_HOST_WRITE = 0x00004000,
+
+ /// All read accesses. It is always valid in any access mask,
+ /// and is treated as equivalent to setting all READ access flags
+ /// that are valid where it is used.
+ ACCESS_FLAG_MEMORY_READ = 0x00008000,
+
+ /// All write accesses. It is always valid in any access mask,
+ /// and is treated as equivalent to setting all WRITE access
+ // flags that are valid where it is used.
+ ACCESS_FLAG_MEMORY_WRITE = 0x00010000,
+
+ /// Read access to a predicate as part of conditional rendering.
+ ACCESS_FLAG_CONDITIONAL_RENDERING_READ = 0x00100000,
+
+ /// Read access to a shading rate texture as part of a drawing comman.
+ ACCESS_FLAG_SHADING_RATE_TEXTURE_READ = 0x00800000,
+
+ /// Read access to an acceleration structure as part of a trace or build command.
+ ACCESS_FLAG_ACCELERATION_STRUCTURE_READ = 0x00200000,
+
+ /// Write access to an acceleration structure or acceleration structure
+ /// scratch buffer as part of a build command.
+ ACCESS_FLAG_ACCELERATION_STRUCTURE_WRITE = 0x00400000,
+
+ /// Read access to a fragment density map attachment during
+ /// dynamic fragment density map operations.
+ ACCESS_FLAG_FRAGMENT_DENSITY_MAP_READ = 0x01000000,
+
+ /// Default access type that is determined by the resource state.
+ /// For example, RESOURCE_STATE_RENDER_TARGET corresponds to
+ /// ACCESS_FLAG_RENDER_TARGET_WRITE access type.
+ ACCESS_FLAG_DEFAULT = 0x80000000
+};
+DEFINE_FLAG_ENUM_OPERATORS(ACCESS_FLAGS)
+
+
/// Resource usage state
DILIGENT_TYPED_ENUM(RESOURCE_STATE, Uint32)
{