spir-v

    -1熱度

    1回答

    上需要用戶輸入/輸出的位置我在我的電腦上安裝了最新的Vulkan SDK,每當我想通過glslValidator.exe爲我的着色器生成SPIR-V文件時,返回以下錯誤 ERROR: Shader.vert:17: 'location' : SPIR-V requires location for user input/output ERROR: 1 compilation errors. No

    0熱度

    1回答

    我目前正在考慮將一些代碼從OpenGL/GLSL移植到Vulkan/SPIR-V,並且部分代碼會在運行時生成GLSL,所以我將不得不生成SPIR-V。我想知道的是,我應該如何關聯生成的SPIR-V中的優化。 特別是,我無法真正找到任何有關驅動程序編譯器的期望的信息。我是否應該期望它自己進行積極的優化,從而儘量保持SPIR-V代碼的清潔並儘可能保留「原始意圖」以供編譯器查看?或者我應該指望它做相當簡

    0熱度

    2回答

    我正在修改D3D12中用於編譯爲SPIR-V的HLSL着色器,因爲我想在Vulkan中使用相同的着色器代碼。這裏的着色器: #if !VULKAN #define layout(a) #else #define register(a) blank #endif struct VSOutput { float4 pos : SV_Position; float2 u

    1熱度

    1回答

    具有相同 操作數參數的非結構類型(標量,向量,數組等)不能是類型別名。對於非結構, 兩種類型<id>只匹配 - 如果類型匹配。 這是什麼意思? #version 400 void main() { uint a = 4; uint b = 5; } 編譯這個着色器glslang結果 ; SPIR-V ; Version: 1.0 ; Generator: Khr

    1熱度

    1回答

    我想在我的C創建一個VkBool32 ++代碼: VkBool32 myBool = VK_FALSE; ,並推動它通過推常量GLSL: vkCmdPushConstants(..., sizeof(myBool), &myBool); 這是由一個統一的存儲類中的布爾收到: layout(push_constant) uniform PushConstants { bool m

    1熱度

    1回答

    我想將我的GLSL着色器編譯爲SPIR-V二進制文件,並在我的OpenGL項目中使用它。 我發現glslang,使用我可以編譯glsl着色器爲spir-v。但我還沒有找到關於如何在我的C++項目中使用它的任何教程。如何加載這些二進制文件並從它們創建着色器程序?

    0熱度

    1回答

    我有一個算法,我試圖在GLSL中爲Vulkan實現。該算法使用FLT_MAX。 現在我可以將其定義爲任意高浮點值,但我真的很想知道如何實際在GLSL中處理該運行時的值。