2015-12-07 44 views
1

最近我一直在研究一個需要FP64支持的項目。OpenGL 4.0 FP64功能

現在,我正在檢查GPU是否支持ARB_gpu_shader_fp64擴展名。然而,最近我在Nvidia gt 540m筆記本電腦上測試了這個項目,該筆記本電腦確實支持OpenGL 4.0,但並沒有宣傳上述擴展。

在OpenGL 4.0中,ARB_gpu_shader_fp64成爲「核心擴展」。那是什麼意思 ?任何支持opengl 4.0的GPU都支持fp64嗎?它是否必須通告擴展,還是隱含它支持這個功能?

回答

2

它是什麼意思。 ARB_gpu_shader_fp64正式稱爲「向後兼容性擴展」。這意味着它與4.0的功能相同,即枚舉器和函數甚至沒有ARB後綴。這意味着如果擴展名使用這些枚舉/函數總是有效的,如果版本號大於或等於採用它的OpenGL版本。

這樣做的目的是讓硬件公開這個功能,它不能實現4.0的其餘部分。用戶可以使用任何一種硬件,而無需對用戶代碼進行任何代碼更改(即使是枚舉/函數名稱)。他們只需檢查版本和擴展名,並使用該功能(如果存在)。

由於驅動程序錯誤,擴展只是缺少的好處。我說因爲3 separate reportsfor yourexact hardware所有明確列出該擴展名爲您的硬件支持。所以如果你的驅動程序是最新的,它可能只是一個最近的驅動程序錯誤。如果他們年齡較大,更新可能會修復它。

或者,檢查此擴展的存在的代碼可能會有問題。

+0

謝謝你,那是我正在尋找的答案,現在只能用#VERSION 400和#VERSION 330 +擴展來編譯着色器。 – semtexzv