SkColorCubeFilter::SkColorCubeFilter(sk_sp<SkData> cubeData, int cubeDimension) : fCubeData(std::move(cubeData)) , fUniqueID(SkNextColorCubeUniqueID()) , fCache(cubeDimension) {}
SkColorCubeFilter::SkColorCubeFilter(SkData* cubeData, int cubeDimension) : fCubeData(SkRef(cubeData)) , fUniqueID(SkNextColorCubeUniqueID()) , fCache(cubeDimension) { }
SkColorCubeFilter::SkColorCubeFilter(SkReadBuffer& buffer) : fCache(buffer.readInt()) { fCubeData.reset(buffer.readByteArrayAsData()); buffer.validate(is_valid_3D_lut(fCubeData, fCache.cubeDimension())); fUniqueID = SkNextColorCubeUniqueID(); }