Revert "Fixes from sample count change"

This reverts commit f3316224b9.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Fixes from sample count change
> 
> Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL
> 
> Bug: skia:
> Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e
> Reviewed-on: https://skia-review.googlesource.com/24780
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com

Change-Id: I8e3c95621eb0bc6ea2be24cc4ee67f88239263ed
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/24863
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This commit is contained in:
Greg Daniel 2017-07-20 13:02:28 +00:00 committed by Skia Commit-Bot
parent ff98644cb4
commit 914b285d45
3 changed files with 8 additions and 17 deletions

View File

@ -2138,7 +2138,7 @@ void GrGLCaps::initConfigTable(const GrContextOptions& contextOptions,
static const int kDefaultSamples[] = {0,1,2,4,8};
int count = SK_ARRAY_COUNT(kDefaultSamples);
for (; count > 0; --count) {
if (kDefaultSamples[count-1] <= fMaxColorSampleCount) {
if (kDefaultSamples[count-i] <= fMaxColorSampleCount) {
break;
}
}

View File

@ -83,7 +83,7 @@ void GrVkCaps::init(const GrContextOptions& contextOptions, const GrVkInterface*
this->initGrCaps(properties, memoryProperties, featureFlags);
this->initShaderCaps(properties, featureFlags);
this->initConfigTable(vkInterface, physDev, properties);
this->initConfigTable(vkInterface, physDev);
this->initStencilFormat(vkInterface, physDev);
if (SkToBool(extensionFlags & kNV_glsl_shader_GrVkExtensionFlag)) {
@ -309,13 +309,12 @@ void GrVkCaps::initStencilFormat(const GrVkInterface* interface, VkPhysicalDevic
}
}
void GrVkCaps::initConfigTable(const GrVkInterface* interface, VkPhysicalDevice physDev,
const VkPhysicalDeviceProperties& properties) {
void GrVkCaps::initConfigTable(const GrVkInterface* interface, VkPhysicalDevice physDev) {
for (int i = 0; i < kGrPixelConfigCnt; ++i) {
VkFormat format;
if (GrPixelConfigToVkFormat(static_cast<GrPixelConfig>(i), &format)) {
if (!GrPixelConfigIsSRGB(static_cast<GrPixelConfig>(i)) || fSRGBSupport) {
fConfigTable[i].init(interface, physDev, properties, format);
fConfigTable[i].init(interface, physDev, format);
}
}
}
@ -343,7 +342,6 @@ void GrVkCaps::ConfigInfo::InitConfigFlags(VkFormatFeatureFlags vkFlags, uint16_
void GrVkCaps::ConfigInfo::initSampleCounts(const GrVkInterface* interface,
VkPhysicalDevice physDev,
const VkPhysicalDeviceProperties& physProps,
VkFormat format) {
VkImageUsageFlags usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
VK_IMAGE_USAGE_TRANSFER_DST_BIT |
@ -363,10 +361,6 @@ void GrVkCaps::ConfigInfo::initSampleCounts(const GrVkInterface* interface,
if (flags & VK_SAMPLE_COUNT_1_BIT) {
fColorSampleCounts.push(0);
}
if (kImagination_VkVendor == physProps.vendorID) {
// MSAA does not work on imagination
return;
}
if (flags & VK_SAMPLE_COUNT_2_BIT) {
fColorSampleCounts.push(2);
}
@ -389,7 +383,6 @@ void GrVkCaps::ConfigInfo::initSampleCounts(const GrVkInterface* interface,
void GrVkCaps::ConfigInfo::init(const GrVkInterface* interface,
VkPhysicalDevice physDev,
const VkPhysicalDeviceProperties& properties,
VkFormat format) {
VkFormatProperties props;
memset(&props, 0, sizeof(VkFormatProperties));
@ -397,7 +390,7 @@ void GrVkCaps::ConfigInfo::init(const GrVkInterface* interface,
InitConfigFlags(props.linearTilingFeatures, &fLinearFlags);
InitConfigFlags(props.optimalTilingFeatures, &fOptimalFlags);
if (fOptimalFlags & kRenderable_Flag) {
this->initSampleCounts(interface, physDev, properties, format);
this->initSampleCounts(interface, physDev, format);
}
}

View File

@ -126,17 +126,15 @@ private:
void initSampleCount(const VkPhysicalDeviceProperties& properties);
void initConfigTable(const GrVkInterface*, VkPhysicalDevice, const VkPhysicalDeviceProperties&);
void initConfigTable(const GrVkInterface*, VkPhysicalDevice);
void initStencilFormat(const GrVkInterface* iface, VkPhysicalDevice physDev);
struct ConfigInfo {
ConfigInfo() : fOptimalFlags(0), fLinearFlags(0) {}
void init(const GrVkInterface*, VkPhysicalDevice, const VkPhysicalDeviceProperties&,
VkFormat);
void init(const GrVkInterface*, VkPhysicalDevice, VkFormat);
static void InitConfigFlags(VkFormatFeatureFlags, uint16_t* flags);
void initSampleCounts(const GrVkInterface*, VkPhysicalDevice,
const VkPhysicalDeviceProperties&, VkFormat);
void initSampleCounts(const GrVkInterface*, VkPhysicalDevice, VkFormat);
enum {
kTextureable_Flag = 0x1,