vkd3d: Require VK_KHR_bind_memory2
This extension is trivial to implement for vendors and should be widely supported. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
parent
db943f2341
commit
b42a7193fc
|
@ -26,6 +26,7 @@ There are some hard requirements on drivers to be able to implement D3D12 in a r
|
|||
- `VK_KHR_sampler_mirror_clamp_to_edge`
|
||||
- `VK_EXT_robustness2`
|
||||
- `VK_KHR_separate_depth_stencil_layouts`
|
||||
- `VK_KHR_bind_memory2`
|
||||
|
||||
Some notable extensions that **should** be supported for optimal or correct behavior.
|
||||
These extensions will likely become mandatory later.
|
||||
|
|
|
@ -78,6 +78,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] =
|
|||
VK_EXTENSION(KHR_SHADER_INTEGER_DOT_PRODUCT, KHR_shader_integer_dot_product),
|
||||
VK_EXTENSION(KHR_FORMAT_FEATURE_FLAGS_2, KHR_format_feature_flags2),
|
||||
VK_EXTENSION(KHR_SHADER_ATOMIC_INT64, KHR_shader_atomic_int64),
|
||||
VK_EXTENSION(KHR_BIND_MEMORY_2, KHR_bind_memory2),
|
||||
/* EXT extensions */
|
||||
VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps),
|
||||
VK_EXTENSION(EXT_CONDITIONAL_RENDERING, EXT_conditional_rendering),
|
||||
|
@ -1901,6 +1902,12 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device,
|
|||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if (!vulkan_info->KHR_bind_memory2)
|
||||
{
|
||||
ERR("KHR_bind_memory2 is not supported by this implementation. This is required for correct operation.\n");
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -126,6 +126,7 @@ struct vkd3d_vulkan_info
|
|||
bool KHR_shader_integer_dot_product;
|
||||
bool KHR_format_feature_flags2;
|
||||
bool KHR_shader_atomic_int64;
|
||||
bool KHR_bind_memory2;
|
||||
/* EXT device extensions */
|
||||
bool EXT_calibrated_timestamps;
|
||||
bool EXT_conditional_rendering;
|
||||
|
|
|
@ -225,6 +225,10 @@ VK_DEVICE_EXT_PFN(vkCmdEndRenderPass2KHR)
|
|||
VK_DEVICE_EXT_PFN(vkCmdNextSubpass2KHR)
|
||||
VK_DEVICE_EXT_PFN(vkCreateRenderPass2KHR)
|
||||
|
||||
/* VK_KHR_bind_memory2 */
|
||||
VK_DEVICE_EXT_PFN(vkBindBufferMemory2KHR);
|
||||
VK_DEVICE_EXT_PFN(vkBindImageMemory2KHR);
|
||||
|
||||
/* VK_EXT_calibrated_timestamps */
|
||||
VK_DEVICE_EXT_PFN(vkGetCalibratedTimestampsEXT)
|
||||
VK_INSTANCE_EXT_PFN(vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)
|
||||
|
|
Loading…
Reference in New Issue