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 |