20 std::lock_guard
lock{render_mutex};
26 for (
const std::string &req :
b->as_span()) {
62 for (
int i = 0;
i <
ARRAY_SIZE(possible_attribute_types);
i++) {
65 if (layer_index == -1) {
69 *r_layer_index = layer_index;
CustomData interface, see also DNA_customdata_types.h.
int CustomData_get_named_layer(const CustomData *data, eCustomDataType type, blender::StringRef name)
static constexpr int GPU_MAX_ATTR
bool add_as(ForwardKey &&key)
void add_multiple(Span< Key > keys)
bool contains(const Key &key) const
Span< Key > as_span() const
Utilities for rendering attributes.
void drw_attributes_add_request(VectorSet< std::string > *attrs, const StringRef name)
void drw_attributes_merge(VectorSet< std::string > *dst, const VectorSet< std::string > *src, Mutex &render_mutex)
bool drw_attributes_overlap(const VectorSet< std::string > *a, const VectorSet< std::string > *b)
bool drw_custom_data_match_attribute(const CustomData &custom_data, const StringRef name, int *r_layer_index, eCustomDataType *r_type)