[英]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.