56 std::lock_guard
lock{render_mutex};
62 for (
int i = 0; i <
b->num_requests; i++) {
74 const int layer_index,
109 for (
int i = 0; i <
ARRAY_SIZE(possible_attribute_types); i++) {
112 if (layer_index == -1) {
116 *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)
#define STRNCPY(dst, src)
local_group_size(16, 16) .push_constant(Type b
Utilities for rendering attributes.
void drw_attributes_clear(DRW_Attributes *attributes)
bool drw_custom_data_match_attribute(const CustomData &custom_data, const char *name, int *r_layer_index, eCustomDataType *r_type)
void drw_attributes_merge(DRW_Attributes *dst, const DRW_Attributes *src, std::mutex &render_mutex)
static bool drw_attributes_has_request(const DRW_Attributes *requests, const DRW_AttributeRequest &req)
static void drw_attributes_merge_requests(const DRW_Attributes *src_requests, DRW_Attributes *dst_requests)
void drw_attributes_add_request(DRW_Attributes *attrs, const char *name, const eCustomDataType type, const int layer_index, const blender::bke::AttrDomain domain)
bool drw_attributes_overlap(const DRW_Attributes *a, const DRW_Attributes *b)
blender::bke::AttrDomain domain
DRW_AttributeRequest requests[GPU_MAX_ATTR]