mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
[Misc] (All): Run format_code.sh
This commit is contained in:
@@ -139,7 +139,9 @@ namespace MobileGL {
|
||||
tshader->setEnvInput(glslang::EShSourceGlsl, lang, glslang::EShClientVulkan, 450);
|
||||
tshader->setEnvClient(glslang::EShClientVulkan, glslang::EShTargetVulkan_1_3);
|
||||
tshader->setEnvTarget(glslang::EShTargetSpv,
|
||||
((attrib.flags & ShaderCompileBits::EmitDiscardAsDemote) ? glslang::EShTargetSpv_1_6 : glslang::EShTargetSpv_1_5));
|
||||
((attrib.flags & ShaderCompileBits::EmitDiscardAsDemote)
|
||||
? glslang::EShTargetSpv_1_6
|
||||
: glslang::EShTargetSpv_1_5));
|
||||
}
|
||||
tshader->setAutoMapLocations(true);
|
||||
tshader->setAutoMapBindings(true);
|
||||
@@ -192,7 +194,8 @@ namespace MobileGL {
|
||||
return program;
|
||||
}
|
||||
|
||||
Result<Vector<Vector<unsigned>>> ShaderCompiler::GetSpirvBinaryFromProgram(const ProgramBinaryAttrib &attrib) {
|
||||
Result<Vector<Vector<unsigned>>> ShaderCompiler::GetSpirvBinaryFromProgram(
|
||||
const ProgramBinaryAttrib& attrib) {
|
||||
glslang::SpvOptions spvOptions;
|
||||
spvOptions.disableOptimizer = false;
|
||||
|
||||
|
||||
@@ -93,7 +93,8 @@ namespace MobileGL {
|
||||
SPVC_CHK_RESULT(spvc_compiler_type_struct_member_offset(compiler, type, j, &memberOffset);)
|
||||
metadata.plainUniformOffsetsInUBO[memberName] = memberOffset;
|
||||
SizeT memberSize = 0;
|
||||
SPVC_CHK_RESULT(spvc_compiler_get_declared_struct_member_size(compiler, type, j, &memberSize);)
|
||||
SPVC_CHK_RESULT(
|
||||
spvc_compiler_get_declared_struct_member_size(compiler, type, j, &memberSize);)
|
||||
metadata.plainUniformMemberSizesInBytes[memberName] = memberSize;
|
||||
|
||||
auto memberTypeId = spvc_type_get_member_type(type, j);
|
||||
|
||||
@@ -26,26 +26,25 @@ namespace MobileGL {
|
||||
|
||||
static Uint32 getByteSizeOfBaseType(const spvc_basetype type) {
|
||||
switch (type) {
|
||||
case SPVC_BASETYPE_INT8:
|
||||
case SPVC_BASETYPE_UINT8:
|
||||
return 1;
|
||||
case SPVC_BASETYPE_INT16:
|
||||
case SPVC_BASETYPE_UINT16:
|
||||
case SPVC_BASETYPE_FP16:
|
||||
return 2;
|
||||
case SPVC_BASETYPE_INT32:
|
||||
case SPVC_BASETYPE_UINT32:
|
||||
case SPVC_BASETYPE_FP32:
|
||||
return 4;
|
||||
case SPVC_BASETYPE_INT64:
|
||||
case SPVC_BASETYPE_UINT64:
|
||||
case SPVC_BASETYPE_FP64:
|
||||
return 8;
|
||||
default:
|
||||
return 0;
|
||||
case SPVC_BASETYPE_INT8:
|
||||
case SPVC_BASETYPE_UINT8:
|
||||
return 1;
|
||||
case SPVC_BASETYPE_INT16:
|
||||
case SPVC_BASETYPE_UINT16:
|
||||
case SPVC_BASETYPE_FP16:
|
||||
return 2;
|
||||
case SPVC_BASETYPE_INT32:
|
||||
case SPVC_BASETYPE_UINT32:
|
||||
case SPVC_BASETYPE_FP32:
|
||||
return 4;
|
||||
case SPVC_BASETYPE_INT64:
|
||||
case SPVC_BASETYPE_UINT64:
|
||||
case SPVC_BASETYPE_FP64:
|
||||
return 8;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
struct SpvcMetadata {
|
||||
|
||||
@@ -5,36 +5,34 @@
|
||||
#include "UniformTraverser.h"
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
namespace ShaderTranspiler {
|
||||
void UniformTraverser::visitSymbol(glslang::TIntermSymbol *symbol) {
|
||||
auto parent = getParentNode();
|
||||
if (!parent)
|
||||
return;
|
||||
auto parentAgg = parent->getAsAggregate();
|
||||
if (!parentAgg || parentAgg->getOp() != glslang::EOpLinkerObjects)
|
||||
return;
|
||||
namespace MG_Util {
|
||||
namespace ShaderTranspiler {
|
||||
void UniformTraverser::visitSymbol(glslang::TIntermSymbol* symbol) {
|
||||
auto parent = getParentNode();
|
||||
if (!parent) return;
|
||||
auto parentAgg = parent->getAsAggregate();
|
||||
if (!parentAgg || parentAgg->getOp() != glslang::EOpLinkerObjects) return;
|
||||
|
||||
const auto &type = symbol->getType();
|
||||
if (symbol->getQualifier().isUniform() && type.getBasicType() != glslang::EbtSampler) {
|
||||
m_collectedSymbols.emplace_back(symbol);
|
||||
// auto& name = symbol->getName();
|
||||
// auto qualifier = symbol->getQualifier();
|
||||
//
|
||||
// printf("layout(location = %d) uniform %s\n", qualifier.layoutLocation, name.c_str());
|
||||
// auto &uniform = uniforms.emplace_back();
|
||||
// uniform.name = name;
|
||||
// uniform.storageQualifier = qualifier.storage;
|
||||
// uniform.layoutLocation = qualifier.layoutLocation;
|
||||
// uniform.layoutBinding = qualifier.layoutBinding;
|
||||
// uniform.layoutPacking = qualifier.layoutPacking;
|
||||
}
|
||||
// else if (type.getBasicType() == glslang::EbtSampler) {
|
||||
// auto &uniform = samplers.emplace_back();
|
||||
// uniform.name = symbol->getName();
|
||||
// uniform.sampler = type.getSampler();
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
const auto& type = symbol->getType();
|
||||
if (symbol->getQualifier().isUniform() && type.getBasicType() != glslang::EbtSampler) {
|
||||
m_collectedSymbols.emplace_back(symbol);
|
||||
// auto& name = symbol->getName();
|
||||
// auto qualifier = symbol->getQualifier();
|
||||
//
|
||||
// printf("layout(location = %d) uniform %s\n", qualifier.layoutLocation, name.c_str());
|
||||
// auto &uniform = uniforms.emplace_back();
|
||||
// uniform.name = name;
|
||||
// uniform.storageQualifier = qualifier.storage;
|
||||
// uniform.layoutLocation = qualifier.layoutLocation;
|
||||
// uniform.layoutBinding = qualifier.layoutBinding;
|
||||
// uniform.layoutPacking = qualifier.layoutPacking;
|
||||
}
|
||||
// else if (type.getBasicType() == glslang::EbtSampler) {
|
||||
// auto &uniform = samplers.emplace_back();
|
||||
// uniform.name = symbol->getName();
|
||||
// uniform.sampler = type.getSampler();
|
||||
// }
|
||||
}
|
||||
} // namespace ShaderTranspiler
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
|
||||
@@ -8,17 +8,18 @@
|
||||
#include "Includes.h"
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
namespace ShaderTranspiler {
|
||||
class UniformTraverser : public glslang::TIntermTraverser {
|
||||
public:
|
||||
void visitSymbol(glslang::TIntermSymbol *symbol) override;
|
||||
Vector<glslang::TIntermSymbol*>& GetCollectedSymbols() { return m_collectedSymbols; }
|
||||
private:
|
||||
Vector<glslang::TIntermSymbol*> m_collectedSymbols;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
namespace MG_Util {
|
||||
namespace ShaderTranspiler {
|
||||
class UniformTraverser : public glslang::TIntermTraverser {
|
||||
public:
|
||||
void visitSymbol(glslang::TIntermSymbol* symbol) override;
|
||||
Vector<glslang::TIntermSymbol*>& GetCollectedSymbols() { return m_collectedSymbols; }
|
||||
|
||||
#endif //MOBILEGL_UNIFORMTRAVERSER_H
|
||||
private:
|
||||
Vector<glslang::TIntermSymbol*> m_collectedSymbols;
|
||||
};
|
||||
} // namespace ShaderTranspiler
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
|
||||
#endif // MOBILEGL_UNIFORMTRAVERSER_H
|
||||
|
||||
Reference in New Issue
Block a user