Flutter Engine
The Flutter Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
SkSL::SPIRVCodeGenerator::Word Struct Reference

Public Types

enum  Kind {
  kNone , kSpvId , kNumber , kDefaultPrecisionResult ,
  kRelaxedPrecisionResult , kUniqueResult , kKeyedResult
}
 

Public Member Functions

 Word (SpvId id)
 
 Word (int32_t val, Kind kind)
 
bool isResult () const
 

Static Public Member Functions

static Word Number (int32_t val)
 
static Word Result (const Type &type)
 
static Word RelaxedResult ()
 
static Word UniqueResult ()
 
static Word Result ()
 
static Word KeyedResult (int32_t key)
 

Public Attributes

int32_t fValue
 
Kind fKind
 

Detailed Description

Definition at line 697 of file SkSLSPIRVCodeGenerator.cpp.

Member Enumeration Documentation

◆ Kind

Enumerator
kNone 
kSpvId 
kNumber 
kDefaultPrecisionResult 
kRelaxedPrecisionResult 
kUniqueResult 
kKeyedResult 

Definition at line 698 of file SkSLSPIRVCodeGenerator.cpp.

Constructor & Destructor Documentation

◆ Word() [1/2]

SkSL::SPIRVCodeGenerator::Word::Word ( SpvId  id)
inline

◆ Word() [2/2]

SkSL::SPIRVCodeGenerator::Word::Word ( int32_t  val,
Kind  kind 
)
inline

Definition at line 709 of file SkSLSPIRVCodeGenerator.cpp.

709: fValue(val), fKind(kind) {}

Member Function Documentation

◆ isResult()

bool SkSL::SPIRVCodeGenerator::Word::isResult ( ) const
inline

Definition at line 736 of file SkSLSPIRVCodeGenerator.cpp.

736{ return fKind >= Kind::kDefaultPrecisionResult; }

◆ KeyedResult()

static Word SkSL::SPIRVCodeGenerator::Word::KeyedResult ( int32_t  key)
inlinestatic

Definition at line 734 of file SkSLSPIRVCodeGenerator.cpp.

734{ return Word{key, Kind::kKeyedResult}; }

◆ Number()

static Word SkSL::SPIRVCodeGenerator::Word::Number ( int32_t  val)
inlinestatic

Definition at line 711 of file SkSLSPIRVCodeGenerator.cpp.

711 {
712 return Word{val, Kind::kNumber};
713 }

◆ RelaxedResult()

static Word SkSL::SPIRVCodeGenerator::Word::RelaxedResult ( )
inlinestatic

Definition at line 719 of file SkSLSPIRVCodeGenerator.cpp.

719 {
720 return Word{(int32_t)NA, kRelaxedPrecisionResult};
721 }

◆ Result() [1/2]

static Word SkSL::SPIRVCodeGenerator::Word::Result ( )
inlinestatic

Definition at line 727 of file SkSLSPIRVCodeGenerator.cpp.

727 {
728 return Word{(int32_t)NA, kDefaultPrecisionResult};
729 }

◆ Result() [2/2]

static Word SkSL::SPIRVCodeGenerator::Word::Result ( const Type type)
inlinestatic

Definition at line 715 of file SkSLSPIRVCodeGenerator.cpp.

715 {
716 return (type.hasPrecision() && !type.highPrecision()) ? RelaxedResult() : Result();
717 }
GLenum type

◆ UniqueResult()

static Word SkSL::SPIRVCodeGenerator::Word::UniqueResult ( )
inlinestatic

Definition at line 723 of file SkSLSPIRVCodeGenerator.cpp.

723 {
724 return Word{(int32_t)NA, kUniqueResult};
725 }

Member Data Documentation

◆ fKind

Kind SkSL::SPIRVCodeGenerator::Word::fKind

Definition at line 739 of file SkSLSPIRVCodeGenerator.cpp.

◆ fValue

int32_t SkSL::SPIRVCodeGenerator::Word::fValue

Definition at line 738 of file SkSLSPIRVCodeGenerator.cpp.


The documentation for this struct was generated from the following file: