AMD - KlayGE游戏引擎 Skip to content

Archive

Tag: AMD
AMD Mantle的SDK一直都没出,但现在至少有了支持Mantle的Catalyst 14.1驱动。Geeks3D网站有个帖子列出了mantle32.dll和mantle64.dll等几个DLL中包含的函数入口。 Mantle本身存在于mantle32.dll和mantle64.dll。导出的函数接口如下: IcdDbgMessage DllMain grAllocMemory grAttachImageViewDescriptors grAttachMemoryViewDescriptors grAttachNestedDescriptors grAttachSamplerDescriptors grBeginCommandBuffer grBeginDescriptorSetUpdate grBindObjectMemory grClearDescriptorSetSlots grCmdBeginQuery grCmdBindDescriptorSet grCmdBindDynamicMemoryView grCmdBindIndexData grCmdBindPipeline ...
网上看到的GPU比较,都是桌面和桌面比,移动和移动比。很多人对此没有概念,总觉得移动的CPU/GPU在性能上也能比肩桌面CPU/GPU。那么就让我们来看看把各家的顶级GPU放在一起比硬指标,是什么样的结果吧。资料来自wikipedia和厂商自家宣传。 计算单元对比 Model Fab (nm) Core Clock rate API Core (MHz) Memory (MHz) NVIDIA GeForce GTX Titan 28 2688 836-993 6008 D3D 11.0, OpenGL 4.4, CUDA 5.5, OpenCL 1.2 NVIDIA Quadro K6000 28 2880 901.5 6008 D3D 11.0, OpenGL 4.4, CUDA 5.5, OpenCL 1.2 AMD Fusion APU 8670D 32 384 844-950 1066 D3D 11.0, OpenGL 4.3, OpenCL 1.2 AMD ...
AMD的OpenGL驱动问题很多,是个众所周知的事情。以前我也写过《OpenGL驱动的陷阱:ATI篇》和《OpenGL驱动的陷阱:ATI篇,后续》来阐述这个问题,当时最新的驱动是Catalyst 10.10。过了一年多的时间,AMD的驱动和KlayGE的代码都有了不少变化,情况又如何呢? 失败的例子 在去年的驱动上,发现的问题主要有三个(ticket #58): Deferred Rendering和Global Illumination中,GI的效果只在第一帧出现。没找到原因。 Detailed Surface和JudaTex Viewer中,纹理显示混乱。没找到原因。 GPU Particle System和Particle editor中,粒子没有显示出来。GS编译失败。 更新到Catalyst 12.1后(也可能在11.12或者11.11就更新了,我没测试) ...
AMD昨天发布了Catalyst 11.12 WHQL驱动。对开发者来说,最大的好处是正式支持了OpenGL 4.2!虽然从11.10 Preview 3开始,Catalyst就支持OpenGL 4.2,但正式版总是返回到了4.1。这是AMD第一个正式支持4.2的驱动。 Catalyst 11.12桌面版下载: Cat 11.12 Win7 64-bit Cat 11.12 Win7 32-bit Cat 11.12 XP 64-bit Cat 11.12 XP 32-bit Catalyst 11.12移动版下载: Cat 11.12 Mobility Vista / Win7 64-bit Cat 11.12 Mobility Vista / Win7 32-bit 至此,主流显卡驱动都支持了OpenGL 4.2。(Intel?Intel也算主流?)
在关于D3D11,你必须了解的几件事情(二)中,我提到过目前的驱动都不支持D3D11的Multi-threaded,而是在D3D11 runtime中通过软件实现command list。昨天在NV Forceware R280及以上的驱动上发现,Driver Command List已经得到了支持。也就是说,在NV的D3D10和D3D11级别的显卡上都可以通过D3D11提供的Multi-threaded来进行加速了! 拿DX SDK的MultithreadedRendering11例子进行测试,Immediate、ST Def/Scene、MT Def/Scene、ST Def/Chunk、MT Def/Chunk的帧速率分别为54.67、35.06、62.20、39.88、64.83。很明显可以看出,Multi-threaded确实有了真正的性能提升。之前利用软件实现的时候,这个例子的MT只能达到Immediate的速度而已。 ...
上文介绍了feature level和option features这两个最容易被误解的D3D11特性,本篇主要探讨一下另外两个重要特性,compute shader和multi-threaded。他们同样可以在D3D10级别硬件上使用,但存在很多细节需要注意。 Compute Shader compute shader(也叫DirectCompute)是D3D11新增的主要功能之一。在D3D11的GPU上,compute shader是完整的5.0版本,而在D3D10.x的GPU上,compute shader有个简化的4.x版。两者的具体差别请见Compute Shaders on Downlevel Hardware。 CS 4.x的一个很重要缺点是不支持RWTexture,所以shader无法写入texture,只能写入buffer。(这是NV造成的。AMD的硬件很 早就可以做到写入RWTexture,但因为CS 4.x要求同时兼 ...
OpenGL 4.2发布当天,NVIDIA就发布了支持OpenGL 4.2的驱动。现在AMD也发布了支持4.2的新驱动Catalyst 11.8 Preview。 Windows版下载 Linux版下载 详细信息请看这里。
上周末实现了打算在KlayGE 4.0中使用的render to texture array功能。于是自然而然想到在ShadowCubeMap这个例子中使用,用来在1个pass内直接生成cubemap。结果,不比不知道,一比吓一跳。在不同GPU上FPS如下: NV 9800GT NV 480GTX AMD 5870 6 pass Cubemap 158.63 312.82 241.10 Dual Paraboloid 5.77 375.32 211.91 1 pass Cubemap 66.08 288.77 228.44 1 pass Cubemap with instance 105.37 281.34 224.10 1 pass Cubemap with instance GS NA 287.80 211.01 9800GT所在机器的CPU比后两套系统差得多,没法横向比较,只能纵向比较。后两套系统只有GPU不同,可以横向和纵向比较 ...
AMD Catalyst 11.4才发布没几天,11.5也紧跟着出来了。使用的感觉和上一版没啥区别,能用得还是能用,不能用的还是不能用:(。
上一个帖子提到了在Catalyst 11.4上,KlayGE的OpenGL插件黑屏的情况,现已查明是因为AMD和NVIDIA的GLSL不兼容的原因。NV的驱动上fragment shader可以定义varying out vec4 v_gl_FragData[8]这样的输出数组,但AMD的驱动上不支持。所以我再次修改GLSL生成器,把数组拆成独立变量,解决了问题。但实际上AMD的GLSL预定义了out vec4 gl_FragData[],所以变成预定义可以,自定义不行的情况。估计得等以后他们自行解决吧,目前只能先绕开了。