struct xorg_renderer * renderer_create(struct pipe_context *pipe) { struct xorg_renderer *renderer = CALLOC_STRUCT(xorg_renderer); renderer->pipe = pipe; renderer->cso = cso_create_context(pipe); renderer->shaders = xorg_shaders_create(renderer); renderer_init_state(renderer); return renderer; }
XA_EXPORT struct xa_context * xa_context_create(struct xa_tracker *xa) { struct xa_context *ctx = calloc(1, sizeof(*ctx)); ctx->xa = xa; ctx->pipe = xa->screen->context_create(xa->screen, NULL); ctx->cso = cso_create_context(ctx->pipe); ctx->shaders = xa_shaders_create(ctx); renderer_init_state(ctx); return ctx; }