MCPcopy Create free account
hub / github.com/carbonengine/trinity / AssignDeviceSpaceToSymbols

Function AssignDeviceSpaceToSymbols

shadercompiler/EffectCompilerMetal.cpp:4667–4697  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4665}
4666
4667void AssignDeviceSpaceToSymbols( ASTNode* node )
4668{
4669 if( !node )
4670 {
4671 return;
4672 }
4673 if( auto symbol = node->GetSymbol() )
4674 {
4675 auto type = symbol->type;
4676 switch( type.builtInType )
4677 {
4678 case OP_BUFFER:
4679 case OP_STRUCTUREDBUFFER:
4680 case OP_RWBUFFER:
4681 case OP_RWSTRUCTUREDBUFFER:
4682 case OP_RAYTRACING_ACCELERATION_STRUCTURE:
4683 symbol->addressSpace = AddressSpace::Device;
4684 break;
4685 default:
4686 if( type.arrayDimensions && ( type.IsTexture() || type.IsSampler() ) )
4687 {
4688 symbol->addressSpace = AddressSpace::Device;
4689 }
4690 break;
4691 }
4692 }
4693 for( auto child : node->GetChildren() )
4694 {
4695 AssignDeviceSpaceToSymbols( child );
4696 }
4697}
4698
4699ASTNode* CreateGlobalInputsStruct( ParserState& state, const std::vector<GlobalInputElement>& globalInputs )
4700{

Callers 1

CompileEffectMethod · 0.85

Calls 3

GetSymbolMethod · 0.80
IsTextureMethod · 0.80
IsSamplerMethod · 0.80

Tested by

no test coverage detected