You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
929 B
52 lines
929 B
/*
|
|
* Copyright 2021 Google LLC
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef RENDER_CONTEXT_H
|
|
#define RENDER_CONTEXT_H
|
|
|
|
#include "render_common.h"
|
|
|
|
#include <stdatomic.h>
|
|
|
|
struct render_context {
|
|
uint32_t ctx_id;
|
|
struct render_socket socket;
|
|
struct list_head head;
|
|
|
|
char *name;
|
|
size_t name_len;
|
|
|
|
int shmem_fd;
|
|
size_t shmem_size;
|
|
void *shmem_ptr;
|
|
atomic_uint *shmem_timelines;
|
|
|
|
int timeline_count;
|
|
|
|
/* optional */
|
|
int fence_eventfd;
|
|
};
|
|
|
|
struct render_context_args {
|
|
bool valid;
|
|
|
|
uint32_t init_flags;
|
|
|
|
uint32_t ctx_id;
|
|
char ctx_name[32];
|
|
|
|
/* render_context_main always takes ownership even on errors */
|
|
int ctx_fd;
|
|
};
|
|
|
|
bool
|
|
render_context_main(const struct render_context_args *args);
|
|
|
|
void
|
|
render_context_update_timeline(struct render_context *ctx,
|
|
uint32_t ring_idx,
|
|
uint32_t val);
|
|
|
|
#endif /* RENDER_CONTEXT_H */
|
|
|