CCPR: Avoid left shifts on negative numbers

(ASAN doesn't like them.)

Bug: skia:
Change-Id: Id28d3ea9cabc9895cb097eae3e437f557178fe1c
Reviewed-on: https://skia-review.googlesource.com/54180
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This commit is contained in:
Chris Dalton 2017-10-03 11:32:11 -06:00 committed by Skia Commit-Bot
parent 6e5f48f666
commit 364e24809d

View File

@ -153,7 +153,7 @@ void GrCCPRCoverageOpsBuilder::saveParsedPath(ScissorMode scissorMode,
fPathsInfo.push_back() = {
scissorMode,
(atlasOffsetY << 16) | (atlasOffsetX & 0xffff),
(int32_t) (((uint32_t) (int32_t) atlasOffsetY << 16) | (atlasOffsetX & 0xffff)),
std::move(fTerminatingOp)
};
@ -201,7 +201,7 @@ void GrCCPRCoverageOpsBuilder::emitOp(SkISize drawBounds) {
//
// Returns the next triangle instance after the final one emitted.
static TriangleInstance* emit_recursive_fan(SkTArray<int32_t, true>& indices, int firstIndex,
int indexCount, int packedAtlasOffset,
int indexCount, int32_t packedAtlasOffset,
TriangleInstance out[]) {
if (indexCount < 3) {
return out;