MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / das_context_eval_block_unaligned

Function das_context_eval_block_unaligned

src/misc/daScriptC.cpp:392–407  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

390}
391
392void das_context_eval_block_unaligned ( das_context * context, das_block * block, vec4f_unaligned * arguments, int narguments, vec4f_unaligned * result ) {
393 vec4f * args = nullptr;
394 if ( narguments ) {
395 if ( intptr_t(arguments) & 0xf ) {
396 args = (vec4f *) alloca(narguments * sizeof(vec4f));
397 DAS_ASSERT((intptr_t(args) & 0xf) == 0);
398 for ( int i=0; i!=narguments; ++i ) {
399 args[i] = v_ldu((const float *)(arguments + i));
400 }
401 } else {
402 args = (vec4f *) arguments;
403 }
404 }
405 vec4f res = das_context_eval_block(context, block, args);
406 v_stu((float *)result, res);
407}
408
409void das_context_eval_block_cmres ( das_context * context, das_block * block, vec4f * arguments, void * cmres ) {
410 if ( !block ) ((Context *)context)->throw_error("invoke null block"); // this never happens

Callers

nothing calls this directly

Calls 3

das_context_eval_blockFunction · 0.85
v_lduFunction · 0.50
v_stuFunction · 0.50

Tested by

no test coverage detected