64 const uint buffer_len,
210 for (
int i = 0; i < hits; i++) {
211 if (
buffer->depth < depth_min) {
213 depth_min =
buffer->depth;
226 for (
int i = 0; i < hits; i++) {
227 if (buffer_src->
id != select_id) {
228 if (buffer_dst != buffer_src) {
241 const int x = dst->
xmin -
src->xmin;
242 const int y = dst->
ymin -
src->ymin;
253 int last_px_id = src_x * (
y + dst_y - 1) + (
x + dst_x - 1);
254 memset(&r_buf[last_px_id + 1], 0, (src_x * src_y - (last_px_id + 1)) *
sizeof(*r_buf));
256 if (last_px_id < 0) {
262 int last_px_written = dst_x * dst_y - 1;
263 const int skip = src_x - dst_x;
266 for (
int i = dst_x; i--;) {
267 r_buf[last_px_id--] = r_buf[last_px_written--];
269 if (last_px_written < 0) {
273 memset(&r_buf[last_px_id + 1], 0, skip *
sizeof(*r_buf));
275 memset(r_buf, 0, (last_px_id + 1) *
sizeof(*r_buf));
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
_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 const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
@ GPU_SELECT_NEAREST_SECOND_PASS
@ GPU_SELECT_PICK_NEAREST
SyclQueue void void * src
static GPUSelectState g_select_state
uint GPU_select_buffer_remove_by_id(GPUSelectResult *buffer, int hits, uint select_id)
uint GPU_select_end(void)
const GPUSelectResult * GPU_select_buffer_near(const GPUSelectResult *buffer, int hits)
void GPU_select_cache_begin(void)
bool GPU_select_is_cached(void)
bool GPU_select_load_id(uint id)
void GPU_select_cache_load_id(void)
void GPU_select_cache_end(void)
struct GPUSelectState GPUSelectState
void GPU_select_begin(GPUSelectResult *buffer, const uint buffer_len, const rcti *input, eGPUSelectMode mode, int oldhits)
void GPU_select_buffer_stride_realign(const rcti *src, const rcti *dst, uint *r_buf)
bool gpu_select_pick_load_id(uint id, bool end)
void gpu_select_pick_begin(GPUSelectResult *buffer, const uint buffer_len, const rcti *input, eGPUSelectMode mode)
bool gpu_select_pick_is_cached(void)
void gpu_select_pick_cache_end(void)
uint gpu_select_pick_end(void)
void gpu_select_pick_cache_begin(void)
void gpu_select_pick_cache_load_id(void)
bool gpu_select_query_load_id(uint id)
void gpu_select_query_begin(GPUSelectResult *buffer, uint buffer_len, const rcti *input, eGPUSelectMode mode, int oldhits)
uint gpu_select_query_end(void)
ccl_global float * buffer
ccl_global KernelShaderEvalInput * input
bool use_cache_needs_init