More SkISizification in GPU code.
Uses SkISize instead of separate width/height variables in many places.
No functional change.
Change-Id: If87b2c57e43d810f0820c4e3c9ef8e6b8ebd10ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249886
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/effects/GrBicubicEffect.h b/src/gpu/effects/GrBicubicEffect.h
index a2dc249..5e274e0 100644
--- a/src/gpu/effects/GrBicubicEffect.h
+++ b/src/gpu/effects/GrBicubicEffect.h
@@ -86,8 +86,13 @@
Direction direction,
SkAlphaType alphaType,
const SkRect* domain = nullptr) {
- SkRect resolvedDomain = domain ? *domain : GrTextureDomain::MakeTexelDomain(
- SkIRect::MakeWH(proxy->width(), proxy->height()), modeX, modeY);
+ SkRect resolvedDomain;
+ if (domain) {
+ resolvedDomain = *domain;
+ } else {
+ resolvedDomain = GrTextureDomain::MakeTexelDomain(
+ SkIRect::MakeSize(proxy->dimensions()), modeX, modeY);
+ }
return std::unique_ptr<GrFragmentProcessor>(
new GrBicubicEffect(std::move(proxy), srcColorType, matrix, resolvedDomain,
wrapModes, modeX, modeY, direction, alphaType));
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp
index 5bbe8fb..c58eb82 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp
@@ -149,11 +149,11 @@
this->setVertexAttributes(&fInPosition, 3);
if (numActiveProxies) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numActiveProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
proxies[i]->textureSwizzle());
}
@@ -166,12 +166,12 @@
SkASSERT(numActiveProxies <= kMaxTextures);
if (!fTextureSamplers[0].isInitialized()) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numActiveProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
index 321aef5..50ddb47 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
@@ -236,11 +236,11 @@
this->setVertexAttributes(&fInPosition, 3);
if (numProxies) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
proxies[i]->textureSwizzle());
}
@@ -253,12 +253,12 @@
SkASSERT(numProxies <= kMaxTextures);
if (!fTextureSamplers[0].isInitialized()) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
proxies[i]->textureSwizzle());
@@ -531,12 +531,12 @@
this->setVertexAttributes(&fInPosition, 3);
if (numProxies) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
proxies[i]->textureSwizzle());
}
@@ -549,12 +549,12 @@
SkASSERT(numProxies <= kMaxTextures);
if (!fTextureSamplers[0].isInitialized()) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
@@ -855,12 +855,12 @@
this->setVertexAttributes(&fInPosition, 3);
if (numProxies) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
proxies[i]->textureSwizzle());
}
@@ -873,12 +873,12 @@
SkASSERT(numProxies <= kMaxTextures);
if (!fTextureSamplers[0].isInitialized()) {
- fAtlasSize = proxies[0]->isize();
+ fAtlasSize = proxies[0]->dimensions();
}
for (int i = 0; i < numProxies; ++i) {
SkASSERT(proxies[i]);
- SkASSERT(proxies[i]->isize() == fAtlasSize);
+ SkASSERT(proxies[i]->dimensions() == fAtlasSize);
if (!fTextureSamplers[i].isInitialized()) {
fTextureSamplers[i].reset(params, proxies[i]->backendFormat(),
diff --git a/src/gpu/effects/GrRRectBlurEffect.fp b/src/gpu/effects/GrRRectBlurEffect.fp
index b0b770e..3ee1eea 100644
--- a/src/gpu/effects/GrRRectBlurEffect.fp
+++ b/src/gpu/effects/GrRRectBlurEffect.fp
@@ -31,7 +31,7 @@
@class {
static sk_sp<GrTextureProxy> find_or_create_rrect_blur_mask(GrRecordingContext* context,
const SkRRect& rrectToDraw,
- const SkISize& size,
+ const SkISize& dimensions,
float xformedSigma) {
static const GrUniqueKey::Domain kDomain = GrUniqueKey::GenerateDomain();
GrUniqueKey key;
@@ -57,8 +57,8 @@
// 1) The texture coords would need to be updated.
// 2) We would have to use GrTextureDomain::kClamp_Mode for the GaussianBlur.
auto rtc = context->priv().makeDeferredRenderTargetContextWithFallback(
- SkBackingFit::kExact, size.fWidth, size.fHeight, GrColorType::kAlpha_8,
- nullptr);
+ SkBackingFit::kExact, dimensions.fWidth, dimensions.fHeight,
+ GrColorType::kAlpha_8, nullptr);
if (!rtc) {
return nullptr;
}
@@ -81,7 +81,7 @@
rtc->colorInfo().alphaType(),
SkIPoint::Make(0, 0),
nullptr,
- SkIRect::MakeWH(size.fWidth, size.fHeight),
+ SkIRect::MakeSize(dimensions),
SkIRect::EmptyIRect(),
xformedSigma,
xformedSigma,
@@ -132,7 +132,7 @@
// sufficiently small relative to both the size of the corner radius and the
// width (and height) of the rrect.
SkRRect rrectToDraw;
- SkISize size;
+ SkISize dimensions;
SkScalar ignored[kSkBlurRRectMaxDivisions];
int ignoredSize;
uint32_t ignored32;
@@ -140,7 +140,7 @@
bool ninePatchable = SkComputeBlurredRRectParams(srcRRect, devRRect,
SkRect::MakeEmpty(),
sigma, xformedSigma,
- &rrectToDraw, &size,
+ &rrectToDraw, &dimensions,
ignored, ignored,
ignored, ignored,
&ignoredSize, &ignoredSize,
@@ -150,7 +150,7 @@
}
sk_sp<GrTextureProxy> mask(find_or_create_rrect_blur_mask(context, rrectToDraw,
- size, xformedSigma));
+ dimensions, xformedSigma));
if (!mask) {
return nullptr;
}
diff --git a/src/gpu/effects/GrTextureDomain.cpp b/src/gpu/effects/GrTextureDomain.cpp
index 25b5bb3..8bb662b 100644
--- a/src/gpu/effects/GrTextureDomain.cpp
+++ b/src/gpu/effects/GrTextureDomain.cpp
@@ -32,7 +32,7 @@
return;
}
- const SkRect kFullRect = SkRect::MakeIWH(proxy->width(), proxy->height());
+ const SkRect kFullRect = proxy->getBoundsRect();
// We don't currently handle domains that are empty or don't intersect the texture.
// It is OK if the domain rect is a line or point, but it should not be inverted. We do not
diff --git a/src/gpu/effects/GrYUVtoRGBEffect.cpp b/src/gpu/effects/GrYUVtoRGBEffect.cpp
index a82aec7..0de89f1 100644
--- a/src/gpu/effects/GrYUVtoRGBEffect.cpp
+++ b/src/gpu/effects/GrYUVtoRGBEffect.cpp
@@ -44,7 +44,7 @@
int numPlanes;
SkAssertResult(SkYUVAIndex::AreValidIndices(yuvaIndices, &numPlanes));
- const SkISize YSize = proxies[yuvaIndices[SkYUVAIndex::kY_Index].fIndex]->isize();
+ const SkISize YDimensions = proxies[yuvaIndices[SkYUVAIndex::kY_Index].fIndex]->dimensions();
GrSamplerState::Filter minimizeFilterMode = GrSamplerState::Filter::kMipMap == filterMode ?
GrSamplerState::Filter::kMipMap :
@@ -53,10 +53,11 @@
GrSamplerState::Filter filterModes[4];
SkSize scales[4];
for (int i = 0; i < numPlanes; ++i) {
- SkISize size = proxies[i]->isize();
- scales[i] = SkSize::Make(SkIntToScalar(size.width()) / SkIntToScalar(YSize.width()),
- SkIntToScalar(size.height()) / SkIntToScalar(YSize.height()));
- filterModes[i] = (size == YSize) ? filterMode : minimizeFilterMode;
+ SkISize dimensions = proxies[i]->dimensions();
+ scales[i] = SkSize::Make(
+ SkIntToScalar(dimensions.width()) / SkIntToScalar(YDimensions.width()),
+ SkIntToScalar(dimensions.height()) / SkIntToScalar(YDimensions.height()));
+ filterModes[i] = (dimensions == YDimensions) ? filterMode : minimizeFilterMode;
}
return std::unique_ptr<GrFragmentProcessor>(new GrYUVtoRGBEffect(
diff --git a/src/gpu/effects/generated/GrRRectBlurEffect.cpp b/src/gpu/effects/generated/GrRRectBlurEffect.cpp
index 88ab11a..630c66c 100644
--- a/src/gpu/effects/generated/GrRRectBlurEffect.cpp
+++ b/src/gpu/effects/generated/GrRRectBlurEffect.cpp
@@ -27,20 +27,20 @@
// sufficiently small relative to both the size of the corner radius and the
// width (and height) of the rrect.
SkRRect rrectToDraw;
- SkISize size;
+ SkISize dimensions;
SkScalar ignored[kSkBlurRRectMaxDivisions];
int ignoredSize;
uint32_t ignored32;
bool ninePatchable = SkComputeBlurredRRectParams(
- srcRRect, devRRect, SkRect::MakeEmpty(), sigma, xformedSigma, &rrectToDraw, &size,
+ srcRRect, devRRect, SkRect::MakeEmpty(), sigma, xformedSigma, &rrectToDraw, &dimensions,
ignored, ignored, ignored, ignored, &ignoredSize, &ignoredSize, &ignored32);
if (!ninePatchable) {
return nullptr;
}
sk_sp<GrTextureProxy> mask(
- find_or_create_rrect_blur_mask(context, rrectToDraw, size, xformedSigma));
+ find_or_create_rrect_blur_mask(context, rrectToDraw, dimensions, xformedSigma));
if (!mask) {
return nullptr;
}
diff --git a/src/gpu/effects/generated/GrRRectBlurEffect.h b/src/gpu/effects/generated/GrRRectBlurEffect.h
index 436f604..9a3ff66 100644
--- a/src/gpu/effects/generated/GrRRectBlurEffect.h
+++ b/src/gpu/effects/generated/GrRRectBlurEffect.h
@@ -32,7 +32,7 @@
public:
static sk_sp<GrTextureProxy> find_or_create_rrect_blur_mask(GrRecordingContext* context,
const SkRRect& rrectToDraw,
- const SkISize& size,
+ const SkISize& dimensions,
float xformedSigma) {
static const GrUniqueKey::Domain kDomain = GrUniqueKey::GenerateDomain();
GrUniqueKey key;
@@ -58,8 +58,8 @@
// 1) The texture coords would need to be updated.
// 2) We would have to use GrTextureDomain::kClamp_Mode for the GaussianBlur.
auto rtc = context->priv().makeDeferredRenderTargetContextWithFallback(
- SkBackingFit::kExact, size.fWidth, size.fHeight, GrColorType::kAlpha_8,
- nullptr);
+ SkBackingFit::kExact, dimensions.fWidth, dimensions.fHeight,
+ GrColorType::kAlpha_8, nullptr);
if (!rtc) {
return nullptr;
}
@@ -81,7 +81,7 @@
rtc->colorInfo().alphaType(),
SkIPoint::Make(0, 0),
nullptr,
- SkIRect::MakeWH(size.fWidth, size.fHeight),
+ SkIRect::MakeSize(dimensions),
SkIRect::EmptyIRect(),
xformedSigma,
xformedSigma,