commit | 56cab7f9cb1a063f9085e3ae83daf3a605409d95 | [log] [tgz] |
---|---|---|
author | John Stiles <johnstiles@google.com> | Fri Sep 17 09:30:31 2021 -0400 |
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | Fri Sep 17 14:18:44 2021 +0000 |
tree | 8b7d325be22033914e694fbccee05079d68dc47a | |
parent | 7cece5e053abb6bfd3eb8f5c21a3720ecb15712c [diff] |
Update matrix-setup code in stroke tessellator. As of http://review.skia.org/449518 we no longer allow matrix constructors containing vectors that spill across multiple columns; it doesn't reliably work on all GPUs. The tessellator needed a small fixup to support this new limitation. Change-Id: I82853b6c8ae83597aab3eab611dd10072d23eca5 Bug: skia:12443 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449836 Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
diff --git a/src/gpu/tessellate/shaders/GrStrokeTessellationShader_HardwareImpl.cpp b/src/gpu/tessellate/shaders/GrStrokeTessellationShader_HardwareImpl.cpp index 3779248..1a5b83f 100644 --- a/src/gpu/tessellate/shaders/GrStrokeTessellationShader_HardwareImpl.cpp +++ b/src/gpu/tessellate/shaders/GrStrokeTessellationShader_HardwareImpl.cpp
@@ -105,7 +105,7 @@ v->codeAppend(R"( // Unpack the control points. float2 prevControlPoint = prevCtrlPtAttr; - float4x2 P = float4x2(pts01Attr, pts23Attr);)"); + float4x2 P = float4x2(pts01Attr.xy, pts01Attr.zw, pts23Attr.xy, pts23Attr.zw);)"); if (shader.stroke().isHairlineStyle()) { // Hairline case. Transform the points before tessellation. We can still hold off on the