diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index 09f3559ab..7b982cecd 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -1931,7 +1931,6 @@ namespace dxvk { enabled.extRobustness2.robustBufferAccess2 = supported.extRobustness2.robustBufferAccess2; enabled.extRobustness2.robustImageAccess2 = supported.extRobustness2.robustImageAccess2; - enabled.extRobustness2.nullDescriptor = supported.extRobustness2.nullDescriptor; enabled.extShaderDemoteToHelperInvocation.shaderDemoteToHelperInvocation = supported.extShaderDemoteToHelperInvocation.shaderDemoteToHelperInvocation; diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index cdfdfea08..29b56c9e6 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -3903,9 +3903,6 @@ namespace dxvk { enabled.extVertexAttributeDivisor.vertexAttributeInstanceRateDivisor = supported.extVertexAttributeDivisor.vertexAttributeInstanceRateDivisor; enabled.extVertexAttributeDivisor.vertexAttributeInstanceRateZeroDivisor = supported.extVertexAttributeDivisor.vertexAttributeInstanceRateZeroDivisor; - // Null Descriptors - enabled.extRobustness2.nullDescriptor = supported.extRobustness2.nullDescriptor; - // ProcessVertices enabled.core.features.vertexPipelineStoresAndAtomics = supported.core.features.vertexPipelineStoresAndAtomics; diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp index 33307e9b2..4af554fca 100644 --- a/src/dxvk/dxvk_adapter.cpp +++ b/src/dxvk/dxvk_adapter.cpp @@ -329,6 +329,8 @@ namespace dxvk { enabledFeatures.ext4444Formats.formatA4B4G4R4 = m_deviceFeatures.ext4444Formats.formatA4B4G4R4; enabledFeatures.ext4444Formats.formatA4R4G4B4 = m_deviceFeatures.ext4444Formats.formatA4R4G4B4; + enabledFeatures.extRobustness2.nullDescriptor = VK_TRUE; + Logger::info(str::format("Device properties:" "\n Device name: : ", m_deviceInfo.core.properties.deviceName, "\n Driver version : ", diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 897b5176e..8211ba46f 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -19,8 +19,6 @@ namespace dxvk { m_gfxBarriers (DxvkCmdBuffer::ExecBuffer), m_queryManager(m_common->queryPool()), m_staging (device, StagingBufferSize) { - if (m_device->features().extRobustness2.nullDescriptor) - m_features.set(DxvkContextFeature::NullDescriptors); if (m_device->features().extExtendedDynamicState.extendedDynamicState) m_features.set(DxvkContextFeature::ExtendedDynamicState); @@ -4589,12 +4587,8 @@ namespace dxvk { if (m_vbTracked.set(binding)) m_cmd->trackResource(m_state.vi.vertexBuffers[binding].buffer()); - } else if (m_features.test(DxvkContextFeature::NullDescriptors)) { - buffers[i] = VK_NULL_HANDLE; - offsets[i] = 0; - lengths[i] = 0; } else { - buffers[i] = m_common->dummyResources().bufferHandle(); + buffers[i] = VK_NULL_HANDLE; offsets[i] = 0; lengths[i] = 0; } diff --git a/src/dxvk/dxvk_context_state.h b/src/dxvk/dxvk_context_state.h index 992e5dd13..9eb68c11c 100644 --- a/src/dxvk/dxvk_context_state.h +++ b/src/dxvk/dxvk_context_state.h @@ -54,7 +54,6 @@ namespace dxvk { * \brief Context feature bits */ enum class DxvkContextFeature { - NullDescriptors, ExtendedDynamicState, }; diff --git a/src/dxvk/dxvk_extensions.h b/src/dxvk/dxvk_extensions.h index b2f60d556..8a3912bfe 100644 --- a/src/dxvk/dxvk_extensions.h +++ b/src/dxvk/dxvk_extensions.h @@ -287,7 +287,7 @@ namespace dxvk { DxvkExt extHostQueryReset = { VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extMemoryBudget = { VK_EXT_MEMORY_BUDGET_EXTENSION_NAME, DxvkExtMode::Passive }; DxvkExt extMemoryPriority = { VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, DxvkExtMode::Optional }; - DxvkExt extRobustness2 = { VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, DxvkExtMode::Optional }; + DxvkExt extRobustness2 = { VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, DxvkExtMode::Required }; DxvkExt extShaderDemoteToHelperInvocation = { VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extShaderStencilExport = { VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extShaderViewportIndexLayer = { VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME, DxvkExtMode::Optional };