首页 文章 精选 留言 我的

精选列表

搜索[数据库相关],共10000篇文章
优秀的个人博客,低调大师

更多 RadeonSI Gallium3D 相关的 ACO 代码出现

AMD工程师Qiang Yu最近一直在努力将对Valve的ACO编译器的支持从RADV转移到RadeonSI Gallium3D OpenGL驱动中,作为使用默认的AMDGPU LLVM着色器编译器的替代。本周,更多的代码已经登陆,以进一步推动这项工作。 上个月,最初的代码被连接起来,因此Valve的ACO可以用于RadeonSI中的特定着色器。上周有更多的ACO代码被合并,本周又有更多的代码被合并,同时还有另一个开放的合并请求。 最近在RadeonSI方面的合并是使ACO支持独立的镶嵌控制着色器(TCS)/镶嵌/几何图形着色器。这扩大了RadeonSI中ACO编译器的使用范围。与之前支持的着色器类型一样,必须设置AMD_DEBUG=useaco环境变量,以便在能够替代AMDGPU LLVM的情况下启用ACO的使用。 同样令人振奋的是,上周五开放了一个新的合并请求,允许使用ACO的计算着色器支持。反过来,除了SI_SHADER_MERGED_VERTEX_TESSCTRL和SI_SHADER_MERGED_VERTEX_OR_TESSEVAL_GEOMETRY之外,RadeonSI对所有着色器类型的ACO支持。 希望计算着色器的支持能在下一季度的Mesa 23.2版本中得到及时审查和合并,这样我们就能为感兴趣的Linux爱好者/游戏玩家提供一些可用的实验性ACO支持。

优秀的个人博客,低调大师

木兰语言的引用相关功能与问题新发现

上周继续改写 Python 文字冒险游戏第十二章,期间发现个木兰编程语言在引用功能上的特别之处。 起因是这样。在 世界.ul 中添加了随机敌人: type 敌人位置 : 地块 { func $敌人位置(x, y) { 随机 = random.random() if 随机 < 0.50 { $敌人 = ch12.敌人.大蜘蛛() $提示出现 = "一只大蜘蛛从它的网上跳到你面前!" $提示死亡 = "死蜘蛛的尸体在地上发臭。" } elif 随机 < 0.80 { $敌人 = ch12.敌人.食人魔() $提示出现 = "一个食人魔挡住了去路!" $提示死亡 = "食人魔倒地,胜利!" } elif 随机 < 0.95 { $敌人 = ch12.敌人.蝙蝠群() $提示出现 = "一阵尖锐的噪声逐渐变大……突然被一群蝙蝠团团包围!" $提示死亡 = "数十只死蝙蝠散落在地。" } else { $敌人 = ch12.敌人.石头怪() $提示出现 = "你惊醒了一只沉睡的石头怪!" $提示死亡 = "怪物被打败,变回了普通石头。" } super.__init__(x, y) } func $介绍 { return ($敌人.活着() ? $提示出现 : $提示死亡) + "\n" } func $影响(玩家) { if $敌人.活着() { 玩家.血量 = 玩家.血量 - $敌人.攻击 println("敌人造成{}点伤害,你还有{}点血。".format($敌人.攻击, 玩家.血量)) } } } 地图 = [ [nil, 取胜位置(1,0), nil], [nil, 敌人位置(1,1), nil], [敌人位置(0,2), 起始位置(1,2), 敌人位置(2,2)], [nil, 敌人位置(1,3), nil] ] 在原代码中,有两处引用此模块。结果发现两处得到的同一地点的敌人不同。用简化例子说明(更多测试见此 issue): ran.ul 为被引用模块: using random r = random.random() println("in ran: `r`") m1.ul 引用 ran 中的 r: using * in ran println("in m1: `r`") m2.ul 引用 m1 后引用了 ran: using * in m1 using * in ran println("in m2: `r`") 运行 木兰 m2.ul 输出如下: in ran: 0.14259277701409412 in m1: 0.14259277701409412 in ran: 0.7840393404568102 in m2: 0.7840393404568102 就是说,在 m1 和 m2 都引用了 ran 模块时,ran 模块被运行了两次,导致在两处的 r 值不同。同样行为在原始 ulang-0.2.2.exe 中复现。而类似例程在 Python 下,ran 模块仅被运行一次,m1 和 m2 的 r 输出值相同。 虽然仍需深入研究,但至少现在看来木兰的如此引用规则意味着在多处引用同一模块时要特别注意。在上面的游戏例程中,是通过方法传参规避了一处引用,达到了同样游戏功能。 另外,本周用现有测试集对木兰的 PyPI 发布版本进行了全面测试(Mac 和 win7 下),结果发现其中有一个 测试/引用/引用本地包内py.ul 未通过(详见此处)。这是头次发觉 PyPI 发布版本与本地开发版的行为差别。作为参照物之一的 木兰演示版本 在 win7 下安装测试也有同样问题,仍需进一步调查。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册