Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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 681 of file SkSLSPIRVCodeGenerator.cpp.

Member Enumeration Documentation

◆ Kind

Enumerator
kNone 
kSpvId 
kNumber 
kDefaultPrecisionResult 
kRelaxedPrecisionResult 
kUniqueResult 
kKeyedResult 

Definition at line 682 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 693 of file SkSLSPIRVCodeGenerator.cpp.

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

Member Function Documentation

◆ isResult()

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

Definition at line 720 of file SkSLSPIRVCodeGenerator.cpp.

◆ KeyedResult()

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

◆ Number()

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

Definition at line 695 of file SkSLSPIRVCodeGenerator.cpp.

695 {
696 return Word{val, Kind::kNumber};
697 }

◆ RelaxedResult()

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

Definition at line 703 of file SkSLSPIRVCodeGenerator.cpp.

703 {
704 return Word{(int32_t)NA, kRelaxedPrecisionResult};
705 }

◆ Result() [1/2]

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

Definition at line 711 of file SkSLSPIRVCodeGenerator.cpp.

711 {
712 return Word{(int32_t)NA, kDefaultPrecisionResult};
713 }

◆ Result() [2/2]

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

Definition at line 699 of file SkSLSPIRVCodeGenerator.cpp.

699 {
700 return (type.hasPrecision() && !type.highPrecision()) ? RelaxedResult() : Result();
701 }

◆ UniqueResult()

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

Definition at line 707 of file SkSLSPIRVCodeGenerator.cpp.

707 {
708 return Word{(int32_t)NA, kUniqueResult};
709 }

Member Data Documentation

◆ fKind

Kind SkSL::SPIRVCodeGenerator::Word::fKind

Definition at line 723 of file SkSLSPIRVCodeGenerator.cpp.

◆ fValue

int32_t SkSL::SPIRVCodeGenerator::Word::fValue

Definition at line 722 of file SkSLSPIRVCodeGenerator.cpp.


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