spirv: Implement ViewportMask with NV_viewport_array2
This commit is contained in:
parent
4657cf78fd
commit
e3514bcd6b
10 changed files with 32 additions and 0 deletions
|
@ -346,6 +346,10 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
|||
LOG_INFO(Render_Vulkan, "Device doesn't support viewport swizzles");
|
||||
}
|
||||
|
||||
if (!nv_viewport_array2) {
|
||||
LOG_INFO(Render_Vulkan, "Device doesn't support viewport masks");
|
||||
}
|
||||
|
||||
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR std430_layout;
|
||||
if (khr_uniform_buffer_standard_layout) {
|
||||
std430_layout = {
|
||||
|
@ -724,6 +728,7 @@ std::vector<const char*> Device::LoadExtensions(bool requires_surface) {
|
|||
}
|
||||
};
|
||||
test(nv_viewport_swizzle, VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME, true);
|
||||
test(nv_viewport_array2, VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME, true);
|
||||
test(khr_uniform_buffer_standard_layout,
|
||||
VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, true);
|
||||
test(khr_spirv_1_4, VK_KHR_SPIRV_1_4_EXTENSION_NAME, true);
|
||||
|
|
|
@ -169,6 +169,11 @@ public:
|
|||
return nv_viewport_swizzle;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_NV_viewport_array2.
|
||||
bool IsNvViewportArray2Supported() const {
|
||||
return nv_viewport_array2;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_KHR_uniform_buffer_standard_layout.
|
||||
bool IsKhrUniformBufferStandardLayoutSupported() const {
|
||||
return khr_uniform_buffer_standard_layout;
|
||||
|
@ -312,6 +317,7 @@ private:
|
|||
bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images.
|
||||
bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
|
||||
bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
|
||||
bool nv_viewport_array2{}; ///< Support for VK_NV_viewport_array2.
|
||||
bool khr_uniform_buffer_standard_layout{}; ///< Support for scalar uniform buffer layouts.
|
||||
bool khr_spirv_1_4{}; ///< Support for VK_KHR_spirv_1_4.
|
||||
bool khr_workgroup_memory_explicit_layout{}; ///< Support for explicit workgroup layouts.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue