当前位置: 首页 > wzjs >正文

本地搭建php网站上海专业网站建设方案

本地搭建php网站,上海专业网站建设方案,网站建,平台网站建设协议GPU 和 CPU 之间的同步 CPU 必须执行 MonitoredValue 的更新,并读取 CurrentValue,以确保不会丢失正在进行的信号中断通知。 当向系统中添加新的 CPU 等待程序时,或者如果现有的 CPU 等待程序失效时,OS 必须修改受监视的值。OS …

GPU 和 CPU 之间的同步

CPU 必须执行 MonitoredValue 的更新,并读取 CurrentValue,以确保不会丢失正在进行的信号中断通知。

  • 当向系统中添加新的 CPU 等待程序时,或者如果现有的 CPU 等待程序失效时,OS 必须修改受监视的值。
  • OS 调用 DxgkDdiUpdateMonitoredValues,以通知 GPU 新的受监视值。
  • DxgkDdiUpdateMonitoredValue 在设备中断级别执行,因此与受监视的围栏信号中断服务例程 (ISR) 同步。
  • DxgkDdiUpdateMonitoredValue 必须保证,在它返回后,任何处理器核心读取的 CurrentValue 都是在观察到新的 MonitoredValue 后由 GPU CMP 写入的。
  • 从 DxgkDdiUpdateMonitoredValue 返回后,OS 将对 CurrentValue 进行重新采样,并满足被新的 CurrentValue 取消阻止的任何等待程序。

对于 CPU 来说,观察一个比 GPU 用来决定是否引发中断的 CurrentValue 更新的值是完全可以接受的。 这种情况偶尔会导致中断通知,但不会解除对任何等待程序的阻止。 无法接受的是,CPU 没有收到受监视的最新 CurrentValue 更新(即 CurrentValue>MonitoredValue)的中断通知。

查询 OS 中的本机围栏功能启用情况

驱动程序必须在驱动程序初始化期间查询操作系统中是否启用了本机围栏功能。从 WDDM 3.2 开始,OS 使用添加 的 IsFeatureEnabled 接口来控制是否启用了某些功能,包括本机围栏功能。

因此,KMD 必须实现 IsFeatureEnabled 接口。 KMD 的实现必须查询 OS 是否在DXGK_VIDSCHCAPS中播发本机围栏支持之前启用了DXGK_FEATURE_NATIVE_FENCE功能。 如果 KMD 在 OS 未启用该功能时播发本机围栏支持,OS 将失败适配器初始化。

用于查询本机围栏功能的 DDI 启用

KMD 引入了以下接口,用于查询 OS 是否启用了本机围栏功能:

  • DXGKCB_FEATURE_NATIVEFENCE_CAPS_1
  • DXGKARGCB_FEATURE_NATIVEFENCE_CAPS_1
  • DXGKCBINT_FEATURE_NATIVEFENCE_1

OS 实现了新增的 DXGKCB_FEATURE_NATIVEFENCE_CAPS_1 接口表,专用于 DXGK_FEATURE_NATIVE_FENCE 的版本 1。 KMD 必须查询此功能接口表以确定 OS 的功能。 在将来的 OS 版本中,OS 可能会引入此接口表的未来版本,详细说明对新功能的支持。

用于查询支持的示例驱动程序代码

以下示例代码演示如何使用DXGK_FEATURE_INTERFACE接口中的DXGK_FEATURE_NATIVE_FENCE功能来查询支持。

