Switch from querying swizzle on caps to using swizzles stored on proxies.
Change-Id: I03f4a3affd6dda7a83bee8eec768dcaa93a6b801
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220534
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrPrimitiveProcessor.cpp b/src/gpu/GrPrimitiveProcessor.cpp
index 2060f3a..32790b9 100644
--- a/src/gpu/GrPrimitiveProcessor.cpp
+++ b/src/gpu/GrPrimitiveProcessor.cpp
@@ -56,24 +56,28 @@
GrPrimitiveProcessor::TextureSampler::TextureSampler(GrTextureType textureType,
GrPixelConfig config,
const GrSamplerState& samplerState,
+ const GrSwizzle& swizzle,
uint32_t extraSamplerKey) {
- this->reset(textureType, config, samplerState, extraSamplerKey);
+ this->reset(textureType, config, samplerState, swizzle, extraSamplerKey);
}
GrPrimitiveProcessor::TextureSampler::TextureSampler(GrTextureType textureType,
GrPixelConfig config,
GrSamplerState::Filter filterMode,
- GrSamplerState::WrapMode wrapXAndY) {
- this->reset(textureType, config, filterMode, wrapXAndY);
+ GrSamplerState::WrapMode wrapXAndY,
+ const GrSwizzle& swizzle) {
+ this->reset(textureType, config, filterMode, wrapXAndY, swizzle);
}
void GrPrimitiveProcessor::TextureSampler::reset(GrTextureType textureType,
GrPixelConfig config,
const GrSamplerState& samplerState,
+ const GrSwizzle& swizzle,
uint32_t extraSamplerKey) {
SkASSERT(kUnknown_GrPixelConfig != config);
fSamplerState = samplerState;
fSamplerState.setFilterMode(clamp_filter(textureType, samplerState.filter()));
+ fSwizzle = swizzle;
fTextureType = textureType;
fConfig = config;
fExtraSamplerKey = extraSamplerKey;
@@ -83,10 +87,12 @@
void GrPrimitiveProcessor::TextureSampler::reset(GrTextureType textureType,
GrPixelConfig config,
GrSamplerState::Filter filterMode,
- GrSamplerState::WrapMode wrapXAndY) {
+ GrSamplerState::WrapMode wrapXAndY,
+ const GrSwizzle& swizzle) {
SkASSERT(kUnknown_GrPixelConfig != config);
filterMode = clamp_filter(textureType, filterMode);
fSamplerState = GrSamplerState(wrapXAndY, filterMode);
+ fSwizzle = swizzle;
fTextureType = textureType;
fConfig = config;
}