Really disable srgb on nexus player vulkan
authorGreg Daniel <egdaniel@google.com>
Tue, 23 May 2017 19:21:02 +0000 (15:21 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 23 May 2017 19:57:48 +0000 (19:57 +0000)
Bug: skia:
Change-Id: I75804136195fdddffd6498660e8f96e0580f7cd8
Reviewed-on: https://skia-review.googlesource.com/17780
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

src/gpu/vk/GrVkCaps.cpp

index cb699fb..16b4609 100644 (file)
@@ -117,12 +117,6 @@ void GrVkCaps::init(const GrContextOptions& contextOptions, const GrVkInterface*
     }
 #endif
 
-#if defined(SK_CPU_X86)
-    if (kImagination_VkVendor == properties.vendorID) {
-        fSRGBSupport = false;
-    }
-#endif
-
     this->applyOptionsOverrides(contextOptions);
     fShaderCaps->applyOptionsOverrides(contextOptions);
 }
@@ -196,6 +190,12 @@ void GrVkCaps::initGrCaps(const VkPhysicalDeviceProperties& properties,
     if (kAMD_VkVendor == properties.vendorID) {
         fNewCBOnPipelineChange = true;
     }
+
+#if defined(SK_CPU_X86)
+    if (kImagination_VkVendor == properties.vendorID) {
+        fSRGBSupport = false;
+    }
+#endif
 }
 
 void GrVkCaps::initShaderCaps(const VkPhysicalDeviceProperties& properties, uint32_t featureFlags) {
@@ -309,7 +309,9 @@ void GrVkCaps::initConfigTable(const GrVkInterface* interface, VkPhysicalDevice
     for (int i = 0; i < kGrPixelConfigCnt; ++i) {
         VkFormat format;
         if (GrPixelConfigToVkFormat(static_cast<GrPixelConfig>(i), &format)) {
-            fConfigTable[i].init(interface, physDev, format);
+            if (!GrPixelConfigIsSRGB(static_cast<GrPixelConfig>(i)) || fSRGBSupport) {
+                fConfigTable[i].init(interface, physDev, format);
+            }
         }
     }
 }