Fully-Typed Back Buffers Casting
This section applies only to Windows 7 and later operating systems.
Consider resources that are created through a call to the driver's CreateResource(D3D10) function with the Format member of the D3D10DDIARG_CREATERESOURCE structure set to a format of family DXGI_FORMAT_R8G8B8A8_TYPELESS, DXGI_FORMAT_B8G8R8A8_TYPELESS or DXGI_FORMAT_R10G10B10A2_TYPELESS and with the D3D10_DDI_BIND_PRESENT value set in the BindFlags member of D3D10DDIARG_CREATERESOURCE. The Direct3D version 10.1 runtime can subsequently create views (render target or shader resource) on these resources by using any of the fully-typed members of the appropriate family (for example, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB for the DXGI_FORMAT_B8G8R8A8_TYPELESS family), even if the original resource is created as fully typed. If D3D10_DDI_BIND_PRESENT is not set for the resource, this re-casting is not allowed, as is the case for all fully-typed resources in Direct3D version 10.
This change for Direct3D version 10.1 allows applications to re-view a DXGI_FORMAT_R8G8B8A8_UNORM back buffer as DXGI_FORMAT_R8G8B8A8_UNORM_SRGB and vice versa. This change also allows applications to cast a DXGI_FORMAT_B8G8R8A8_UNORM_SRGB back buffer for DXGI_FORMAT_B8G8R8A8_UNORM and to re-view DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM as DXGI_FORMAT_R10G10B10A2_* for rendering.
We'd love to hear your thoughts. Choose the type you'd like to provide:
Our feedback system is built on GitHub Issues. Read more on our blog.