|
|
Created:
4 years, 3 months ago by vjiaoblack Modified:
4 years, 3 months ago CC:
reviews_skia.org Target Ref:
refs/heads/master Project:
skia Visibility:
Public. |
DescriptionAdded in Radial Shadows
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311223004
Committed: https://skia.googlesource.com/skia/+/b2796fdd9eab88836795d6a54cf6811af6ecdc81
Patch Set 1 #Patch Set 2 : removed extra new line, also fixed some overlength lines #
Total comments: 43
Patch Set 3 : made req changes #
Total comments: 26
Patch Set 4 : made this work. Also made req changes. #Patch Set 5 : removed extraneous file created during merging #
Total comments: 7
Patch Set 6 : made req changse #Patch Set 7 : made req comment change! #Patch Set 8 : disabled shadows #Patch Set 9 : moving lights #
Messages
Total messages: 28 (11 generated)
Description was changed from ========== added in the Sk2DShadowMapShader from a branch where it worked BUG=skia: ========== to ========== added in the Sk2DShadowMapShader from a branch where it worked BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311223004 ==========
vjiaoblack@google.com changed reviewers: + jvanverth@google.com, robertphillips@google.com
Here is the extra shader necessary for radial shadows. I'm not sure about the naming, and there are definitely bunches of shader code I'll have to mess with to get it to work well with the current version of shader code (and also to get it to look nice). But this is the frame of it!
This is now ready for review.
https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... File src/core/Sk2DShadowMapShader.cpp (right): https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:19: This subclass of shader applies shadowing Needs a little more detail here. "... shadowing radially around a light"? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:23: /** Create a new shadowing shader that shadows "... shadows radially around a light"? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:26: sk_sp<SkLights> lights, Nit: indent to ( https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:28: : fOccluderShader(std::move(occluderShader)) Nit: indent 4 spaces https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:44: SkShader::Context* occluderContext, Nit: indent to ( https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:63: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sk2DShadowMapShaderImpl) Indent https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:97: class TwoDShadowMapFP : public GrFragmentProcessor { RadialShadowMapFP? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:100: sk_sp<SkLights> light, Indent to ( https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:121: const char* lightDirUniName = nullptr; lightPosUniName? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:145: // the above isn't good enough. We need to modify the indexing coordinate. Is this a TODO? Or do you plan to do it in this change? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:152: fragBuilder->codeAppendf("float step = 0.0025;"); Is there an assumption of texture size here? Should step be 1/fHeightUni? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:155: // TODO use correct light positions Could use a comment explaining what this loop is doing and what the structure of the texture is. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:159: fragBuilder->codeAppendf("float theta = 3.1415 * 1.5 + norm.x * 3.1415;"); It looks like this will vary from pi/2 to 5*pi/2. Is that right? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:160: fragBuilder->codeAppendf("float r = (1.0 + norm.y) * 0.5;"); I think this is just coords.y again. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:162: "vec2(-r * sin(theta), -r * cos(theta)) /2.0 + 0.5;"); The -r is odd to me -- negative polar coords? And I don't think this will compile: you're adding a float (0.5) to a vec2. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:214: const char* name() const override { return "twoDShadowMapFP"; } "radialShadowMapFP" https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:245: SkVector3 fLightDir; There's no direction in this case, so fLightPos? https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:273: Sk2DShadowMapShaderImpl::ShadowMap2DShaderContext::ShadowMap2DShaderContext( SkRadialShadowMapShaderImpl https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:329: for (int i = 0; i < n; ++i) { // Fill with white for now https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:330: SkColor3f accum = SkColor3f::Make(1.0f, 1.0f, 1.0f); This and the convert() could be outside the loop. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:419: SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Sk2DShadowMapShaderImpl) Indent https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... File src/core/Sk2DShadowMapShader.h (right): https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.h:17: class SK_API Sk2DShadowMapShader { SkRadialShadowMapShader? (use 'git mv' to rename the files)
Renamed a bunch of stuff and slightly reduced shader code's potential fluff https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... File src/core/Sk2DShadowMapShader.cpp (right): https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:19: This subclass of shader applies shadowing On 2016/09/07 14:47:23, jvanverth1 wrote: > Needs a little more detail here. "... shadowing radially around a light"? Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:23: /** Create a new shadowing shader that shadows On 2016/09/07 14:47:23, jvanverth1 wrote: > "... shadows radially around a light"? Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:26: sk_sp<SkLights> lights, On 2016/09/07 14:47:23, jvanverth1 wrote: > Nit: indent to ( Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:28: : fOccluderShader(std::move(occluderShader)) On 2016/09/07 14:47:23, jvanverth1 wrote: > Nit: indent 4 spaces Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:44: SkShader::Context* occluderContext, On 2016/09/07 14:47:22, jvanverth1 wrote: > Nit: indent to ( Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:63: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sk2DShadowMapShaderImpl) On 2016/09/07 14:47:23, jvanverth1 wrote: > Indent Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:97: class TwoDShadowMapFP : public GrFragmentProcessor { On 2016/09/07 14:47:23, jvanverth1 wrote: > RadialShadowMapFP? Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:100: sk_sp<SkLights> light, On 2016/09/07 14:47:23, jvanverth1 wrote: > Indent to ( Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:121: const char* lightDirUniName = nullptr; On 2016/09/07 14:47:23, jvanverth1 wrote: > lightPosUniName? Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:145: // the above isn't good enough. We need to modify the indexing coordinate. On 2016/09/07 14:47:22, jvanverth1 wrote: > Is this a TODO? Or do you plan to do it in this change? It's an explanation of what the code below does https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:152: fragBuilder->codeAppendf("float step = 0.0025;"); On 2016/09/07 14:47:24, jvanverth1 wrote: > Is there an assumption of texture size here? Should step be 1/fHeightUni? Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:155: // TODO use correct light positions On 2016/09/07 14:47:23, jvanverth1 wrote: > Could use a comment explaining what this loop is doing and what the structure of > the texture is. Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:159: fragBuilder->codeAppendf("float theta = 3.1415 * 1.5 + norm.x * 3.1415;"); On 2016/09/07 14:47:23, jvanverth1 wrote: > It looks like this will vary from pi/2 to 5*pi/2. Is that right? Tis right for now. (The light is fixed) https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:162: "vec2(-r * sin(theta), -r * cos(theta)) /2.0 + 0.5;"); On 2016/09/07 14:47:23, jvanverth1 wrote: > The -r is odd to me -- negative polar coords? And I don't think this will > compile: you're adding a float (0.5) to a vec2. That compiles to + vec(0.5, 0.5) https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:214: const char* name() const override { return "twoDShadowMapFP"; } On 2016/09/07 14:47:23, jvanverth1 wrote: > "radialShadowMapFP" Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:245: SkVector3 fLightDir; On 2016/09/07 14:47:23, jvanverth1 wrote: > There's no direction in this case, so fLightPos? Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:273: Sk2DShadowMapShaderImpl::ShadowMap2DShaderContext::ShadowMap2DShaderContext( On 2016/09/07 14:47:23, jvanverth1 wrote: > SkRadialShadowMapShaderImpl Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:329: for (int i = 0; i < n; ++i) { On 2016/09/07 14:47:23, jvanverth1 wrote: > // Fill with white for now Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:330: SkColor3f accum = SkColor3f::Make(1.0f, 1.0f, 1.0f); On 2016/09/07 14:47:23, jvanverth1 wrote: > This and the convert() could be outside the loop. Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.cpp:419: SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Sk2DShadowMapShaderImpl) On 2016/09/07 14:47:23, jvanverth1 wrote: > Indent Done. https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... File src/core/Sk2DShadowMapShader.h (right): https://codereview.chromium.org/2311223004/diff/20001/src/core/Sk2DShadowMapS... src/core/Sk2DShadowMapShader.h:17: class SK_API Sk2DShadowMapShader { On 2016/09/07 14:47:24, jvanverth1 wrote: > SkRadialShadowMapShader? (use 'git mv' to rename the files) Done.
https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... File src/core/SkRadialShadowMapShader.cpp (right): https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:102: GrContext* context) { fLightPos https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:202: private: fLightPos & fLightPosUni https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:224: add space between '{' & 'r' in these two https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:255: sk_sp<GrFragmentProcessor> can you put the parameters on their own line rather than splitting after the return type ? fpArgs https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:259: shadowFP https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:260: sk_sp<GrFragmentProcessor> shadowfp = sk_make_sp<RadialShadowMapFP>(std::move(occluderFP), line these 3 up with the first one You're moving a member variable. Is that intentional? https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:323: // larger is better (fewer times we have to loop), but we shouldn't Does each one really cost 16 bytes? https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:326: void SkRadialShadowMapShaderImpl::ShadowMap2DShaderContext::shadeSpan(int x, int y, line these two params up with the above '(' https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:347: void SkRadialShadowMapShaderImpl::toString(SkString* str) const { Wrong string https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:365: return sk_make_sp<SkRadialShadowMapShaderImpl>(std::move(occluderShader), line these two up with above '(' https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:385: SkShader::Context* SkRadialShadowMapShaderImpl::onCreateContext(const ContextRec& rec, line this guy up with above https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:406: sk_sp<SkShader> SkRadialShadowMapShader::Make(sk_sp<SkShader> occluderShader, line up https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:410: // TODO: Use paint's color in absence of a diffuseShader normalSource ? diffuseShader ? https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:415: return sk_make_sp<SkRadialShadowMapShaderImpl>(std::move(occluderShader), line up https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:421: tabbed over too far https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... File src/core/SkRadialShadowMapShader.h (right): https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.h:1: git mv/* git mv ? https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.h:8: SkRadialShadowMapShader_DEFINED
https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... File src/core/SkRadialShadowMapShader.cpp (right): https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:202: private: On 2016/09/07 17:11:55, robertphillips wrote: > fLightPos & fLightPosUni Done. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:224: On 2016/09/07 17:11:55, robertphillips wrote: > add space between '{' & 'r' in these two Done. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:255: sk_sp<GrFragmentProcessor> On 2016/09/07 17:11:55, robertphillips wrote: > can you put the parameters on their own line rather than splitting after the > return type ? > fpArgs Done. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:259: On 2016/09/07 17:11:55, robertphillips wrote: > shadowFP Done. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:260: sk_sp<GrFragmentProcessor> shadowfp = sk_make_sp<RadialShadowMapFP>(std::move(occluderFP), On 2016/09/07 17:11:55, robertphillips wrote: > line these 3 up with the first one > > You're moving a member variable. Is that intentional? My bad. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:323: // larger is better (fewer times we have to loop), but we shouldn't On 2016/09/07 17:11:55, robertphillips wrote: > Does each one really cost 16 bytes? I think so - I also copied it from Diego's code, who copied it from another preexisting shader :P https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:326: void SkRadialShadowMapShaderImpl::ShadowMap2DShaderContext::shadeSpan(int x, int y, On 2016/09/07 17:11:55, robertphillips wrote: > line these two params up with the above '(' Done. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... File src/core/SkRadialShadowMapShader.h (right): https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.h:1: git mv/* On 2016/09/07 17:11:55, robertphillips wrote: > git mv ? Done. https://codereview.chromium.org/2311223004/diff/40001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.h:8: On 2016/09/07 17:11:55, robertphillips wrote: > SkRadialShadowMapShader_DEFINED Done.
Description was changed from ========== added in the Sk2DShadowMapShader from a branch where it worked BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311223004 ========== to ========== Added in Radial Shadows BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311223004 ==========
https://codereview.chromium.org/2311223004/diff/80001/src/core/SkCanvas.cpp File src/core/SkCanvas.cpp (right): https://codereview.chromium.org/2311223004/diff/80001/src/core/SkCanvas.cpp#n... src/core/SkCanvas.cpp:3317: povDepthShader, fLights, Shouldn't this be just the current light instead of fLights? https://codereview.chromium.org/2311223004/diff/80001/src/core/SkCanvas.cpp#n... src/core/SkCanvas.cpp:3324: depthMapCanvas->setLights(fLights); Same here: just the current light? https://codereview.chromium.org/2311223004/diff/80001/src/core/SkShadowShader... File src/core/SkShadowShader.cpp (right): https://codereview.chromium.org/2311223004/diff/80001/src/core/SkShadowShader... src/core/SkShadowShader.cpp:313: fragBuilder->codeAppendf("%s.x = (theta + 3.1415) / (2.0 * 3.1415);", // map output of atan to [0, 1] ?
https://codereview.chromium.org/2311223004/diff/80001/src/core/SkCanvas.cpp File src/core/SkCanvas.cpp (right): https://codereview.chromium.org/2311223004/diff/80001/src/core/SkCanvas.cpp#n... src/core/SkCanvas.cpp:3317: povDepthShader, fLights, On 2016/09/08 19:57:27, jvanverth1 wrote: > Shouldn't this be just the current light instead of fLights? Done. https://codereview.chromium.org/2311223004/diff/80001/src/core/SkCanvas.cpp#n... src/core/SkCanvas.cpp:3324: depthMapCanvas->setLights(fLights); On 2016/09/08 19:57:27, jvanverth1 wrote: > Same here: just the current light? Done. https://codereview.chromium.org/2311223004/diff/80001/src/core/SkShadowShader... File src/core/SkShadowShader.cpp (right): https://codereview.chromium.org/2311223004/diff/80001/src/core/SkShadowShader... src/core/SkShadowShader.cpp:313: fragBuilder->codeAppendf("%s.x = (theta + 3.1415) / (2.0 * 3.1415);", On 2016/09/08 19:57:27, jvanverth1 wrote: > // map output of atan to [0, 1] ? Done.
https://codereview.chromium.org/2311223004/diff/80001/src/core/SkRadialShadow... File src/core/SkRadialShadowMapShader.cpp (right): https://codereview.chromium.org/2311223004/diff/80001/src/core/SkRadialShadow... src/core/SkRadialShadowMapShader.cpp:143: // the above isn't good enough. so we need to modify the indexing coordinate as below How about: // Modify the input texture coordinates to index into our 1D output
lgtm
The CQ bit was checked by vjiaoblack@google.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by vjiaoblack@google.com
disabled shadows in the gypfiles
The CQ bit was checked by vjiaoblack@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lights can move now
Update lgtm
The CQ bit was checked by vjiaoblack@google.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Added in Radial Shadows BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311223004 ========== to ========== Added in Radial Shadows BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311223004 Committed: https://skia.googlesource.com/skia/+/b2796fdd9eab88836795d6a54cf6811af6ecdc81 ==========
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as https://skia.googlesource.com/skia/+/b2796fdd9eab88836795d6a54cf6811af6ecdc81 |