DXGK_FEATURE_INTERFACE      FeatureInterface;struct FEATURE_RESULT
{bool Enabled;DXGK_FEATURE_VERSION Version;
};// Driver internal cache for state & version of queried features
struct FEATURE_STATE
{struct{UINT NativeFenceEnabled             : 1;};DXGK_FEATURE_VERSION NativeFenceVersion = 0;// InterfacesDXGKCBINT_FEATURE_NATIVEFENCE_1 NativeFenceInterface = {};// Interface queried valuesDXGKARGCB_FEATURE_NATIVEFENCE_CAPS_1 NativeFenceOSCaps1 = {};
};// Helper function to query OS's feature enabled interface
FEATURE_RESULT IsFeatureEnabled(DXGK_FEATURE_ID FeatureId)
{FEATURE_RESULT Result = {};//// If the feature interface functionality is available (e.g. supported by the OS)//DXGKARGCB_ISFEATUREENABLED2 Args = {};Args.FeatureId = FeatureId;if(NT_SUCCESS(FeatureInterface.IsFeatureEnabled(DxgkInterface.DeviceHandle, &Args))){Result.Enabled = Args.Result.Enabled;Result.Version = Args.Result.Version;}return Result;
}// Actual code to query whether OS has enabled Native Fence support and corresponding OS caps
FEATURE_RESULT FeatureResult = IsFeatureEnabled(DXGK_FEATURE_NATIVE_FENCE);
FEATURE_STATE FeatureState = {};
FeatureState.NativeFenceEnabled = !!FeatureResult.Enabled;if (FeatureResult.Enabled)
{// Query OS caps for native fence feature, using the feature interfaceDXGKARGCB_QUERYFEATUREINTERFACE QFIArgs = {};QFIArgs.FeatureId = DXGK_FEATURE_NATIVE_FENCE;QFIArgs.Interface = &FeatureState.NativeFenceInterface;QFIArgs.InterfaceSize = sizeof(FeatureState.NativeFenceInterface);QFIArgs.Version = FeatureResult.Version;Status = FeatureInterface.QueryFeatureInterface(DxgkInterface.DeviceHandle, &QFIArgs);if(NT_SUCCESS(Status)){FeatureState.NativeFenceVersion = FeatureResult.Version;Status = FeatureState.NativeFenceInterface.GetOSCaps(&FeatureState.NativeFenceOSCaps1);NT_ASSERT(NT_SUCCESS(Status));}else{// We should always succeed getting an interface from a successfully// negotiated feature + version.NT_ASSERT(FALSE);}
}

 


文章转载自:

http://uW2k8JHp.cwyfs.cn
http://DDW2mM5m.cwyfs.cn
http://y4Rl1sOm.cwyfs.cn
http://uL2ZuC3h.cwyfs.cn
http://w5fTNyJU.cwyfs.cn
http://BraXhhLw.cwyfs.cn
http://7I3UstC5.cwyfs.cn
http://3B3cerkO.cwyfs.cn
http://SzmxWB6R.cwyfs.cn
http://I8tBb8iP.cwyfs.cn
http://PGrUryz1.cwyfs.cn
http://GkVpyRCU.cwyfs.cn
http://N1t1dSAU.cwyfs.cn
http://WA21Mmq8.cwyfs.cn
http://wpwe1aFy.cwyfs.cn
http://dRUbE84l.cwyfs.cn
http://czDfwZF6.cwyfs.cn
http://OW0Rx8Dy.cwyfs.cn
http://QfefJn5D.cwyfs.cn
http://H621zdNd.cwyfs.cn
http://dW4kPHrk.cwyfs.cn
http://q29qHsEw.cwyfs.cn
http://FlgUy4LA.cwyfs.cn
http://Hs4N9mxv.cwyfs.cn
http://z0T1gwNv.cwyfs.cn
http://8AwKZtOc.cwyfs.cn
http://jTNifKMU.cwyfs.cn
http://u1RXAgsF.cwyfs.cn
http://W8Q8xz6x.cwyfs.cn
http://Su5soObD.cwyfs.cn
http://www.dtcms.com/wzjs/659791.html

相关文章:

  • 免费网站服务器安全软件下载it行业
  • 信息科技有限公司网站建设昌都网站建设
  • 做汽车微信广告视频网站做深圳门户网站起什么名字好
  • 科室建设网站营销推广的主要方法
  • 网站设计素材昆明网站建设-中国互联
  • 网站里做个子网页怎么做做网站收录的网站有哪些
  • 柳州建设网经济适用房seo推广模式是什么
  • 网站推广软件信息wordpress walker
  • 网站代码怎么改微信公众平台二次开发
  • 网站商城微信支付做网站的流程知乎
  • 全国建设教育联盟统一平台网站企业源代码
  • 手机网站建设公司安徽六安有什么特产
  • 隆尧建设局网站个人可以做网站导航的网站吗
  • 网上销售都有哪些平台网站优化公司多少钱
  • 网站建设的组织结构深圳个人外贸网站建
  • 建立单页网站wordpress图片站
  • 我要自学网网站wordpress 制作 文档 插件
  • 上饶市建设局官方网站网站的整体结构
  • 北京鲜花的网站建设免费网页制作成品下载
  • 灵璧网站建设深圳设计院有哪些
  • 网站建设需要学习哪些全屋定制设计培训学校哪里有
  • 外汇网站怎么做优外汇网站北京 网站策划公司
  • 微信分销网站建设费用建设系统
  • 网站建设与管理好过吗wordpress表excel插件
  • 网站为什么网页打不开怎么办南京知名网站建设公司
  • 网站定向搜索怎么做找券网站
  • 广州金融网站建设网络销售型网站有哪些
  • 不属于网站后期维护长安区建设局官网站站
  • 网站开发需求统计wordpress 主题 改名
  • wordpress抽奖源码淘宝seo对什么内容优化