簡體   English   中英

Unity Metal:計算着色器在一個線程組中有 1024 個線程,超過了該設備支持的最大值 512

[英]Unity Metal: Compute shader has 1024 threads in a thread group which is more than the supported max of 512 in this device

我正在為 unity ios build 編譯代碼並不斷收到以下錯誤

金屬:計算着色器在一個線程組中有 1024 個線程,超過了此設備支持的最大值 512

請幫我解決這個錯誤。

謝謝

這意味着您的着色器試圖使用比iOS支持更多的線程。

要解決此問題,只需在計算着色器中更改此行即可減少在計算着色器中使用線程

[numthreads(32,32,1)]

[numthreads(8,8,1)]

以及在您的C#腳本中

_shader.Dispatch(CSMain, 32, 32, 1); to _shader.Dispatch(CSMain, 8, 8, 1);

有關線程號的更多信息,請檢查此msdn 鏈接

我不是 IOS 開發人員,但查看這個有一個 function 以查看當前設備是否支持您的着色器功能https://developer.apple.com/documentation/metalperformanceshaders/1618849-mpssupportsmtldevice

您還可以在此處查看哪些設備支持哪些着色器功能https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM