mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[dxvk] Require EXT_robustness2 and the null descriptor feature
This commit is contained in:
parent
f95f541852
commit
2e7e9eac7a
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 : ",
|
||||
|
@ -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<DxvkAccess::Read>(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;
|
||||
}
|
||||
|
@ -54,7 +54,6 @@ namespace dxvk {
|
||||
* \brief Context feature bits
|
||||
*/
|
||||
enum class DxvkContextFeature {
|
||||
NullDescriptors,
|
||||
ExtendedDynamicState,
|
||||
};
|
||||
|
||||
|
@ -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 };
|
||||
|
Loading…
x
Reference in New Issue
Block a user