// The local invocation size of a compute program.
kLocalSizeX = 1 << 20,
kLocalSizeY = 1 << 21,
kLocalSizeZ = 1 << 22,
};
} // namespace SkSL
SK_MAKE_BITMASK_OPS(SkSL::LayoutFlag);
namespace SkSL {
using LayoutFlags = SkEnumBitMask<SkSL::LayoutFlag>;
/** * Represents a layout block appearing before a variable declaration, as in: * * layout (location = 0) int x;
*/ struct Layout {
Layout(LayoutFlags flags, int location, int offset, int binding, int index, int set, int builtin, int inputAttachmentIndex)
: fFlags(flags)
, fLocation(location)
, fOffset(offset)
, fBinding(binding)
, fIndex(index)
, fSet(set)
, fBuiltin(builtin)
, fInputAttachmentIndex(inputAttachmentIndex) {}
/** * Verifies that only permitted layout flags are included. Reports errors and returns false in * the event of a violation.
*/ bool checkPermittedLayout(const Context& context,
Position pos,
LayoutFlags permittedLayoutFlags) const;
LayoutFlags fFlags = LayoutFlag::kNone; int fLocation = -1; int fOffset = -1; int fBinding = -1; int fTexture = -1; int fSampler = -1; int fIndex = -1; int fSet = -1; // builtin comes from SPIR-V and identifies which particular builtin value this object // represents. int fBuiltin = -1; // input_attachment_index comes from Vulkan/SPIR-V to connect a shader variable to the a // corresponding attachment on the subpass in which the shader is being used. int fInputAttachmentIndex = -1;
// The local invocation size dimensions of a compute program. int fLocalSizeX = -1; int fLocalSizeY = -1; int fLocalSizeZ = -1;
};
} // namespace SkSL
#endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.