Blender  V3.3
COM_GaussianXBlurOperation.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2011 Blender Foundation. */
3 
4 #pragma once
5 
7 
8 namespace blender::compositor {
9 
10 /* TODO(manzanilla): everything to be removed with tiled implementation except the constructor. */
12  private:
13  void update_gauss();
14 
15  public:
17 
21  void execute_pixel(float output[4], int x, int y, void *data) override;
22 
23  void execute_opencl(OpenCLDevice *device,
24  MemoryBuffer *output_memory_buffer,
25  cl_mem cl_output_buffer,
26  MemoryBuffer **input_memory_buffers,
27  std::list<cl_mem> *cl_mem_to_clean_up,
28  std::list<cl_kernel> *cl_kernels_to_clean_up) override;
29 
33  void init_execution() override;
34 
38  void deinit_execution() override;
39 
40  void *initialize_tile_data(rcti *rect) override;
42  ReadBufferOperation *read_operation,
43  rcti *output) override;
44 
45  void check_opencl()
46  {
47  flags_.open_cl = (data_.sizex >= 128);
48  }
49 };
50 
51 } // namespace blender::compositor
_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
void execute_pixel(float output[4], int x, int y, void *data) override
The inner loop of this operation.
void execute_opencl(OpenCLDevice *device, MemoryBuffer *output_memory_buffer, cl_mem cl_output_buffer, MemoryBuffer **input_memory_buffers, std::list< cl_mem > *cl_mem_to_clean_up, std::list< cl_kernel > *cl_kernels_to_clean_up) override
custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevic...
void deinit_execution() override
Deinitialize the execution.
bool determine_depending_area_of_interest(rcti *input, ReadBufferOperation *read_operation, rcti *output) override
void init_execution() override
initialize the execution
a MemoryBuffer contains access to the data of a chunk
device representing an GPU OpenCL device. an instance of this class represents a single cl_device
ccl_global KernelShaderEvalInput ccl_global float * output
ccl_global KernelShaderEvalInput * input