Beispiel #1
0
static auto create_attribs(const spirv_cross::Compiler& compiler, const std::vector<spirv_cross::Resource>& resources) {
	core::Vector<ShaderModuleBase::Attribute> attribs;
	std::unordered_set<u32> locations;
	for(const auto& r : resources) {
		auto location = compiler.get_decoration(r.id, spv::DecorationLocation);
		const auto& type = compiler.get_type(r.type_id);

		attribs << ShaderModuleBase::Attribute{location, type.columns, type.vecsize, component_size(type.basetype), component_type(type.basetype)};

		for(usize i = location; i != location + type.columns; ++i) {
			if(!locations.insert(i).second) {
				y_fatal("Duplicate or overlapping attribute locations.");
			}
		}
	}
	return attribs;
}
Beispiel #2
0
QString NPlotXY::tool_tip() const
{
  return component_type();
}
Beispiel #3
0
QString NetworkQueue::tool_tip() const
{
  return component_type();
}