6600硬改…..半成品

看來沒得玩了….orz

改的BIOS版本如下:
1. 原始的6200 + Temp-辨識為6200
2. 原始的6200 + Temp + 改ID-辨識為6200,效果同上
這回是
3. 技嘉6600 BIOS + Temp -辨識為"不明裝置"。(死)

失敗的部份是『ID抓錯,所以Driver顯示成NV43(亂了)』、
還有『實質上還是1quad(四管),所以要靠軟改』。
成功的部份看來只有『FP Filtering出來了』….

所以其實如果搭RivaTuner軟改的話,還是可以得到完整的6600啦….
只是好難看。(死)

技嘉的NV43(A2)看來是上原廠的PCB,所以即使下了『-4 -5 -6』的參數之後刷過去,NVFlash馬上就抓包了。

話說雖然還在想怎麼改進,
但是Fighter大那邊是說『沒解了』啦…._A_

—-
不過即使如此,FP Filtering的效果仍然非常驚人。
首先是前幾天HeavenPR的SM3 Water Simulation馬上就可以正常呈現;其次是Guru3D的Displacement Mapping Demo(也是水面模擬)也立刻可以正常運作。

為什麼FP Filtering在6200上要關掉呢?
應該毫無疑問是因為NV44沒有做FP Filtering;
那為什麼NV44不做FP Filtering呢?
這邊可能就要扯到NV4x的結構上了。

NV4x的FP Filtering目前看來有兩個特色:
1. 不依存於Pixel Shader,而依存於TMU
2. 支援到FP16為止
3. 提供與其他過去既有格式完全相同的功能(AF / MIPMAP等)

但是有幾個問題是,為什麼要用到FP Texture?
以存顏色來說,16bit percomponent顯然是很overkill的東西,
尤其是考慮要做運算的話,那更是用16bit 整數就可以了。
(雖然資料量相同,但是運算器的話浮點加減會比定點加減難做)

FP Texture本身通常是用來當成存表格的用途,而這個表格內容通常不是顏色,比方說HeavenPR就拿這個來存水波高度。
當然了,查表通常也會用到內插法,而這基本上就是Filtering….
但是和通常材質用的內插不同,計算用的內插通常數量不會很大,到底有沒有需要單獨把TMU強化來做這個?
而單獨把TMU強化顯然大到NV44從成本觀點來看就放不下去。

於是就回到了GPU設計哲學的問題:Fix Pipeline的時代,GPU通常有很多獨立的功能,不用的話就是浪費,所以大家不用白不用;但是現在把那些單元全部統合成Shader的時候,就變成『能夠不用白不用』的東西其實越來越少了。而這是最近GPU設計的一個方向之一。

[quote]Hotball說:
如果真的要做,為什麼不做到 FP32 也可以 filtering?
因為這樣做下去的話,晶片會太大,或是速度會太慢
所以 NVIDIA 只做了 FP16
為什麼只做 FP16,其實有一個原因
FP16 其實相對起來還蠻適合存顏色
OpenEXR 裡面基本上使用 FP16 存顏色

當然,剛才說過,如果用 FP16 存顏色,似乎還不如用 FX16
不過,偶而會有 HDR 的需求的話,有 FP16 會比較方便
另外,除了 HDR 之外,有時顏色算到一半,會變成別的東西
例如,假設我要計算一個圖的 gradient
那就會跑出別的數字

總之…
FP filtering 不是一個很重要的功能
當然,有這個功能,就會有人想要用
因為它可以讓你少寫幾個 pixel shade 指令,就有機會提高執行速度

這就好像說……
假設你寫一個 pixel shader,需要把一個 3×3 的 pixel 求出和
最笨的寫法是,寫九個 texld,然後加起來
但是這樣太笨了
如果你有 texture filteirng,就會知道,其實一個 texld,可以把四個 所以,只要稍微計算一下,就可以發現,只要用四個 texld 就可以了
(註解:filtering的話是以quad為單位,所以對四個角落做texld才可以涵蓋3×3)
九個對四個,如果 texture filtering 不用錢的話,那就快了一倍有了

這就是「有東西就要利用」
以前顯示晶片充滿了這種「免費」的東西,「不用白不用」
不過,現在的顯示晶片設計上,愈來愈傾向避免這種「免費」的東西
因為「免費」的東西,如果沒用上,就是「浪費」
這就是為什麼要有 pixel shader 和 vertex shader

可是,有時候你沒辦法真的把一些東西移掉
比如說,FP texturing 並不是真的可以完全取代
除非有 LOD based 的 texld,不然…MIP map 很難模擬
不過我是不確定 NVIDIA 的有沒有支援…MIP map…
如果沒有 FP filtering,要模擬 MIP mapped 的 filtering 是比較困難
這只是一個例子啦
但是這種…很少見的[/quote]

總之,從這點可以看出NV4x的設計上一些折衷的部份;
話說其實R300先前就是計劃作到FX16的Filtering,同時可以涵蓋HDR的需求;
不過很可惜似乎是有bug,所以後來的Driver裡面把它Disable了。
實質上NV3x的TMU也支援FX16的Filtering,但是Shader結構問題讓它完全展現不出那個效能來。

硬體設計是有很多細膩的地方需要考量的….

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料