void ompManager::init() { set_dynamic(0); size = omp_get_max_threads(); rank = omp_get_thread_num(); olb::OstreamManager clout(std::cout,"OmpManager"); clout << "Sucessfully initialized, numThreads=" << get_size() << std::endl; }
// 分配空间 void NetMessage::make_space(size_t size) { if (writeable() + prependable() < size) { if (!is_dynmic()) { set_dynamic(); } dynamic_data_->resize(writer_pos_ + size); } else { if (!is_dynmic()) { memmove(static_data_, static_data_ + reader_pos_, writer_pos_ - reader_pos_); } else { memmove(dynamic_data_->data(), dynamic_data_->data() + reader_pos_, writer_pos_ - reader_pos_); } const size_t readable_size = readable(); reader_pos_ = 0; writer_pos_ = readable_size; assert(readable_size == readable()); } }
// 设置容量大小 void NetMessage::reserve(size_t size) { if (!is_dynmic()) { if (size <= kDynamicThreshold) { return; } set_dynamic(); } dynamic_data_->reserve(size); }
/*********************************************************************** * Modes4: stencil masks and logicop */ static void upload_MODES4(struct i915_context *i915) { unsigned modes4 = 0; /* I915_NEW_STENCIL */ modes4 |= i915->depth_stencil->stencil_modes4; /* I915_NEW_BLEND */ modes4 |= i915->blend->modes4; set_dynamic(i915, I915_DYNAMIC_MODES4, modes4); }
/*********************************************************************** * Scissor enable */ static void upload_SCISSOR_ENABLE( struct i915_context *i915 ) { set_dynamic(i915, I915_DYNAMIC_SC_ENA_0, i915->rasterizer->sc[0]); }
static void upload_IAB(struct i915_context *i915) { unsigned iab = i915->blend->iab; set_dynamic(i915, I915_DYNAMIC_IAB, iab); }