MCPcopy Create free account
hub / github.com/KhronosGroup/glslang / initialize

Method initialize

glslang/MachineIndependent/Initialize.cpp:595–7346  ·  view source on GitHub ↗

Add all context-independent built-in functions and variables that are present for the given version and profile. Share common ones across stages, otherwise make stage-specific entries. Most built-ins variables can be added as simple text strings. Some need to be added programmatically, which is done later in IdentifyBuiltIns() below.

Source from the content-addressed store, hash-verified

593// be added programmatically, which is done later in IdentifyBuiltIns() below.
594//
595void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvVersion)
596{
597 addTabledBuiltins(version, profile, spvVersion);
598
599 //============================================================================
600 //
601 // Prototypes for built-in functions used repeatly by different shaders
602 //
603 //============================================================================
604
605 //
606 // Derivatives Functions.
607 //
608 TString derivatives (
609 "float dFdx(float p);"
610 "vec2 dFdx(vec2 p);"
611 "vec3 dFdx(vec3 p);"
612 "vec4 dFdx(vec4 p);"
613
614 "float dFdy(float p);"
615 "vec2 dFdy(vec2 p);"
616 "vec3 dFdy(vec3 p);"
617 "vec4 dFdy(vec4 p);"
618
619 "float fwidth(float p);"
620 "vec2 fwidth(vec2 p);"
621 "vec3 fwidth(vec3 p);"
622 "vec4 fwidth(vec4 p);"
623 );
624
625 TString derivativeControls (
626 "float dFdxFine(float p);"
627 "vec2 dFdxFine(vec2 p);"
628 "vec3 dFdxFine(vec3 p);"
629 "vec4 dFdxFine(vec4 p);"
630
631 "float dFdyFine(float p);"
632 "vec2 dFdyFine(vec2 p);"
633 "vec3 dFdyFine(vec3 p);"
634 "vec4 dFdyFine(vec4 p);"
635
636 "float fwidthFine(float p);"
637 "vec2 fwidthFine(vec2 p);"
638 "vec3 fwidthFine(vec3 p);"
639 "vec4 fwidthFine(vec4 p);"
640
641 "float dFdxCoarse(float p);"
642 "vec2 dFdxCoarse(vec2 p);"
643 "vec3 dFdxCoarse(vec3 p);"
644 "vec4 dFdxCoarse(vec4 p);"
645
646 "float dFdyCoarse(float p);"
647 "vec2 dFdyCoarse(vec2 p);"
648 "vec3 dFdyCoarse(vec3 p);"
649 "vec4 dFdyCoarse(vec4 p);"
650
651 "float fwidthCoarse(float p);"
652 "vec2 fwidthCoarse(vec2 p);"

Callers 2

InitializeSymbolTablesFunction · 0.45

Calls 5

IncludeLegacyFunction · 0.85
appendMethod · 0.80
c_strMethod · 0.80
setImageMethod · 0.80
getStringMethod · 0.45

Tested by

no test coverage detected