List view
The following extensions need to be emulated based on analysis of https://github.com/doitsujin/dxvk/blob/v1.10.3/src/d3d11/d3d11_device.cpp#L1927C1-L2013C1: 1. textureCompressionBC 2. logicOp 3. (optional) multiViewport 4. depthClamp 5. (optional) fillModeNonSolid 6. dualSrcBlend 7. multiDrawIndirect 8. vertexPipelineStoresAndAtomics 9. shaderClipDistance 10. shaderCullDistance Mali-G52 Supported Features: ```json "features": { "VkPhysicalDeviceFeatures": { "alphaToOne": false, "depthBiasClamp": true, "depthBounds": false, "depthClamp": false, "drawIndirectFirstInstance": true, "dualSrcBlend": false, "fillModeNonSolid": false, "fragmentStoresAndAtomics": true, "fullDrawIndexUint32": true, "geometryShader": true, "imageCubeArray": true, "independentBlend": true, "inheritedQueries": false, "largePoints": true, "logicOp": false, "multiDrawIndirect": false, "multiViewport": false, "occlusionQueryPrecise": true, "pipelineStatisticsQuery": false, "robustBufferAccess": true, "sampleRateShading": true, "samplerAnisotropy": true, "shaderClipDistance": false, "shaderCullDistance": false, "shaderFloat64": false, "shaderImageGatherExtended": true, "shaderInt16": true, "shaderInt64": false, "shaderResourceMinLod": false, "shaderResourceResidency": false, "shaderSampledImageArrayDynamicIndexing": true, "shaderStorageBufferArrayDynamicIndexing": true, "shaderStorageImageArrayDynamicIndexing": true, "shaderStorageImageExtendedFormats": true, "shaderStorageImageMultisample": false, "shaderStorageImageReadWithoutFormat": true, "shaderStorageImageWriteWithoutFormat": true, "shaderTessellationAndGeometryPointSize": false, "shaderUniformBufferArrayDynamicIndexing": true, "sparseBinding": false, "sparseResidency16Samples": false, "sparseResidency2Samples": false, "sparseResidency4Samples": false, "sparseResidency8Samples": false, "sparseResidencyAliased": false, "sparseResidencyBuffer": false, "sparseResidencyImage2D": false, "sparseResidencyImage3D": false, "tessellationShader": true, "textureCompressionASTC_LDR": true, "textureCompressionBC": false, "textureCompressionETC2": true, "variableMultisampleRate": false, "vertexPipelineStoresAndAtomics": false, "wideLines": false }, "VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM": { "rasterizationOrderColorAttachmentAccess": true, "rasterizationOrderDepthAttachmentAccess": true, "rasterizationOrderStencilAttachmentAccess": true }, "VkPhysicalDeviceTransformFeedbackFeaturesEXT": { "transformFeedback": true, "geometryStreams": false }, "VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT": { "textureCompressionASTC_HDR": true }, "VkPhysicalDeviceASTCDecodeFeaturesEXT": { "decodeModeSharedExponent": true }, "VkPhysicalDeviceInlineUniformBlockFeaturesEXT": { "inlineUniformBlock": true, "descriptorBindingInlineUniformBlockUpdateAfterBind": false }, "VkPhysicalDeviceScalarBlockLayoutFeaturesEXT": { "scalarBlockLayout": true }, "VkPhysicalDeviceSubgroupSizeControlFeaturesEXT": { "subgroupSizeControl": true, "computeFullSubgroups": true }, "VkPhysicalDeviceProvokingVertexFeaturesEXT": { "provokingVertexLast": true, "transformFeedbackPreservesProvokingVertex": false }, "VkPhysicalDeviceLineRasterizationFeaturesEXT": { "rectangularLines": true, "bresenhamLines": true, "smoothLines": false, "stippledRectangularLines": false, "stippledBresenhamLines": false, "stippledSmoothLines": false }, "VkPhysicalDeviceHostQueryResetFeaturesEXT": { "hostQueryReset": true }, "VkPhysicalDeviceIndexTypeUint8FeaturesEXT": { "indexTypeUint8": true }, "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT": { "extendedDynamicState": true }, "VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT": { "shaderDemoteToHelperInvocation": true }, "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT": { "texelBufferAlignment": true }, "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT": { "deviceMemoryReport": true }, "VkPhysicalDeviceCustomBorderColorFeaturesEXT": { "customBorderColors": true, "customBorderColorWithoutFormat": true }, "VkPhysicalDevicePrivateDataFeaturesEXT": { "privateData": true }, "VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT": { "pipelineCreationCacheControl": true }, "VkPhysicalDeviceImageRobustnessFeaturesEXT": { "robustImageAccess": true }, "VkPhysicalDeviceImageCompressionControlFeaturesEXT": { "imageCompressionControl": true }, "VkPhysicalDevice4444FormatsFeaturesEXT": { "formatA4R4G4B4": true, "formatA4B4G4R4": true }, "VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT": { "formatRgba10x6WithoutYCbCrSampler": false }, "VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT": { "primitiveTopologyListRestart": true, "primitiveTopologyPatchListRestart": false }, "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT": { "extendedDynamicState2": true, "extendedDynamicState2LogicOp": false, "extendedDynamicState2PatchControlPoints": true }, "VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT": { "primitivesGeneratedQuery": true, "primitivesGeneratedQueryWithRasterizerDiscard": true, "primitivesGeneratedQueryWithNonZeroStreams": false }, "VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT": { "globalPriorityQuery": true }, "VkPhysicalDeviceMultiviewFeaturesKHR": { "multiview": true, "multiviewGeometryShader": false, "multiviewTessellationShader": false }, "VkPhysicalDeviceShaderFloat16Int8FeaturesKHR": { "shaderFloat16": true, "shaderInt8": true }, "VkPhysicalDeviceFloat16Int8FeaturesKHR": { "shaderFloat16": true, "shaderInt8": true }, "VkPhysicalDevice16BitStorageFeaturesKHR": { "storageBuffer16BitAccess": true, "uniformAndStorageBuffer16BitAccess": true, "storagePushConstant16": true, "storageInputOutput16": true }, "VkPhysicalDeviceImagelessFramebufferFeaturesKHR": { "imagelessFramebuffer": true }, "VkPhysicalDeviceVariablePointerFeaturesKHR": { "variablePointersStorageBuffer": true, "variablePointers": true }, "VkPhysicalDeviceVariablePointersFeaturesKHR": { "variablePointersStorageBuffer": true, "variablePointers": true }, "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR": { "samplerYcbcrConversion": true }, "VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR": { "shaderSubgroupExtendedTypes": true }, "VkPhysicalDevice8BitStorageFeaturesKHR": { "storageBuffer8BitAccess": true, "uniformAndStorageBuffer8BitAccess": true, "storagePushConstant8": true }, "VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR": { "globalPriorityQuery": true }, "VkPhysicalDeviceTimelineSemaphoreFeaturesKHR": { "timelineSemaphore": true }, "VkPhysicalDeviceVulkanMemoryModelFeaturesKHR": { "vulkanMemoryModel": true, "vulkanMemoryModelDeviceScope": true, "vulkanMemoryModelAvailabilityVisibilityChains": true }, "VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR": { "shaderTerminateInvocation": true }, "VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR": { "separateDepthStencilLayouts": true }, "VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR": { "uniformBufferStandardLayout": true }, "VkPhysicalDeviceBufferDeviceAddressFeaturesKHR": { "bufferDeviceAddress": true, "bufferDeviceAddressCaptureReplay": false, "bufferDeviceAddressMultiDevice": false }, "VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR": { "shaderIntegerDotProduct": true }, "VkPhysicalDeviceSynchronization2FeaturesKHR": { "synchronization2": true }, "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR": { "shaderZeroInitializeWorkgroupMemory": true }, "VkPhysicalDeviceMaintenance4FeaturesKHR": { "maintenance4": true } }, ```
No due date•1/1 issues closedThe following extensions need to be emulated based on analysis of https://github.com/doitsujin/dxvk/blob/v1.10.3/src/d3d11/d3d11_device.cpp#L1927C1-L2013C1: 1. textureCompressionBC 2. logicOp 3. (optional) multiViewport Adreno 650 Supported Features: ```json "features": { "VkPhysicalDeviceFeatures": { "alphaToOne": true, "depthBiasClamp": true, "depthBounds": true, "depthClamp": true, "drawIndirectFirstInstance": true, "dualSrcBlend": true, "fillModeNonSolid": true, "fragmentStoresAndAtomics": true, "fullDrawIndexUint32": true, "geometryShader": true, "imageCubeArray": true, "independentBlend": true, "inheritedQueries": true, "largePoints": true, "logicOp": false, "multiDrawIndirect": true, "multiViewport": false, "occlusionQueryPrecise": true, "pipelineStatisticsQuery": true, "robustBufferAccess": true, "sampleRateShading": true, "samplerAnisotropy": true, "shaderClipDistance": true, "shaderCullDistance": true, "shaderFloat64": false, "shaderImageGatherExtended": true, "shaderInt16": true, "shaderInt64": false, "shaderResourceMinLod": false, "shaderResourceResidency": false, "shaderSampledImageArrayDynamicIndexing": true, "shaderStorageBufferArrayDynamicIndexing": true, "shaderStorageImageArrayDynamicIndexing": true, "shaderStorageImageExtendedFormats": true, "shaderStorageImageMultisample": false, "shaderStorageImageReadWithoutFormat": true, "shaderStorageImageWriteWithoutFormat": true, "shaderTessellationAndGeometryPointSize": false, "shaderUniformBufferArrayDynamicIndexing": true, "sparseBinding": false, "sparseResidency16Samples": false, "sparseResidency2Samples": false, "sparseResidency4Samples": false, "sparseResidency8Samples": false, "sparseResidencyAliased": false, "sparseResidencyBuffer": false, "sparseResidencyImage2D": false, "sparseResidencyImage3D": false, "tessellationShader": true, "textureCompressionASTC_LDR": true, "textureCompressionBC": false, "textureCompressionETC2": true, "variableMultisampleRate": false, "vertexPipelineStoresAndAtomics": true, "wideLines": false }, "VkPhysicalDeviceTransformFeedbackFeaturesEXT": { "transformFeedback": true, "geometryStreams": true }, "VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT": { "textureCompressionASTC_HDR": true }, "VkPhysicalDeviceASTCDecodeFeaturesEXT": { "decodeModeSharedExponent": false }, "VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT": { "vertexAttributeInstanceRateDivisor": true, "vertexAttributeInstanceRateZeroDivisor": true }, "VkPhysicalDeviceFragmentDensityMapFeaturesEXT": { "fragmentDensityMap": true, "fragmentDensityMapDynamic": false, "fragmentDensityMapNonSubsampledImages": true }, "VkPhysicalDeviceScalarBlockLayoutFeaturesEXT": { "scalarBlockLayout": true }, "VkPhysicalDeviceSubgroupSizeControlFeaturesEXT": { "subgroupSizeControl": true, "computeFullSubgroups": true }, "VkPhysicalDeviceLineRasterizationFeaturesEXT": { "rectangularLines": true, "bresenhamLines": true, "smoothLines": false, "stippledRectangularLines": false, "stippledBresenhamLines": false, "stippledSmoothLines": false }, "VkPhysicalDeviceHostQueryResetFeaturesEXT": { "hostQueryReset": true }, "VkPhysicalDeviceIndexTypeUint8FeaturesEXT": { "indexTypeUint8": true }, "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT": { "deviceMemoryReport": true }, "VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT": { "pipelineCreationCacheControl": true }, "VkPhysicalDeviceMultiviewFeaturesKHR": { "multiview": true, "multiviewGeometryShader": false, "multiviewTessellationShader": false }, "VkPhysicalDeviceShaderFloat16Int8FeaturesKHR": { "shaderFloat16": true, "shaderInt8": true }, "VkPhysicalDeviceFloat16Int8FeaturesKHR": { "shaderFloat16": true, "shaderInt8": true }, "VkPhysicalDevice16BitStorageFeaturesKHR": { "storageBuffer16BitAccess": true, "uniformAndStorageBuffer16BitAccess": false, "storagePushConstant16": false, "storageInputOutput16": false }, "VkPhysicalDeviceVariablePointerFeaturesKHR": { "variablePointersStorageBuffer": true, "variablePointers": true }, "VkPhysicalDeviceVariablePointersFeaturesKHR": { "variablePointersStorageBuffer": true, "variablePointers": true }, "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR": { "samplerYcbcrConversion": true }, "VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR": { "shaderSubgroupExtendedTypes": true }, "VkPhysicalDeviceVulkanMemoryModelFeaturesKHR": { "vulkanMemoryModel": true, "vulkanMemoryModelDeviceScope": true, "vulkanMemoryModelAvailabilityVisibilityChains": true }, "VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR": { "separateDepthStencilLayouts": true }, "VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR": { "uniformBufferStandardLayout": true }, "VkPhysicalDeviceBufferDeviceAddressFeaturesKHR": { "bufferDeviceAddress": true, "bufferDeviceAddressCaptureReplay": false, "bufferDeviceAddressMultiDevice": false } }, ```
No due date•9/9 issues closed