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,
ChoosePhysicalDevice(physicalDevices, enableMockICD, &mPhysicalDevice,
&mPhysicalDeviceProperties);
vkGetPhysicalDeviceFeatures(mPhysicalDevice, &mPhysicalDeviceFeatures);
// Ensure we can find a graphics queue family.
uint32_t queueCount = 0;
vkGetPhysicalDeviceQueueFamilyProperties(mPhysicalDevice, &queueCount, nullptr);
......@@ -693,8 +695,8 @@ void RendererVk::ensureCapsInitialized() const
{
if (!mCapsInitialized)
{
vk::GenerateCaps(mPhysicalDeviceProperties, mNativeTextureCaps, &mNativeCaps,
&mNativeExtensions, &mNativeLimitations);
vk::GenerateCaps(mPhysicalDeviceProperties, mPhysicalDeviceFeatures, mNativeTextureCaps,
&mNativeCaps, &mNativeExtensions, &mNativeLimitations);
mCapsInitialized = true;
}
}
......
......@@ -165,6 +165,7 @@ class RendererVk : angle::NonCopyable
VkDebugReportCallbackEXT mDebugReportCallback;
VkPhysicalDevice mPhysicalDevice;
VkPhysicalDeviceProperties mPhysicalDeviceProperties;
VkPhysicalDeviceFeatures mPhysicalDeviceFeatures;
std::vector<VkQueueFamilyProperties> mQueueFamilyProperties;
VkQueue mQueue;
uint32_t mCurrentQueueFamilyIndex;
......
......@@ -30,6 +30,7 @@ namespace vk
{
void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties,
const VkPhysicalDeviceFeatures &physicalDeviceFeatures,
const gl::TextureCapsMap &textureCaps,
gl::Caps *outCaps,
gl::Extensions *outExtensions,
......@@ -58,8 +59,10 @@ void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties,
outCaps->minAliasedPointSize =
std::max(1.0f, physicalDeviceProperties.limits.pointSizeRange[0]);
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 =
std::min<uint32_t>(physicalDeviceProperties.limits.maxColorAttachments,
physicalDeviceProperties.limits.maxFragmentOutputAttachments);
......
......@@ -33,6 +33,7 @@ class DisplayVk;
namespace vk
{
void GenerateCaps(const VkPhysicalDeviceProperties &physicalDeviceProperties,
const VkPhysicalDeviceFeatures &physicalDeviceFeatures,
const gl::TextureCapsMap &textureCaps,
gl::Caps *outCaps,
gl::Extensions *outExtensions,
......
......@@ -235,12 +235,6 @@
// Vulkan failures
2598 VULKAN : dEQP-GLES2.functional.rasterization.primitives.line* = 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
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