7 GMutableSpan MFParams::ensure_dummy_single_output(
int data_index)
10 std::lock_guard
lock{builder_->mutex_};
12 for (
const std::pair<int, GMutableSpan> &items : builder_->dummy_output_spans_) {
13 if (items.first == data_index) {
18 const CPPType &
type = builder_->mutable_spans_[data_index].type();
20 builder_->min_array_size_ *
type.size(),
type.alignment());
21 if (!
type.is_trivially_destructible()) {
23 [&
type,
buffer,
mask = builder_->mask_]() { type.destruct_indices(buffer, mask); });
25 const GMutableSpan span{
type,
buffer, builder_->min_array_size_};
26 builder_->dummy_output_spans_.append({data_index, span});
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void * allocate(const int64_t size, const int64_t alignment)
void add_destruct_call(Func func)
LinearAllocator & linear_allocator()
ccl_global float * buffer
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)