mirror of
https://github.com/azahar-emu/azahar.git
synced 2026-06-05 18:23:39 -04:00
vk_instance: Add detection of MSAA features
Full multi-sample support is when renderpass-2 and depth-stencil-resolve extensions are available and when sample-rate-shading and msaa-storage-images are supported.
This commit is contained in:
parent
fcadfd8e19
commit
f682a89bdc
2 changed files with 11 additions and 0 deletions
|
|
@ -449,6 +449,8 @@ bool Instance::CreateDevice() {
|
|||
|
||||
add_extension(VK_KHR_SWAPCHAIN_EXTENSION_NAME);
|
||||
image_format_list = add_extension(VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME);
|
||||
create_renderpass2 = add_extension(VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME);
|
||||
depth_stencil_resolve = add_extension(VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME);
|
||||
shader_stencil_export = add_extension(VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME);
|
||||
external_memory_host = add_extension(VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME);
|
||||
tooling_info = add_extension(VK_EXT_TOOLING_INFO_EXTENSION_NAME);
|
||||
|
|
@ -518,9 +520,11 @@ bool Instance::CreateDevice() {
|
|||
.features{
|
||||
.robustBufferAccess = features.robustBufferAccess,
|
||||
.geometryShader = features.geometryShader,
|
||||
.sampleRateShading = features.sampleRateShading,
|
||||
.logicOp = features.logicOp,
|
||||
.samplerAnisotropy = features.samplerAnisotropy,
|
||||
.fragmentStoresAndAtomics = features.fragmentStoresAndAtomics,
|
||||
.shaderStorageImageMultisample = features.shaderStorageImageMultisample,
|
||||
.shaderClipDistance = features.shaderClipDistance,
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -251,6 +251,11 @@ public:
|
|||
return triangle_fan_supported;
|
||||
}
|
||||
|
||||
// Returns true when sampleRateShading, VK_KHR_create_renderpass2, VK_KHR_depth_stencil_resolve
|
||||
bool IsMultiSampleSupported() const {
|
||||
return features.sampleRateShading && create_renderpass2 && depth_stencil_resolve;
|
||||
}
|
||||
|
||||
/// Returns true if dynamic indices can be used inside shaders.
|
||||
bool IsImageArrayDynamicIndexSupported() const {
|
||||
return features.shaderSampledImageArrayDynamicIndexing;
|
||||
|
|
@ -330,6 +335,8 @@ protected:
|
|||
bool index_type_uint8{};
|
||||
bool fragment_shader_interlock{};
|
||||
bool image_format_list{};
|
||||
bool create_renderpass2{};
|
||||
bool depth_stencil_resolve{};
|
||||
bool pipeline_creation_cache_control{};
|
||||
bool fragment_shader_barycentric{};
|
||||
bool shader_stencil_export{};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue