2014-09-04 54 views
2

Hello Stack Overflow用戶!webcl和webgl不會同時工作

我一直在尋找幾乎沒有(實際上沒有)我的問題。我努力不去問已經問過的問題,但似乎我是第一個遇到這個問題的人。

我在Firefox上安裝了WebCL擴展。 (我已經在版本31,32和33極光上試過了)

我還在Chrome和Firefox上啓用了WebGL。

我寫了基本的OpenGL程序,可以在我的本地機器上渲染盒子和東西。 我已成功編譯,鏈接並運行了一個OpenCL程序示例,該程序使用GPU在緩衝區中生成字符串「Hello world」並將其打印在本地機器上。

我甚至能夠在Chrome和Firefox中運行WebGL示例。 我也可以運行不需要WebGL的WebCL示例。

現在只是爲了澄清事前,我只關心Firefox。 我的Chrome瀏覽器目前沒有WebCL功能,並且使用WebCL進行Firefox設置要容易得多。我只提到Chrome 意味着WebGL在我的機器上的多個瀏覽器上按預期工作。

奇怪的是,如果我在WebGL之前運行WebCL示例,WebGL將認爲在Firefox重新啓動之前沒有圖形驅動程序。

同樣,如果我在WebCL之前運行WebGL示例,那麼在Firefox重新啓動之前,WebCL將無法在我的機器上找到OpenCL驅動程序。

我只在Firefox中安裝了WebCL擴展,沒有別的。 當使用這些服務中的任何一個時,終端不會投訴。

目前運行

Distro: Arch Linux x86_64 
Kernel version: Linux 3.16.1-1-ARCH 
GPU: AMD Radeon HD 7850 

如果任何人有這個問題,我會非常感激的任何援助的經驗。 如果我不知何故錯過了這個問題堆棧溢出的問題,我會非常感謝重定向。

+0

你可以在任何其他機器上重現問題嗎?您是否嘗試安裝另一個(基於CPU的)OpenCL驅動程序,例如Intel OpenCL Runtime或Pocl? – 2014-10-19 20:04:28

回答

0

雖然在Windows上,我已經同時使用了WebGL和WebCL,所以一般情況下可以。這聽起來像是你的特定平臺或系統的問題。對不起,沒有完全有用,但至少我可以證明它在某個地方有效。

至於KHR_gl_sharing,即當兩者都工作時,在WebGL和WebCL之間共享一個內存緩衝區。例如,假設您使用WebCL來修改您希望WebGL繪製的紋理。而不是通過WebCL將複製從GPU複製到JavaScript,而是僅將其複製回GPU用於WebGL,您可以讓WebCL在WebGL緩衝區上運行。沒有你的PCIe總線顛簸。

這不會幫助你解決問題 - 它假設WebGL和WebCL都在運行。另外,Mozilla(Firefox的開發者)不允許擴展訪問WebGL緩衝區,所以無論如何諾基亞的WebCL插件不能由做KHR_gl_sharing。這是本地集成WebCL的瀏覽器的一個規範,不幸的是沒有供應商目前對此感興趣(主要是由於開發人員缺乏OpenCL採用)。他們肯定希望GPU計算,所以我們會看到他們選擇什麼。 WebCL 2.0? 2.1/3.0/2.0 + ARB擴展中的WebGL計算着色器?或者也許他們會回覆他們的決定並支持WebCL給予足夠的開發人員壓力?誰知道!

希望這有助於!

+0

是的,它似乎是我的系統。 Windows工作正常。謝謝!我只是真的希望有一個修復我的系統。無論如何,我有一些使用WebCl的方法 – 2015-04-02 15:59:26

0

看看(Windows + Firefox) http://www.ibiblio.org/e-notes/webcl/webcl.htm 可能你需要WebCL KHR_gl_sharing Extension for Linux?

+0

所以我一直試圖調查KHR_gl_sharing,但我似乎無法在您的鏈接或使用Google上找到有關它的許多信息。你能不能詳細說明KHR_gl_sharing是什麼? – 2014-09-29 16:25:04