PDXGKDDI_RELEASESWIZZLINGRANGE callback function

The DxgkDdiReleaseSwizzlingRange function releases a swizzling range that the DxgkDdiAcquireSwizzlingRange function previously set up.

Syntax


PDXGKDDI_RELEASESWIZZLINGRANGE DxgkDdiReleaseSwizzlingRange;

NTSTATUS APIENTRY DxgkDdiReleaseSwizzlingRange(
  _In_ const HANDLE                        hAdapter,
  _In_ const DXGKARG_RELEASESWIZZLINGRANGE *pReleaseSwizzlingRange
)
{ ... }

Parameters

hAdapter [in]

[in] A handle to a context block that is associated with a display adapter. The display miniport driver previously provided this handle to the Microsoft DirectX graphics kernel subsystem in the MiniportDeviceContext output parameter of the DxgkDdiAddDevice function.

pReleaseSwizzlingRange [in]

[in] A pointer to a DXGKARG_RELEASESWIZZLINGRANGE structure that contains information for releasing the swizzling range.

Return value

DxgkDdiReleaseSwizzlingRange returns STATUS_SUCCESS, or an appropriate error result if the swizzling range is not successfully released.

Remarks

The DxgkDdiReleaseSwizzlingRange function is typically called when the specified allocation (that is, the hAllocation member of the DXGKARG_RELEASESWIZZLINGRANGE structure that the pReleaseSwizzlingRange parameter points to) is evicted or destroyed, or when another allocation requires the swizzling range that the RangeId member of DXGKARG_RELEASESWIZZLINGRANGE specifies.

If the specified allocation is currently associated with multiple swizzling ranges (through calls to the DxgkDdiAcquireSwizzlingRange function), the display miniport driver should release only the swizzling range that the RangeId member of DXGKARG_RELEASESWIZZLINGRANGE specifies. If the display miniport driver releases all of the swizzling ranges that are associated with the allocation, random corruption in the allocation might result because an application might currently be using one or more of the swizzling ranges.

The driver must use memory-mapped I/O (MMIO) to set up a swizzling range. These swizzling-range accesses must not interfere with the execution of the GPU (that is, the GPU must not be idle when DxgkDdiReleaseSwizzlingRange is called).

All calls to DxgkDdiReleaseSwizzlingRange are serialized among themselves but not with any other device driver interface (DDI) function.

DxgkDdiReleaseSwizzlingRange should be made pageable.

Requirements

Target platform

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

D3dkmddi.h (include D3dkmddi.h)

IRQL

PASSIVE_LEVEL

See also

DXGKARG_RELEASESWIZZLINGRANGE
DxgkDdiAcquireSwizzlingRange
DxgkDdiAddDevice

 

 

Send comments about this topic to Microsoft

Show: