diff --git a/libs/vkd3d/state.c b/libs/vkd3d/state.c
index 534e097835fd41d923f74e4e1b09fbe1e65d9f3b..350227a4e9d4c96d9f08ff9968dc5b91036e8b36 100644
--- a/libs/vkd3d/state.c
+++ b/libs/vkd3d/state.c
@@ -19,8 +19,6 @@
 
 #include "vkd3d_private.h"
 
-#include "spirv/1.0/spirv.h"
-
 /* ID3D12RootSignature */
 static inline struct d3d12_root_signature *impl_from_ID3D12RootSignature(ID3D12RootSignature *iface)
 {
@@ -1140,16 +1138,13 @@ struct d3d12_pipeline_state *unsafe_impl_from_ID3D12PipelineState(ID3D12Pipeline
     return impl_from_ID3D12PipelineState(iface);
 }
 
-static bool d3d12_shader_bytecode_is_spirv(const D3D12_SHADER_BYTECODE *code)
-{
-    return *(uint32_t *)code->pShaderBytecode == SpvMagicNumber;
-}
-
 static HRESULT create_shader_stage(struct d3d12_device *device,
         struct VkPipelineShaderStageCreateInfo *stage_desc, enum VkShaderStageFlagBits stage,
         const D3D12_SHADER_BYTECODE *code, struct d3d12_root_signature *root_signature)
 {
+    struct vkd3d_shader_code dxbc = {code->pShaderBytecode, code->BytecodeLength};
     const struct vkd3d_vk_device_procs *vk_procs = &device->vk_procs;
+    struct vkd3d_shader_interface shader_interface;
     struct VkShaderModuleCreateInfo shader_desc;
     struct vkd3d_shader_code spirv = {};
     VkResult vr;
@@ -1166,29 +1161,18 @@ static HRESULT create_shader_stage(struct d3d12_device *device,
     shader_desc.pNext = NULL;
     shader_desc.flags = 0;
 
-    if (d3d12_shader_bytecode_is_spirv(code))
+    shader_interface.bindings = root_signature->descriptor_mapping;
+    shader_interface.binding_count = root_signature->descriptor_count;
+    shader_interface.push_constants = root_signature->push_constants;
+    shader_interface.push_constant_count = root_signature->constant_count;
+    shader_interface.default_sampler = root_signature->default_sampler;
+    if (FAILED(hr = vkd3d_shader_compile_dxbc(&dxbc, &spirv, 0, &shader_interface)))
     {
-        shader_desc.codeSize = code->BytecodeLength;
-        shader_desc.pCode = code->pShaderBytecode;
-    }
-    else
-    {
-        struct vkd3d_shader_code dxbc = {code->pShaderBytecode, code->BytecodeLength};
-        struct vkd3d_shader_interface shader_interface;
-
-        shader_interface.bindings = root_signature->descriptor_mapping;
-        shader_interface.binding_count = root_signature->descriptor_count;
-        shader_interface.push_constants = root_signature->push_constants;
-        shader_interface.push_constant_count = root_signature->constant_count;
-        shader_interface.default_sampler = root_signature->default_sampler;
-        if (FAILED(hr = vkd3d_shader_compile_dxbc(&dxbc, &spirv, 0, &shader_interface)))
-        {
-            WARN("Failed to compile shader, hr %#x.\n", hr);
-            return hr;
-        }
-        shader_desc.codeSize = spirv.size;
-        shader_desc.pCode = spirv.code;
+        WARN("Failed to compile shader, hr %#x.\n", hr);
+        return hr;
     }
+    shader_desc.codeSize = spirv.size;
+    shader_desc.pCode = spirv.code;
 
     vr = VK_CALL(vkCreateShaderModule(device->vk_device, &shader_desc, NULL, &stage_desc->module));
     vkd3d_shader_free_shader_code(&spirv);