1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-02 19:24:12 +01:00

[dxvk] Pass slot mapping to pipeline layout constructor

We're not getting the info from any other source anyway.
This commit is contained in:
Philip Rebohle 2019-05-07 20:25:50 +02:00
parent 0224dbc371
commit d5b2c2fd23
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
4 changed files with 8 additions and 11 deletions

View File

@ -31,9 +31,7 @@ namespace dxvk {
m_pipeMgr->m_device->options().maxNumDynamicStorageBuffers); m_pipeMgr->m_device->options().maxNumDynamicStorageBuffers);
m_layout = new DxvkPipelineLayout(m_vkd, m_layout = new DxvkPipelineLayout(m_vkd,
m_slotMapping.bindingCount(), m_slotMapping, VK_PIPELINE_BIND_POINT_COMPUTE);
m_slotMapping.bindingInfos(),
VK_PIPELINE_BIND_POINT_COMPUTE);
} }

View File

@ -57,9 +57,7 @@ namespace dxvk {
pipeMgr->m_device->options().maxNumDynamicStorageBuffers); pipeMgr->m_device->options().maxNumDynamicStorageBuffers);
m_layout = new DxvkPipelineLayout(m_vkd, m_layout = new DxvkPipelineLayout(m_vkd,
m_slotMapping.bindingCount(), m_slotMapping, VK_PIPELINE_BIND_POINT_GRAPHICS);
m_slotMapping.bindingInfos(),
VK_PIPELINE_BIND_POINT_GRAPHICS);
m_vsIn = vs != nullptr ? vs->interfaceSlots().inputSlots : 0; m_vsIn = vs != nullptr ? vs->interfaceSlots().inputSlots : 0;
m_fsOut = fs != nullptr ? fs->interfaceSlots().outputSlots : 0; m_fsOut = fs != nullptr ? fs->interfaceSlots().outputSlots : 0;

View File

@ -79,10 +79,12 @@ namespace dxvk {
DxvkPipelineLayout::DxvkPipelineLayout( DxvkPipelineLayout::DxvkPipelineLayout(
const Rc<vk::DeviceFn>& vkd, const Rc<vk::DeviceFn>& vkd,
uint32_t bindingCount, const DxvkDescriptorSlotMapping& slotMapping,
const DxvkDescriptorSlot* bindingInfos,
VkPipelineBindPoint pipelineBindPoint) VkPipelineBindPoint pipelineBindPoint)
: m_vkd(vkd), m_bindingSlots(bindingCount) { : m_vkd(vkd), m_bindingSlots(slotMapping.bindingCount()) {
auto bindingCount = slotMapping.bindingCount();
auto bindingInfos = slotMapping.bindingInfos();
for (uint32_t i = 0; i < bindingCount; i++) for (uint32_t i = 0; i < bindingCount; i++)
m_bindingSlots[i] = bindingInfos[i]; m_bindingSlots[i] = bindingInfos[i];

View File

@ -135,8 +135,7 @@ namespace dxvk {
DxvkPipelineLayout( DxvkPipelineLayout(
const Rc<vk::DeviceFn>& vkd, const Rc<vk::DeviceFn>& vkd,
uint32_t bindingCount, const DxvkDescriptorSlotMapping& slotMapping,
const DxvkDescriptorSlot* bindingInfos,
VkPipelineBindPoint pipelineBindPoint); VkPipelineBindPoint pipelineBindPoint);
~DxvkPipelineLayout(); ~DxvkPipelineLayout();