vulkan: Conditionally use shaderInt16
Add support for Polaris AMD devices.
This commit is contained in:
parent
77372443c3
commit
1148a4eac7
|
@ -249,7 +249,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw
|
|||
.unified_descriptor_binding = true,
|
||||
.support_descriptor_aliasing = true,
|
||||
.support_int8 = true,
|
||||
.support_int16 = true,
|
||||
.support_int16 = device.IsShaderInt16Supported(),
|
||||
.support_vertex_instance_id = false,
|
||||
.support_float_controls = true,
|
||||
.support_separate_denorm_behavior = float_control.denormBehaviorIndependence ==
|
||||
|
|
|
@ -253,7 +253,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
|||
.shaderCullDistance = true,
|
||||
.shaderFloat64 = is_shader_float64_supported,
|
||||
.shaderInt64 = is_shader_int64_supported,
|
||||
.shaderInt16 = true,
|
||||
.shaderInt16 = is_shader_int16_supported,
|
||||
.shaderResourceResidency = false,
|
||||
.shaderResourceMinLod = false,
|
||||
.sparseBinding = false,
|
||||
|
@ -912,6 +912,7 @@ void Device::SetupFeatures() {
|
|||
is_formatless_image_load_supported = features.shaderStorageImageReadWithoutFormat;
|
||||
is_shader_float64_supported = features.shaderFloat64;
|
||||
is_shader_int64_supported = features.shaderInt64;
|
||||
is_shader_int16_supported = features.shaderInt16;
|
||||
is_shader_storage_image_multisample = features.shaderStorageImageMultisample;
|
||||
is_blit_depth_stencil_supported = TestDepthStencilBlits();
|
||||
is_optimal_astc_supported = IsOptimalAstcSupported(features);
|
||||
|
|
|
@ -159,6 +159,11 @@ public:
|
|||
return is_formatless_image_load_supported;
|
||||
}
|
||||
|
||||
/// Returns true if shader int16 is supported.
|
||||
bool IsShaderInt16Supported() const {
|
||||
return is_shader_int16_supported;
|
||||
}
|
||||
|
||||
// Returns true if depth bounds is supported.
|
||||
bool IsDepthBoundsSupported() const {
|
||||
return is_depth_bounds_supported;
|
||||
|
@ -322,6 +327,7 @@ private:
|
|||
bool is_depth_bounds_supported{}; ///< Support for depth bounds.
|
||||
bool is_shader_float64_supported{}; ///< Support for float64.
|
||||
bool is_shader_int64_supported{}; ///< Support for int64.
|
||||
bool is_shader_int16_supported{}; ///< Support for int16.
|
||||
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.
|
||||
|
|
Reference in New Issue