mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-12 13:08:50 +01:00
[dxvk] Drop shader module workaround for compute pipelines.
This was a bug in early Nvidia development drivers, but has been fixed since.
This commit is contained in:
parent
906b931e61
commit
c6668ffbaa
@ -832,14 +832,13 @@ namespace dxvk {
|
|||||||
// For graphics pipelines, as long as graphics pipeline libraries are
|
// For graphics pipelines, as long as graphics pipeline libraries are
|
||||||
// enabled, we do not need to create a shader module object and can
|
// enabled, we do not need to create a shader module object and can
|
||||||
// instead chain the create info to the shader stage info struct.
|
// instead chain the create info to the shader stage info struct.
|
||||||
// For compute pipelines, this doesn't work and we still need a module.
|
|
||||||
auto& moduleInfo = m_moduleInfos[m_stageCount].moduleInfo;
|
auto& moduleInfo = m_moduleInfos[m_stageCount].moduleInfo;
|
||||||
moduleInfo = { VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO };
|
moduleInfo = { VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO };
|
||||||
moduleInfo.codeSize = codeBuffer.size();
|
moduleInfo.codeSize = codeBuffer.size();
|
||||||
moduleInfo.pCode = codeBuffer.data();
|
moduleInfo.pCode = codeBuffer.data();
|
||||||
|
|
||||||
VkShaderModule shaderModule = VK_NULL_HANDLE;
|
VkShaderModule shaderModule = VK_NULL_HANDLE;
|
||||||
if (!m_device->features().extGraphicsPipelineLibrary.graphicsPipelineLibrary || stage == VK_SHADER_STAGE_COMPUTE_BIT) {
|
if (!m_device->features().extGraphicsPipelineLibrary.graphicsPipelineLibrary) {
|
||||||
auto vk = m_device->vkd();
|
auto vk = m_device->vkd();
|
||||||
|
|
||||||
if (vk->vkCreateShaderModule(vk->device(), &moduleInfo, nullptr, &shaderModule))
|
if (vk->vkCreateShaderModule(vk->device(), &moduleInfo, nullptr, &shaderModule))
|
||||||
|
Loading…
Reference in New Issue
Block a user