Commit 30b5d84c by Jamie Madill Committed by Commit Bot

Vulkan: Fix line width caps.

We would need to enable the wide lines feature to support non-unit line widths. For now just disable the caps. Bug: angleproject:2598 Bug: angleproject:2706 Change-Id: I0dd228fc2c357bdd9442c3d841be769987a53f72 Reviewed-on: https://chromium-review.googlesource.com/1127303Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 0a17e484
...@@ -459,6 +459,8 @@ angle::Result RendererVk::initialize(vk::Context *context, ...@@ -459,6 +459,8 @@ angle::Result RendererVk::initialize(vk::Context *context,
ChoosePhysicalDevice(physicalDevices, enableMockICD, &mPhysicalDevice, ChoosePhysicalDevice(physicalDevices, enableMockICD, &mPhysicalDevice,
&mPhysicalDeviceProperties); &mPhysicalDeviceProperties);
vkGetPhysicalDeviceFeatures(mPhysicalDevice, &mPhysicalDeviceFeatures);
// Ensure we can find a graphics queue family. // Ensure we can find a graphics queue family.
uint32_t queueCount = 0; uint32_t queueCount = 0;
vkGetPhysicalDeviceQueueFamilyProperties(mPhysicalDevice, &queueCount, nullptr); vkGetPhysicalDeviceQueueFamilyProperties(mPhysicalDevice, &queueCount, nullptr);
...@@ -693,8 +695,8 @@ void RendererVk::ensureCapsInitialized() const ...@@ -693,8 +695,8 @@ void RendererVk::ensureCapsInitialized() const
{ {
if (!mCapsInitialized) if (!mCapsInitialized)
{ {
vk::GenerateCaps(mPhysicalDeviceProperties, mNativeTextureCaps, &mNativeCaps, vk::GenerateCaps(mPhysicalDeviceProperties, mPhysicalDeviceFeatures, mNativeTextureCaps,
&mNativeExtensions, &mNativeLimitations); &mNativeCaps, &mNativeExtensions, &mNativeLimitations);
mCapsInitialized = true; mCapsInitialized = true;
} }
} }
......
...@@ -165,6 +165,7 @@ class RendererVk : angle::NonCopyable ...@@ -165,6 +165,7 @@ class RendererVk : angle::NonCopyable
VkDebugReportCallbackEXT mDebugReportCallback; VkDebugReportCallbackEXT mDebugReportCallback;
VkPhysicalDevice mPhysicalDevice; VkPhysicalDevice mPhysicalDevice;
VkPhysicalDeviceProperties mPhysicalDeviceProperties; VkPhysicalDeviceProperties mPhysicalDeviceProperties;
VkPhysicalDeviceFeatures mPhysicalDeviceFeatures;
std::vector<VkQueueFamilyProperties> mQueueFamilyProperties; std::vector<VkQueueFamilyProperties> mQueueFamilyProperties;
VkQueue mQueue; VkQueue mQueue;
uint32_t mCurrentQueueFamilyIndex; uint32_t mCurrentQueueFamilyIndex;
......
...@@ -30,6 +30,7 @@ namespace vk ...@@ -30,6 +30,7 @@ namespace vk
{ {
void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties, void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties,
const VkPhysicalDeviceFeatures &physicalDeviceFeatures,
const gl::TextureCapsMap &textureCaps, const gl::TextureCapsMap &textureCaps,
gl::Caps *outCaps, gl::Caps *outCaps,
gl::Extensions *outExtensions, gl::Extensions *outExtensions,
...@@ -58,8 +59,10 @@ void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties, ...@@ -58,8 +59,10 @@ void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties,
outCaps->minAliasedPointSize = outCaps->minAliasedPointSize =
std::max(1.0f, physicalDeviceProperties.limits.pointSizeRange[0]); std::max(1.0f, physicalDeviceProperties.limits.pointSizeRange[0]);
outCaps->maxAliasedPointSize = physicalDeviceProperties.limits.pointSizeRange[1]; outCaps->maxAliasedPointSize = physicalDeviceProperties.limits.pointSizeRange[1];
outCaps->minAliasedLineWidth = physicalDeviceProperties.limits.lineWidthRange[0];
outCaps->maxAliasedLineWidth = physicalDeviceProperties.limits.lineWidthRange[1]; outCaps->minAliasedLineWidth = 1.0f;
outCaps->maxAliasedLineWidth = 1.0f;
outCaps->maxDrawBuffers = outCaps->maxDrawBuffers =
std::min<uint32_t>(physicalDeviceProperties.limits.maxColorAttachments, std::min<uint32_t>(physicalDeviceProperties.limits.maxColorAttachments,
physicalDeviceProperties.limits.maxFragmentOutputAttachments); physicalDeviceProperties.limits.maxFragmentOutputAttachments);
......
...@@ -33,6 +33,7 @@ class DisplayVk; ...@@ -33,6 +33,7 @@ class DisplayVk;
namespace vk namespace vk
{ {
void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties, void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties,
const VkPhysicalDeviceFeatures &physicalDeviceFeatures,
const gl::TextureCapsMap &textureCaps, const gl::TextureCapsMap &textureCaps,
gl::Caps *outCaps, gl::Caps *outCaps,
gl::Extensions *outExtensions, gl::Extensions *outExtensions,
......
...@@ -235,12 +235,6 @@ ...@@ -235,12 +235,6 @@
// Vulkan failures // Vulkan failures
2598 VULKAN : dEQP-GLES2.functional.rasterization.primitives.line* = SKIP 2598 VULKAN : dEQP-GLES2.functional.rasterization.primitives.line* = SKIP
2599 VULKAN : dEQP-GLES2.functional.rasterization.limits.points = SKIP 2599 VULKAN : dEQP-GLES2.functional.rasterization.limits.points = SKIP
2598 VULKAN : dEQP-GLES2.functional.clipping.line.wide_line_z_clip = SKIP
2598 VULKAN : dEQP-GLES2.functional.clipping.line.wide_line_z_clip_viewport_center = SKIP
2598 VULKAN : dEQP-GLES2.functional.clipping.line.wide_line_z_clip_viewport_corner = SKIP
2598 VULKAN : dEQP-GLES2.functional.clipping.line.wide_line_clip = SKIP
2598 VULKAN : dEQP-GLES2.functional.clipping.line.long_wide_line_clip = SKIP
2598 VULKAN : dEQP-GLES2.functional.clipping.line.wide_line_attrib_clip = SKIP
// Vulkan AMD Windows specific failures // Vulkan AMD Windows specific failures
2602 VULKAN WIN AMD : dEQP-GLES2.functional.buffer.write.* = SKIP 2602 VULKAN WIN AMD : dEQP-GLES2.functional.buffer.write.* = SKIP
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment