From 69817a84dc052c4e0bf88d2f31d92860bbcc58b6 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sat, 9 Apr 2022 13:51:36 +0200 Subject: [PATCH] [d3d11] Use new DxvkShaderCreateInfo struct to retrieve shader info --- src/d3d11/d3d11_shader.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/d3d11/d3d11_shader.cpp b/src/d3d11/d3d11_shader.cpp index e1ee22391..800bdea8d 100644 --- a/src/d3d11/d3d11_shader.cpp +++ b/src/d3d11/d3d11_shader.cpp @@ -54,11 +54,13 @@ namespace dxvk { } // Create shader constant buffer if necessary - if (m_shader->shaderConstants().data() != nullptr) { + const DxvkShaderCreateInfo& shaderInfo = m_shader->info(); + + if (shaderInfo.uniformSize) { DxvkBufferCreateInfo info; - info.size = m_shader->shaderConstants().sizeInBytes(); + info.size = shaderInfo.uniformSize; info.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; - info.stages = util::pipelineStages(m_shader->stage()); + info.stages = util::pipelineStages(shaderInfo.stage); info.access = VK_ACCESS_UNIFORM_READ_BIT; VkMemoryPropertyFlags memFlags @@ -67,10 +69,7 @@ namespace dxvk { | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; m_buffer = pDevice->GetDXVKDevice()->createBuffer(info, memFlags); - - std::memcpy(m_buffer->mapPtr(0), - m_shader->shaderConstants().data(), - m_shader->shaderConstants().sizeInBytes()); + std::memcpy(m_buffer->mapPtr(0), shaderInfo.uniformData, shaderInfo.uniformSize); } pDevice->GetDXVKDevice()->registerShader(m_shader);