52 GLBackend::platform_init();
54 GLBackend::capabilities_init();
59 GLBackend::platform_exit();
64 if (
GCaps.use_subprocess_shader_compilations) {
65 compiler_ = MEM_new<GLSubprocessShaderCompiler>(__func__);
68 compiler_ = MEM_new<GLShaderCompiler>(__func__);
91 return new GLContext(ghost_window, shared_orphan_list_);
151 return shared_orphan_list_;
164 dynamic_cast<GLStorageBuf *
>(indirect_buf)->bind_as(GL_DISPATCH_INDIRECT_BUFFER);
166 glMemoryBarrier(GL_COMMAND_BARRIER_BIT);
168 glDispatchComputeIndirect((GLintptr)0);
170 glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, 0);
175#if BLI_SUBPROCESS_SUPPORT
176 GL_shader_cache_dir_clear_old();
189 static void platform_init();
190 static void platform_exit();
192 static void capabilities_init();
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
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
void init_resources() override
VertBuf * vertbuf_alloc() override
Texture * texture_alloc(const char *name) override
void render_end() 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
void render_step(bool) 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()
ShaderCompiler * compiler_