diff options
author | Chris Dalton <csmartdalton@google.com> | 2017-11-15 18:27:09 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-16 03:31:45 +0000 |
commit | e42180022720f2fcfd3c634cad855506a7940591 (patch) | |
tree | 76fb7187cd7dd509da717a221b3c309f9b703d3b /src/gpu/vk | |
parent | ae9d6189ec03c4a188e67b42d755c42024397f44 (diff) |
Fix precision caps and rrect/ellipse effect precisions
Replaces all the complex precision caps with a single flag that says
whether "float" == fp32. Updates the ellipse and rrect effects to
use float coords, and use the scale workaround when float != fp32.
Bug: skia:7190
Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307
Reviewed-on: https://skia-review.googlesource.com/70961
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/vk')
-rw-r--r-- | src/gpu/vk/GrVkCaps.cpp | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp index 2b24205af8..f5c4b342ed 100644 --- a/src/gpu/vk/GrVkCaps.cpp +++ b/src/gpu/vk/GrVkCaps.cpp @@ -259,19 +259,8 @@ void GrVkCaps::initShaderCaps(const VkPhysicalDeviceProperties& properties, uint shaderCaps->fVertexIDSupport = true; // Assume the minimum precisions mandated by the SPIR-V spec. - shaderCaps->fShaderPrecisionVaries = true; - for (int s = 0; s < kGrShaderTypeCount; ++s) { - auto& highp = shaderCaps->fFloatPrecisions[s][kHigh_GrSLPrecision]; - highp.fLogRangeLow = highp.fLogRangeHigh = 127; - highp.fBits = 23; - - auto& mediump = shaderCaps->fFloatPrecisions[s][kMedium_GrSLPrecision]; - mediump.fLogRangeLow = mediump.fLogRangeHigh = 14; - mediump.fBits = 10; - - shaderCaps->fFloatPrecisions[s][kLow_GrSLPrecision] = mediump; - } - shaderCaps->initSamplerPrecisionTable(); + shaderCaps->fFloatIs32Bits = true; + shaderCaps->fHalfIs32Bits = false; shaderCaps->fMaxVertexSamplers = shaderCaps->fMaxGeometrySamplers = |