Name Description Size
base
chromium
gpu
SkBitmaskEnum.h 1807
SkChecksum.h uint32_t -> uint32_t hash, useful for when you're about to trucate this hash but you suspect its low bits aren't well mixed. This is the Murmur3 finalizer. 2226
SkColorData.h See ITU-R Recommendation BT.709 at http://www.itu.int/rec/R-REC-BT.709/ . 13724
SkEncodedInfo.h We strive to make the number of components per pixel obvious through our naming conventions. Ex: kRGB has 3 components. kRGBA has 4 components. This sometimes results in redundant Alpha and Color information. Ex: kRGB images must also be kOpaque. 8866
SkGainmapInfo.h Gainmap rendering parameters. Suppose our display has HDR to SDR ratio of H and we wish to display an image with gainmap on this display. Let B be the pixel value from the base image in a color space that has the primaries of the base image and a linear transfer function. Let G be the pixel value from the gainmap. Let D be the output pixel in the same color space as B. The value of D is computed as follows: First, let W be a weight parameter determing how much the gainmap will be applied. W = clamp((log(H) - log(fDisplayRatioSdr)) / (log(fDisplayRatioHdr) - log(fDisplayRatioSdr), 0, 1) Next, let L be the gainmap value in log space. We compute this from the value G that was sampled from the texture as follows: L = mix(log(fGainmapRatioMin), log(fGainmapRatioMax), pow(G, fGainmapGamma)) Finally, apply the gainmap to compute D, the displayed pixel. If the base image is SDR then compute: D = (B + fEpsilonSdr) * exp(L * W) - fEpsilonHdr If the base image is HDR then compute: D = (B + fEpsilonHdr) * exp(L * (W - 1)) - fEpsilonSdr In the above math, log() is a natural logarithm and exp() is natural exponentiation. Note, however, that the base used for the log() and exp() functions does not affect the results of the computation (it cancels out, as long as the same base is used throughout). 3461
SkGainmapShader.h A gainmap shader will apply a gainmap to an base image using the math described alongside the definition of SkGainmapInfo. 1969
SkIDChangeListener.h Used to be notified when a gen/unique ID is invalidated, typically to preemptively purge associated items from a cache that are no longer reachable. The listener can be marked for deregistration if the cached item is remove before the listener is triggered. This prevents unbounded listener growth when cache items are routinely removed before the gen ID/unique ID is invalidated. 2332
SkJpegGainmapEncoder.h Encode a JpegR image to |dst|. The base image is specified by |base|, and |baseOptions| controls the encoding behavior for the base image. The gainmap image is specified by |gainmap|, and |gainmapOptions| controls the encoding behavior for the gainmap image. The rendering behavior of the gainmap image is provided in |gainmapInfo|. Not all gainmap based images are compatible with JpegR. If the image is not compatible with JpegR, then convert the gainmap to a format that is capable with JpegR. This conversion may result in less precise quantization of the gainmap image. Returns true on success. Returns false on an invalid or unsupported |src|. 2687
SkOpts_spi.h 571
SkPathRef.h Holds the path verbs and points. It is versioned by a generation ID. None of its public methods modify the contents. To modify or append to the verbs/points wrap the SkPathRef in an SkPathRef::Editor object. Installing the editor resets the generation ID. It also performs copy-on-write if the SkPathRef is shared by multiple SkPaths. The caller passes the Editor's constructor a pointer to a sk_sp<SkPathRef>, which may be updated to point to a new SkPathRef after the editor's constructor returns. The points and verbs are stored in a single allocation. The points are at the begining of the allocation while the verbs are stored at end of the allocation, in reverse order. Thus the points and verbs both grow into the middle of the allocation until the meet. To access verb i in the verb array use ref.verbs()[~i] (because verbs() returns a pointer just beyond the first logical verb or the last verb in memory). 19346
SkShadowFlags.h The occluding object is not opaque. Knowing that the occluder is opaque allows us to cull shadow geometry behind it and improve performance. 952
SkSLDefines.h Returns a new ExpressionArray containing a clone of every element. 2010
SkSLIRNode.h Represents a node in the intermediate representation (IR) tree. The IR is a fully-resolved version of the program (all types determined, everything validated), ready for code generation. 3058
SkSLLayout.h Represents a layout block appearing before a variable declaration, as in: layout (location = 0) int x; 2809
SkSLModifiers.h A set of modifier keywords (in, out, uniform, etc.) appearing before a declaration. 4886
SkSLProgramElement.h Represents a top-level element (e.g. function or global variable) in a program. 805
SkSLProgramKind.h SkSL supports several different program kinds. 1088
SkSLSampleUsage.h Represents all of the ways that a fragment processor is sampled by its parent. 2586
SkSLStatement.h Abstract supertype of all statements. 814
SkSLString.h 1490
SkSLSymbol.h Represents a symboltable entry. 1186
SkSpinlock.h 1703
SkWeakRefCnt.h \class SkWeakRefCnt SkWeakRefCnt is the base class for objects that may be shared by multiple objects. When an existing strong owner wants to share a reference, it calls ref(). When a strong owner wants to release its reference, it calls unref(). When the shared object's strong reference count goes to zero as the result of an unref() call, its (virtual) weak_dispose method is called. It is an error for the destructor to be called explicitly (or via the object going out of scope on the stack or calling delete) if getRefCnt() > 1. In addition to strong ownership, an owner may instead obtain a weak reference by calling weak_ref(). A call to weak_ref() must be balanced by a call to weak_unref(). To obtain a strong reference from a weak reference, call try_ref(). If try_ref() returns true, the owner's pointer is now also a strong reference on which unref() must be called. Note that this does not affect the original weak reference, weak_unref() must still be called. When the weak reference count goes to zero, the object is deleted. While the weak reference count is positive and the strong reference count is zero the object still exists, but will be in the disposed state. It is up to the object to define what this means. Note that a strong reference implicitly implies a weak reference. As a result, it is allowable for the owner of a strong ref to call try_ref(). This will have the same effect as calling ref(), but may be more expensive. Example: SkWeakRefCnt myRef = strongRef.weak_ref(); ... // strongRef.unref() may or may not be called if (myRef.try_ref()) { ... // use myRef myRef.unref(); } else { // myRef is in the disposed state } myRef.weak_unref(); 6392