// iddcx.h
HRESULT IddCxSwapChainGetPhysicallyContiguousAddress(
[in] IDDCX_SWAPCHAIN SwapChainObject,
[out] PHYSICAL_ADDRESS *pSurfaceAddresss
);
View the official Windows Driver Kit DDI referenceNo description available.
IddCxSwapChainGetPhysicallyContiguousAddress retrieves the physical address of the specified swapchain's currently acquired surface.
SwapChainObject [in]The IDDCX_SWAPCHAIN object used to query the physical address of the currently acquired surface.
pSurfaceAddresss [out]Pointer to a PHYSICAL_ADDRESS variable that is filled in with either the physical address of a surface or nullptr.
IddCxSwapChainGetPhysicallyContiguousAddress returns S_OK on success and indicates a valid physical pointer in pSurface. If the initial request to allocate primaries in physically contiguous memory could not be satisfied then this method will return E_NOINTERFACE. If a surface has not been currently acquired, or if pSurface is nullptr then this method will return E_INVALIDARG.
IddCxSwapChainGetPhysicallyContiguousAddress looks up the currently acquired surface of the specified swapchain and first performs a wait for any pending render commands. Once the wait is successful, it retrieves the physical address of the surface if the initial request succeeded, and then performs a cache flush and invalidation on the range that contains the surface.
IddCxSwapChainReleaseAndAcquireBuffer
IddCxSwapChainReleaseAndAcquireSystemBuffer