49 GLBackend::platform_init();
51 GLBackend::capabilities_init();
56 GLBackend::platform_exit();
82 return new GLContext(ghost_window, shared_orphan_list_);
147 return shared_orphan_list_;
160 dynamic_cast<GLStorageBuf *
>(indirect_buf)->bind_as(GL_DISPATCH_INDIRECT_BUFFER);
162 glMemoryBarrier(GL_COMMAND_BARRIER_BIT);
164 glDispatchComputeIndirect((GLintptr)0);
166 glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, 0);
171#if BLI_SUBPROCESS_SUPPORT
172 GL_shader_cache_dir_clear_old();
185 static void platform_init();
186 static void platform_exit();
188 static void capabilities_init();
GLSharedOrphanLists & shared_orphan_list_get()
Fence * fence_alloc() override
void compute_dispatch_indirect(StorageBuf *indirect_buf) override
Shader * shader_alloc(const char *name) override
IndexBuf * indexbuf_alloc() override
StorageBuf * storagebuf_alloc(size_t size, GPUUsageType usage, const char *name) override
void shader_cache_dir_clear_old() override
VertBuf * vertbuf_alloc() override
Texture * texture_alloc(const char *name) override
void render_end() override
GLShaderCompiler * get_compiler()
void render_step() override
DrawList * drawlist_alloc(int list_length) override
Batch * batch_alloc() override
void render_begin() override
void samplers_update() override
bool debug_capture_begin(const char *title)
void delete_resources() override
QueryPool * querypool_alloc() override
PixelBuffer * pixelbuf_alloc(size_t size) override
void compute_dispatch(int groups_x_len, int groups_y_len, int groups_z_len) override
Context * context_alloc(void *ghost_window, void *) override
UniformBuf * uniformbuf_alloc(size_t size, const char *name) override
FrameBuffer * framebuffer_alloc(const char *name) override
static void dispatch(int group_x_len, int group_y_len, int group_z_len)
static GLStateManager * state_manager_active_get()
void apply_state() override
static void samplers_init()
static void samplers_update()
static void samplers_free()
static GPUBackend * get()