summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-emit-cpp.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-emit-cpp.h')
-rw-r--r--source/slang/slang-emit-cpp.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/source/slang/slang-emit-cpp.h b/source/slang/slang-emit-cpp.h
index 784696b08..d71983c92 100644
--- a/source/slang/slang-emit-cpp.h
+++ b/source/slang/slang-emit-cpp.h
@@ -66,6 +66,10 @@ protected:
virtual bool tryEmitGlobalParamImpl(IRGlobalParam* varDecl, IRType* varType) SLANG_OVERRIDE;
+ // Replaceable for classes derived from CPPSourceEmitter
+ virtual SlangResult calcTypeName(IRType* type, CodeGenTarget target, StringBuilder& out);
+
+
void emitIntrinsicCallExpr(
IRCall* inst,
IRTargetIntrinsicDecoration* targetIntrinsic,
@@ -101,11 +105,8 @@ protected:
StringSlicePool::Handle _calcFuncName(const HLSLIntrinsic* specOp);
UnownedStringSlice _getTypeName(IRType* type);
- //StringSlicePool::Handle _calcTypeName(IRType* type);
-
- SlangResult _calcTypeName(IRType* type, CodeGenTarget target, StringBuilder& out);
-
- SlangResult _calcTextureTypeName(IRTextureTypeBase* texType, StringBuilder& outName);
+
+ SlangResult _calcCPPTextureTypeName(IRTextureTypeBase* texType, StringBuilder& outName);
void _emitEntryPointDefinitionStart(IRFunc* func, IRGlobalParam* entryPointGlobalParams, const String& funcName, const UnownedStringSlice& varyingTypeName);
void _emitEntryPointDefinitionEnd(IRFunc* func);
@@ -116,6 +117,8 @@ protected:
bool _tryEmitInstExprAsIntrinsic(IRInst* inst, const EmitOpInfo& inOuterPrec);
+ HLSLIntrinsic* _addIntrinsic(HLSLIntrinsic::Op op, IRType* returnType, IRType*const* argTypes, Index argTypeCount);
+
Dictionary<IRType*, StringSlicePool::Handle> m_typeNameMap;
Dictionary<const HLSLIntrinsic*, StringSlicePool::Handle> m_intrinsicNameMap;