diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-01-22 16:05:45 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-22 16:05:45 -0500 |
| commit | ce7b8319d0532a96ef66ba06d1d184a6c61b65cc (patch) | |
| tree | 05938b6ec95e44fee542713638c694d6b87a05cb /source/slang/slang-emit-cpp.h | |
| parent | c74a700681b0be44a74f16b0f9eaad05bba159d2 (diff) | |
Matrix indexing (#1172)
* Added hlsl-intrinsic test folder.
Enabled ceil as works across targets.
* log10 support.
* Fix float % on CPU/CUDA to match HLSL which is fmod (not fremainder).
* Added log10 tests back to scalar-float.slang
* Don't add the ( for $Sx - it's clearer what's going on without it.
* Works on CUDA/CPU. Problem with asint/asuint do not seem to be found.
* Only asuint exists for double.
* Support countbits on CUDA and C++.
* Fix typo in C++ population count.
* First pass at int vector intrinsic tests.
* Swizzle for int.
* Bit cast tests on CUDA.
* Fix warning on gcc.
* Fix bit-cast-double execution on CUDA.
* scalar-int test working on gcc release.
* GetAt working on CUDA/C++
* Split out runtime index into it's own test.
* Removed SetAt, as can use assignment with GetAt.
* Allowing getAt to be used on matrices.
* Don't need [] on matrix type any longer because use getAt.
* Enable clamp on matrix-int.
* Fix matrix-int.slang test - because clamp behavior varied if min and max were say inverted.
Added runtime indexing version of matrix-int.
Diffstat (limited to 'source/slang/slang-emit-cpp.h')
| -rw-r--r-- | source/slang/slang-emit-cpp.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/source/slang/slang-emit-cpp.h b/source/slang/slang-emit-cpp.h index 12bc0939e..9ea083199 100644 --- a/source/slang/slang-emit-cpp.h +++ b/source/slang/slang-emit-cpp.h @@ -77,6 +77,8 @@ protected: virtual void emitParamTypeImpl(IRType* type, String const& name) SLANG_OVERRIDE; virtual bool tryEmitGlobalParamImpl(IRGlobalParam* varDecl, IRType* varType) SLANG_OVERRIDE; + virtual void emitIntrinsicCallExprImpl(IRCall* inst, IRTargetIntrinsicDecoration* targetIntrinsic, EmitOpInfo const& inOuterPrec) SLANG_OVERRIDE; + // Replaceable for classes derived from CPPSourceEmitter virtual SlangResult calcTypeName(IRType* type, CodeGenTarget target, StringBuilder& out); @@ -87,11 +89,6 @@ protected: void _maybeEmitSpecializedOperationDefinition(const HLSLIntrinsic* specOp); - void emitIntrinsicCallExpr( - IRCall* inst, - IRTargetIntrinsicDecoration* targetIntrinsic, - EmitOpInfo const& inOuterPrec); - void _emitForwardDeclarations(const List<EmitAction>& actions); void _calcGlobalParams(const List<EmitAction>& actions, List<GlobalParamInfo>& outParams, IRGlobalParam** outEntryPointGlobalParams); void _emitUniformStateMembers(const List<EmitAction>& actions, IRGlobalParam** outEntryPointGlobalParams); |
