MCPcopy Create free account
hub / github.com/boostorg/compute / create_subbuffer

Method create_subbuffer

include/boost/compute/buffer.hpp:167–189  ·  view source on GitHub ↗

Creates a new buffer out of this buffer. The new buffer is a sub region of this buffer. \p flags The mem_flags which should be used to create the new buffer \p origin The start index in this buffer \p size The size of the new sub buffer \see_opencl_ref{clCreateSubBuffer} \opencl_version_warning{1,1}

Source from the content-addressed store, hash-verified

165 ///
166 /// \opencl_version_warning{1,1}
167 buffer create_subbuffer(cl_mem_flags flags, size_t origin,
168 size_t size)
169 {
170 BOOST_ASSERT(origin + size <= this->size());
171 BOOST_ASSERT(origin % (get_context().
172 get_device().
173 get_info<CL_DEVICE_MEM_BASE_ADDR_ALIGN>() / 8) == 0);
174 cl_int error = 0;
175
176 cl_buffer_region region = { origin, size };
177
178 cl_mem mem = clCreateSubBuffer(m_mem,
179 flags,
180 CL_BUFFER_CREATE_TYPE_REGION,
181 &region,
182 &error);
183
184 if(!mem){
185 BOOST_THROW_EXCEPTION(opencl_error(error));
186 }
187
188 return buffer(mem, false);
189 }
190 #endif // CL_VERSION_1_1
191};
192

Callers 1

BOOST_AUTO_TEST_CASEFunction · 0.80

Calls 4

sizeMethod · 0.95
opencl_errorClass · 0.85
bufferClass · 0.85
get_deviceMethod · 0.45

Tested by 1

BOOST_AUTO_TEST_CASEFunction · 0.64