PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER callback function (d3d10umddi.h)

Specifies a data access ordering constraint between multiple tiled resources. For more info about this constraint, see Remarks.

Syntax

PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER Pfnd3dwddm13DdiTiledresourcebarrier;

void Pfnd3dwddm13DdiTiledresourcebarrier(
  D3D10DDI_HDEVICE hDevice,
  D3D11DDI_HANDLETYPE TiledResourceAccessBeforeBarrierHandleType,
  VOID *hTiledResourceAccessBeforeBarrier,
  D3D11DDI_HANDLETYPE TiledResourceAccessAfterBarrierHandleType,
  VOID *hTiledResourceAccessAfterBarrier
)
{...}

Parameters

hDevice

A handle to the display device (graphics context).

TiledResourceAccessBeforeBarrierHandleType

A handle to the tiled resource.

hTiledResourceAccessBeforeBarrier

A handle to a resource that was created with the D3DWDDM1_3DDI_RESOURCE_MISC_TILED flag. Access operations on this object must complete before the access operations on the object that hTiledResourceAccessAfterBarrier specifies.

TiledResourceAccessAfterBarrierHandleType

The D3D11DDI_HANDLETYPE handle type of the resources pointed to by the hTiledResourceAccessBeforeBarrier and hTiledResourceAccessAfterBarrier parameters.

hTiledResourceAccessAfterBarrier

A handle to a resource that was created with the D3DWDDM1_3DDI_RESOURCE_MISC_TILED flag. Access operations on this object must begin after the access operations on the object that hTiledResourceAccessBeforeBarrier specifies.

Return value

None

Remarks

The driver can use the pfnSetErrorCb callback function to set an error code.

The Direct3D runtime performs minimal validation of parameters.

Apps can use tiled resources to reuse tiles in different resources. But a device and driver might not be able to determine whether some memory in a tile pool that was just rendered to is now being used for reading.

The Direct3D runtime calls TiledResourceBarrier to inform the driver that operations issued to the resource before the call must complete before any accesses that occur after the call using a different tiled resource that shares the same memory.

Either or both of the hTiledResourceAccessBeforeBarrier and hTiledResourceAccessAfterBarrier parameters (before or after the barrier) can be NULL. NULL before the barrier means that all tiled resource accesses before the barrier must complete before the resource specified after the barrier can be referenced by the GPU. NULL after the barrier means that any tiled resources accessed after the barrier can only be executed by the GPU after accesses to the tiled resources before the barrier are finished. If both are NULL, all previous tiled resource accesses must be complete before any subsequent tiled resource access can proceed.

If no calls are made to TiledResourceBarrier, the driver can assume that accesses to different tiled resources do not conflict with each other.

Requirements

Requirement Value
Minimum supported client Windows 8.1,WDDM 1.3
Minimum supported server Windows Server 2012 R2
Target Platform Desktop
Header d3d10umddi.h (include D3d10umddi.h)

See also

D3D11DDI_HANDLETYPE

pfnSetErrorCb