cost 324 ms
澄清什么是 Vulkan SPIR-V 中的持續目標

[英]Clarification on what exactly constitutes as a continue target in Vulkan SPIR-V

我正在嘗試了解 SPIR-V 規范,例如了解循環。 在 1.6 修訂 2 規范的開頭,下面的例子(為了一致性,只取其中的一部分) 變成: 在規范中,它指定一個塊以 label 開始,並以任何分支終止指令結束。 這會將上面的內容變為以下內容: 然后規范指出: Header 塊:包含合並指令的塊。 ...

Spir-v、GLSL 和 HLSL 的區別

[英]Difference between Spir-v, GLSL and HLSL

我試圖找出所有着色器語言之間的區別。 我正在用 Vulkan 開發 c++ 中的游戲,這意味着(如果我沒看錯的話)我呈現給 Vulkan 的每個着色器都必須在 spir-v 擴展中。 但我有時會看到這個庫的用途: https://github.com/KhronosGroup/SPIRV-Cross ...

我應該使用 dxc 還是 glslangValidator?

[英]Should I use dxc or glslangValidator?

在 Vulkan SDK 中有兩種不同的工具可以將 HLSL 編譯為 SPIR-V:dxc 和 glslangValidator。 為什么我們需要兩個? 有什么區別? 我如何決定使用哪一個? ...

SPIR-V 和 LLVM-IR 之間最根本的區別是什么?

[英]what is the most fundamental difference between SPIR-V and LLVM-IR?

Spir-v和LLVM IR的粒度相同,可以相互轉換。 請問為什么SPir-V在LLVM IR上還是那么受歡迎? 兩者的根本區別是什么? ...

2022-02-24 12:54:27   2   376    llvm / spir-v  
如何禁用 Visual Studio 2019 的內置 HLSL 編譯器

[英]How to disable built-in HLSL compiler for Visual Studio 2019

該主題聽起來像是一個重復的問題,但我的問題是我的項目中沒有包含任何 HLSL 文件。 因此,我無法手動禁用/更改 dxc 編譯器。 不過,我添加了一個預構建命令,使用 CMake 從 HLSL 文件生成 SPIR-V。 編譯項目時出現以下錯誤: dxc 失敗:SPIR-V CodeGen 不可用。 ...

我什么時候需要 GL_EXT_nonuniform_qualifier?

[英]when do i need GL_EXT_nonuniform_qualifier?

