Lines Matching +full:- +full:- +full:steps
4 * Use of this source code is governed by a BSD-style license that can be
45 // - maybe if it just says what it's primitive type is and instanced/indexed/etc. and then
50 // - Does Renderer make RenderStepFactories that create steps for each DrawList::Draw?
51 // - Does DrawList->DrawPass conversion build a separate array of blind data that the
53 // - Does each DrawList::Draw have extra space (e.g. 8 bytes) that steps can cache data in?
64 * The actual technique for rasterizing a high-level draw recorded in a DrawList is handled by a
67 * However, the RenderStep executions for multiple draws can be re-arranged so batches of each
68 * step can be performed in a larger GPU operation. This re-arranging relies on accurate
69 * determination of the DisjointStencilIndex for each draw so that stencil steps are not corrupted
71 * for each draw to ensure steps are not re-arranged in a way that violates the original draw order.
73 * Renderer itself is non-virtual since it simply has to point to a list of RenderSteps. RenderSteps
75 * possible for certain types of steps, e.g. a bounding box cover, to be re-used across different
76 * Renderers even if the preceeding steps were different.
90 // The maximum number of render steps that any Renderer is allowed to have.
93 SkSpan<const RenderStep* const> steps() const { in steps() function
103 // max render steps is 4, so just spell the options out for now...
118 Renderer(const char* name, std::array<const RenderStep*, N> steps) in Renderer() argument
126 fSteps[i] = steps[i]; in Renderer()
127 fRequiresStencil |= fSteps[i]->requiresStencil(); in Renderer()
128 fRequiresMSAA |= fSteps[i]->requiresMSAA(); in Renderer()
129 SkDEBUGCODE(performsShading |= fSteps[i]->performsShading()); in Renderer()