PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER回调函数 (d3d10umddi.h)
指定多个平铺资源之间的数据访问排序约束。 有关此约束的详细信息,请参阅“备注”。
语法
PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER Pfnd3dwddm13DdiTiledresourcebarrier;
void Pfnd3dwddm13DdiTiledresourcebarrier(
D3D10DDI_HDEVICE hDevice,
D3D11DDI_HANDLETYPE TiledResourceAccessBeforeBarrierHandleType,
VOID *hTiledResourceAccessBeforeBarrier,
D3D11DDI_HANDLETYPE TiledResourceAccessAfterBarrierHandleType,
VOID *hTiledResourceAccessAfterBarrier
)
{...}
参数
hDevice
显示设备的句柄(图形上下文)。
TiledResourceAccessBeforeBarrierHandleType
平铺资源的句柄。
hTiledResourceAccessBeforeBarrier
使用 D3DWDDM1_3DDI_RESOURCE_MISC_TILED 标志创建的资源的句柄。 在 hTiledResourceAccessAfterBarrier 指定的对象的访问作之前,必须完成对此对象的访问作。
TiledResourceAccessAfterBarrierHandleType
hTiledResourceAccessBeforeBarrier 和 hTiledResourceAccessAfterBarrier 参数指向的资源 D3D11DDI_HANDLETYPE 句柄类型。
hTiledResourceAccessAfterBarrier
使用 D3DWDDM1_3DDI_RESOURCE_MISC_TILED 标志创建的资源的句柄。 在 hTiledResourceAccessBeforeBarrier 指定的对象的访问作之后,必须开始对此对象的访问作。
返回值
没有
言论
驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。
Direct3D 运行时对参数执行最小验证。
应用可以使用平铺资源重用不同资源中的磁贴。 但是,设备和驱动程序可能无法确定刚刚呈现到的磁贴池中的某些内存现在是否用于读取。
Direct3D 运行时调用 TiledResourceBarrier,以通知驱动程序调用之前,调用之前必须完成对资源执行的作,然后才能使用共享同一内存的其他平铺资源进行调用。
hTiledResourceAccessBeforeBarrier 和 hTiledResourceAccessAfterBarrier 参数(在屏障之前或之后)都可以 NULL。 在屏障前 NULL 意味着在屏障之前必须完成所有平铺资源访问,然后 GPU 才能引用屏障后指定的资源。 屏障后 NULL 意味着,在访问屏障之前访问磁贴资源后,GPU 才能执行任何平铺资源之后访问的平铺资源。 如果两者都 NULL,则所有以前的平铺资源访问都必须完成,然后才能继续任何后续平铺资源访问。
如果未调用 TiledResourceBarrier,驱动程序可以假定访问不同的平铺资源不会相互冲突。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8.1,WDDM 1.3 |
支持的最低服务器 | Windows Server 2012 R2 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |