Lines Matching defs:memory
393 // Translate glslang type to SPIR-V memory decorations.
394 void TranslateMemoryDecoration(const glslang::TQualifier& qualifier, std::vector<spv::Decoration>& memory,
399 memory.push_back(spv::DecorationCoherent);
401 memory.push_back(spv::DecorationVolatile);
402 memory.push_back(spv::DecorationCoherent);
406 memory.push_back(spv::DecorationRestrict);
408 memory.push_back(spv::DecorationNonWritable);
410 memory.push_back(spv::DecorationNonReadable);
2079 // For now, we consider all user variables as being in memory, so they are pointers,
3828 // next layer copies r-values into memory to use the access-chain mechanism
4938 // Add memory decorations only to top-level members of shader storage block
4939 std::vector<spv::Decoration> memory;
4940 TranslateMemoryDecoration(memberQualifier, memory, glslangIntermediate->usingVulkanMemoryModel());
4941 for (unsigned int i = 0; i < memory.size(); ++i)
4942 builder.addMemberDecoration(spvType, member, memory[i]);
5068 // SPV_EXT_demote_to_helper_invocation is in core) and the memory model is in use, add
5425 // memory and use RestrictPointer/AliasedPointer.
7909 // - compare-exchange has an extra memory semantics
9261 // GLSL memory barriers use queuefamily scope in new model, device scope in old model
9571 std::vector<spv::Decoration> memory;
9572 TranslateMemoryDecoration(symbol->getType().getQualifier(), memory,
9574 for (unsigned int i = 0; i < memory.size(); ++i)
9575 builder.addDecoration(id, memory[i]);
10093 // return 3; // change/correct barrier-instruction operands, to match memory model group decisions
10189 // eg. forward and remove memory writes of opaque types.