MCPcopy Create free account
hub / github.com/alecazam/kram / OutputDeclarationBody

Method OutputDeclarationBody

hlslparser/src/HLSLGenerator.cpp:1016–1053  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1014}
1015
1016void HLSLGenerator::OutputDeclarationBody(const HLSLType& type, const char* name, const char* semantic /*=NULL*/, const char* registerName /*=NULL*/, HLSLExpression* assignment /*=NULL*/)
1017{
1018 m_writer.Write("%s", name);
1019
1020 if (type.array) {
1021 ASSERT(semantic == NULL);
1022 m_writer.Write("[");
1023 if (type.arraySize != NULL) {
1024 OutputExpression(type.arraySize);
1025 }
1026 m_writer.Write("]");
1027 }
1028
1029 if (semantic != NULL) {
1030 m_writer.Write(" : %s", semantic);
1031 }
1032
1033 if (registerName != NULL) {
1034 if (m_isInsideBuffer) {
1035 m_writer.Write(" : packoffset(%s)", registerName);
1036 }
1037 else {
1038 m_writer.Write(" : register(%s)", registerName);
1039 }
1040 }
1041
1042 if (assignment != NULL && !IsSamplerType(type)) {
1043 m_writer.Write(" = ");
1044 if (type.array) {
1045 m_writer.Write("{ ");
1046 OutputExpressionList(assignment);
1047 m_writer.Write(" }");
1048 }
1049 else {
1050 OutputExpression(assignment);
1051 }
1052 }
1053}
1054
1055void HLSLGenerator::OutputDeclaration(const HLSLType& type, const char* name, const char* semantic /*=NULL*/, const char* registerName /*=NULL*/, HLSLExpression* assignment /*=NULL*/)
1056{

Callers

nothing calls this directly

Calls 2

IsSamplerTypeFunction · 0.85
WriteMethod · 0.80

Tested by

no test coverage detected