class ShaderVariantArgs

Defined at line 26 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

Contains preprocessor definitions to be passed to a shader compiler in order

to obtain a variant of a ShaderProgram or ShaderModule. The consumers of

these args are not required to sort the definitions into a canonical order;

e.g. if you pass {FOO=1,BAR=2} and {BAR=2,FOO=1} to a ShaderProgramFactory,

it is likely to generate two different program variants that compile to

identical VkPipelines.

Public Methods

void ShaderVariantArgs (std::vector<std::pair<std::string, std::string>> defs)

Defined at line 28 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

void ShaderVariantArgs ()

Defined at line 31 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

void ShaderVariantArgs (ShaderVariantArgs && other)

Defined at line 32 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

void ShaderVariantArgs (const ShaderVariantArgs & other)

Defined at line 33 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

ShaderVariantArgs & operator= (ShaderVariantArgs && other)

Defined at line 35 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

bool operator== (const ShaderVariantArgs & other)

Inline function definitions.

Defined at line 62 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

bool operator!= (const ShaderVariantArgs & other)

Defined at line 66 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

const std::vector<std::pair<std::string, std::string>> & definitions ()

Get/set the name/value pairs of preprocessor definitions that are used in

this variant of a ShaderProgram or ShaderModule.

Defined at line 70 of file ../../src/ui/lib/escher/vk/shader_variant_args.h

void set_definitions (std::vector<std::pair<std::string, std::string>> defs)

Defined at line 75 of file ../../src/ui/lib/escher/vk/shader_variant_args.h