Flutter Engine
The Flutter Engine
|
Public Member Functions | |
DynamicIndexLValue (std::unique_ptr< LValue > p, const IndexExpression &i) | |
~DynamicIndexLValue () override | |
bool | isWritable () const override |
bool | evaluateDynamicIndices (Generator *gen) |
SlotRange | fixedSlotRange (Generator *gen) override |
AutoStack * | dynamicSlotRange () override |
bool | push (Generator *gen, SlotRange fixedOffset, AutoStack *dynamicOffset, SkSpan< const int8_t > swizzle) override |
bool | store (Generator *gen, SlotRange fixedOffset, AutoStack *dynamicOffset, SkSpan< const int8_t > swizzle) override |
Public Member Functions inherited from SkSL::RP::LValue | |
virtual | ~LValue ()=default |
virtual bool | isWritable () const =0 |
virtual SlotRange | fixedSlotRange (Generator *gen)=0 |
virtual AutoStack * | dynamicSlotRange ()=0 |
virtual SkSpan< const int8_t > | swizzle () |
virtual bool | push (Generator *gen, SlotRange fixedOffset, AutoStack *dynamicOffset, SkSpan< const int8_t > swizzle)=0 |
virtual bool | store (Generator *gen, SlotRange fixedOffset, AutoStack *dynamicOffset, SkSpan< const int8_t > swizzle)=0 |
Additional Inherited Members | |
Public Attributes inherited from SkSL::RP::LValue | |
std::unique_ptr< Expression > | fScratchExpression |
Definition at line 1016 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inlineexplicit |
Definition at line 1018 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inlineoverride |
Definition at line 1024 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inlineoverridevirtual |
Returns a stack which holds a single integer, representing the dynamic offset of the lvalue. This value does not incorporate the fixed offset. If null is returned, the lvalue doesn't have a dynamic offset. evaluateDynamicIndices
must be called before this is used.
Implements SkSL::RP::LValue.
Definition at line 1082 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inline |
Definition at line 1039 of file SkSLRasterPipelineCodeGenerator.cpp.
Returns the fixed slot range of the lvalue, after it is winnowed down to the selected field/index. The range is calculated assuming every dynamic index will evaluate to zero.
Implements SkSL::RP::LValue.
Definition at line 1075 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inlineoverridevirtual |
Returns true if this lvalue is actually writable–temporaries and uniforms are not.
Implements SkSL::RP::LValue.
Definition at line 1035 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inlineoverridevirtual |
Pushes values directly onto the stack.
Implements SkSL::RP::LValue.
Definition at line 1088 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inlineoverridevirtual |
Stores topmost values from the stack directly into the lvalue.
Implements SkSL::RP::LValue.
Definition at line 1095 of file SkSLRasterPipelineCodeGenerator.cpp.