POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: Edison
打印 上一主题 下一主题

AMD 下一代 GPU 架构 Evergreen 讨论专贴

 关闭 [复制链接]
41#
发表于 2009-6-5 14:25 | 只看该作者
以后应该是蜘蛛网架构
回复 支持 反对

使用道具 举报

potomac 该用户已被删除
42#
发表于 2009-6-6 11:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

43#
 楼主| 发表于 2009-6-9 21:35 | 只看该作者
找到 amd 的 文档,里面提到:

the hardware tessellator unit takes an input primitive (which we refer to as a superprimitive), and amplifies it (up to 411 triangles, or 15X for Xbox 360 or ATI RadeonTM HD 2000-4000 GPU generations, or 64X for Direct3D 11 generation of graphics cards).

所以 r600 家族的 hardware tessellator 是不可能在 dx 11 中使用了,当然还有一些别的区别导致无法在 dx11 中使用。
回复 支持 反对

使用道具 举报

44#
发表于 2009-6-9 23:07 | 只看该作者
恩,那是肯定的 :〉
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
45#
发表于 2009-6-12 15:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

46#
发表于 2009-6-12 20:27 | 只看该作者
最近被朋友提到了一个问题,关于Early-Z的。下面这个是Paper的地址,http://people.csail.mit.edu/ericchan/papers/smapSV/  文章的Performance Issues这一段中有这么一段话。如下:

We mention in the paper that our algorithm requires the hardware to preserve early culling behavior when using a pixel shader to set depth values. Of the various NVIDIA hardware, only the GeForce 6 (NV40) architecture supports this feature. Previous NVIDIA architectures, such as the GeForce 3/4 (NV2x) and GeForce FX (NV3x) do not. On those earlier architectures, if you use a pixel shader to discard fragments (fragment kill) or modify depth values, early culling becomes disabled. Consequently, our hybrid algorithm is not efficient on those architectures because shadow volumes will be completely rasterized instead of being limited to the shadow silhouettes.

We have also discussed this issue with ATI, and they informed us that using a pixel shader to set depth values will preserve culling behavior for subsequent render passes on the Radeon 9700 (R300) or newer architectures. (Note that early culling will not apply to the current pass.) While this arrangement is suitable for our hybrid algorithm, unfortunately ATI hardware does not support the EXT_depth_bounds_test extension. Therefore, currently we cannot simulate a computation mask efficiently on ATI hardware.


水平有限,非常费解,上面写如果PS Modified Depth Value那么NV40以后的GPU是可以支持其情景下的Early Reject的。我没有NV40的文档,我见过的设计文档里,还没有这么NB的设计,不知道是我才疏学浅。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
47#
发表于 2009-6-14 16:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

48#
发表于 2009-6-14 18:16 | 只看该作者
Z-first Rendering是很早的技术了。但是作者的意思好像不完全是z-first rendering,发信问了作者,是说PS修改Z以后,仍旧也能在当前的Pass中Early Reject,但是Early Reject性能受到影响。这个就比较费解了。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
49#
发表于 2009-6-15 10:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

50#
发表于 2009-6-15 12:50 | 只看该作者
這裡我寫了一篇文章關於AMD Early-z的,很初級的東西。歡迎批評。
http://www.opengpu.org/bbs/viewt ... &extra=page%3D1

我的意思是說如果Shader Modified Depth Value,那麽Early Depth Test都將失效,應為你當前的Fragment在沒有咝蠵S之前,是不知道自己最終的Depth Value是多少的,所以當前Pass内,不可能再有什麽Early Depht Test。但是如果有人說,可以。那這一點就很費解了……
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
51#
发表于 2009-6-15 13:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

52#
发表于 2009-6-15 14:55 | 只看该作者
楼上高人说的很精彩,我也说自己的看法。

我的意思是说,参与Alpha Test的Fragment是不能再HZB阶段就更新HZB,但是它可以Read HZB来判断自己是否被Reject。由于HZB是On-chip的,所以这种On-chip Depth Test不必再测试的过程中马上更新HZB,可以把Read HZB和Write HZB分别放在PS前后操作。而不会引起Memory Traffic的浪费。

但是off-chip的Z-buffer就不具备这个特性,由于Read的时候已经把Z Decompression到Z Cache里面了,如果此时不马上Update,那过了PS可能就会导致这个Tile被Replacement出去。所以HZB和Alpha Test并不是互斥的,但是从节约带宽的角度来说和Z-buffer是互斥的。


不过我不太懂楼上高人描述的“不过对于alpha-test的原因,你不一定说的很全面。因为可能在有些情况下, hi-z的阶段,会将整个tile标记为z-update,这样可以避免整个tile的z-read。而alpha-test必然跟这个机制有冲突,除非这个memory-port是以32bit的粒度来进行访存的。”
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
53#
发表于 2009-6-15 18:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

54#
发表于 2009-6-15 20:12 | 只看该作者
奥,从节约Memory Traffic的角度,那我和楼上大牛是一个意思。
回复 支持 反对

使用道具 举报

55#
发表于 2009-6-15 20:19 | 只看该作者
这样的话,我和楼上大牛是一个意思。

我是说Alpha Test不会和PS前Read HZB有冲突,但是却和PS前Write HZB有冲突,所以要把Write HZB/ZB移动到PS后。
回复 支持 反对

使用道具 举报

frankyoung 该用户已被删除
56#
发表于 2009-6-15 22:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
57#
发表于 2009-6-16 09:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

58#
发表于 2009-6-16 12:33 | 只看该作者
据说RV870是原生双核 单核就是RV830 R800是RV870×2
回复 支持 反对

使用道具 举报

59#
发表于 2009-6-16 19:18 | 只看该作者
本帖最后由 ic.expert 于 2009-6-16 19:22 编辑
嗯。EarlyZ是一定需要在PS前read Z的,但是如果需要在PS前write-Z的话,就没有办法兼容alpha-test,但是如果需要在PS前read-Z,但是在PS后write-Z的话,由于TLP的关系,可能要存放太多的read进来的Z值了。尤其是 ...
RacingPHT 发表于 2009-6-16 09:48



大牛发言非常精彩!我也甚为赞同。的确如果Alpha Test还硬要上不想浪费带宽的Early-z,那这个on-chip Z Buffer Size够喝一壶的。而且在高端卡上10000个还是比较保守的计算,对于未来更加多的Fragment级别的并行,这个Size还会更大。

所以从Arch角度来说,我们还是希望TBR能取代IMR。这样至少从节约Framebuffer Traffic角度来说,会好一些。不过目前TBR仅仅局限于嵌入式掌上或是游戏平台上。在PC上,由于DS这种技术的使用,目前的Application对TBR还是不够友好。

还有,我之前说的流处理的重要点可能没有表示清楚。这种技术主要解决的是Memory Wall的问题。一个是带宽,另一个是功耗。带宽这个我就不用多说了,以致很紧张。至于功耗,对于目前的集成电路技术,我们读一次Memory花费的功耗有可能比算10个乘法花费的功耗还要高……所以,靠TLP那种细粒度的方存,在功耗上的浪费实在有些令人痛心。就是为此,也为AMD和NV目前不可能采用MIMD的方式来组建Shader提供了众多理由中的一条。

当然,也许我的看法很浅薄,各路高人多多指正。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
60#
发表于 2009-6-16 19:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-28 20:38

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表