我想將以下代碼編譯成 SPIR-Verror: 'variable index' : required extension not requested: GL_EXT_nonuniform_qualifier (代碼是由我正在開發的程序生成的,這就是為什么代碼看起來有點奇怪,但它應該讓問題變得 ...

如何將SPIR-V私有存儲合格矩陣陣列復制到Function存儲合格矩陣陣列中?

[英]How to copy SPIR-V Private storage-qualified matrix array into Function storage-qualified matrix array?

我正在與驅動程序錯誤作斗爭,長話短說,我在調用級全局 memory 中創建了具有正確數據的 OpVariables,也就是 float4x3[6] 類型的私有存儲限定 OpVariable。 現在,我需要將此數據轉換為 Function 存儲限定符,作為 OpFunction scope 中的 O ...

有沒有辦法強制 SPIR-V 組件 function 接受私有和 Function 存儲 class ZA3CBC3F1B6CE2D71D9CZE?

[英]Is there way to force SPIR-V assembly function to accept both Private and Function storage class arrays?

我正在為 SPIR-V 着色器編寫二進制處理模塊,以修復由於驅動程序錯誤導致的 float4x3[6] 矩陣的 alignment 問題。 現在我有: 注入必要的適當 OpTypes 和 OpTypePointers。 處理二進制文件以將常量緩沖區成員從 float4x3[6] 更改為 vec4[ ...

有沒有好的 HLSL 到 SPIR-V 編譯器?

[英]Is there a good HLSL to SPIR-V compiler?

我正在用 C++ 編寫一個體素引擎,我正在實現一個 Vulkan 渲染器。 我決定用 HLSL 編寫着色器,並通過 SPIRV-Cross 翻譯它們。 然而,這給我帶來了一個問題——glslang 的 HLSL 編譯器不允許采樣器。 例如,這個像素着色器: 給出這個編譯器輸出: 我不知道我是 ...

在頂點和片段着色器之間傳遞值時着色器值轉換錯誤

[英]shader value conversion error when passing value between vertex and fragment shader

我有以下片段和頂點着色器。 頂點: 分段: 但是在編譯這個時,我收到以下錯誤: 無法從“浮點位置的 gl_Position 4 分量向量”轉換為“布局(位置 = 0)平滑浮點的高 2 分量向量” 我不知道如何解決它。 (這是我第一次做着色器編程)。 如果需要其他信息,請告訴我。 ...

確定輸入附件在着色器中是否有效

[英]Determine if input attachment is valid within shader

對於片段着色器,可以將顏色附件索引設置為VK_ATTACHMENT_UNUSED (來自 C/C++ API); 在這種情況下,對這些附件的寫入將被丟棄。 這很好,因為它允許我們編寫無條件寫入 output 附件的着色器,並且寫入可能會或可能不會被丟棄,具體取決於渲染器的決定。 也可以將輸入附件索引 ...

Vulkan 專業化常量數組

[英]Vulkan Array of Specialization Constants

有可能有一個專門化常量的數組,這樣 glsl 代碼看起來類似於以下內容: 或者,或者: 據我所知,可以使用的專業化常量的數量沒有限制,所以感覺很奇怪,這是不可能的,但是當我嘗試上述方法時,SPIR-V 編譯器通知我“constant_id”只能應用於標量。 目前我正在使用統一緩沖區來提供數據,但我想 ...

在 HLSL 中指定推送常量塊偏移

[英]Specifying push constant block offset in HLSL

我正在嘗試編寫一個 Vulkan 渲染器,我將 glslangValidator 與 HLSL 一起用於着色器,並嘗試實現推送常量。 注釋“[[vk::push_constant]]”有效,我使用 spirv_reflect 進行反射,兩個推送常量都顯示出來,它們按預期工作。 我遇到的問題是它們似乎 ...

如何在 GLSL 中使用 Vulkan SPIR-V 數據格式

[英]How to Use Vulkan SPIR-V Data Formats in GLSL

SPIR-V 允許非常冗長的數據格式。 GLSL 只有基本數據類型(第 4 章) ,沒有指定位長。 據我所知,為 Vulkan 編寫着色器最方便的方法是在 GLSL 中編寫它們,然后使用 Vulkan SDK 提供的編譯器 (glslc.exe) 將文件轉換為 SPIR-V 二進制文件。 我的問 ...

使用 SPIRV-Reflect,我怎么知道來自不同着色器的兩個描述符綁定實際上是指同一個緩沖區?

[英]Using SPIRV-Reflect, how do I know that two descriptor bindings from different shaders are actually referring to the same buffer?

我有一個用 HLSL 編寫的頂點和片段着色器,我使用DirectX Shader Compiler將其編譯成 SPIR-V 二進制文件。 他們都使用一個共同的cbuffer (我想把它當作一個uniform的緩沖區) ubo 。 為了構造一個合適的VkDescriptorSetLayout ,我想 ...

是否有獨立於操作系統的方法將 OpenCL 內核轉換為 SPIR-V?

[英]Is there an OS-independent way to transpile OpenCL kernels into SPIR-V?

我找到了關於使用clang 的開源工具將 OpenCL 內核離線編譯到 SPIR-V的指南,但我找不到使用其他編譯器執行此操作的官方方法。 有沒有辦法使用 CMake 將 OpenCL kernel 轉換為 SPIR-V? 如果沒有,除了編寫自定義腳本並在不同的操作系統上調用clang (我對 L ...

如何將 uint64_t 轉換為 sampler2D?

[英]How to convert uint64_t to sampler2D?

我想使用無綁定紋理,但 spirv 不支持它。 我在這里找到: https://www.khronos.org/opengl/wiki/Bindless_Texture可以將uint64_t轉換為 sampler2D。 uint64_t 值可以使用構造函數轉換為任何采樣器或圖像類型:sample ...

2020-12-09 23:16:21   1   195    glsl / spir-v  

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