Refactor renderer -> glava_renderer, renderer_handle -> glava_handle

This commit is contained in:
Jarcode
2019-08-28 00:49:56 -07:00
parent f562bc690d
commit 69ebfe9714
7 changed files with 38 additions and 38 deletions

View File

@@ -3,7 +3,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
static renderer_handle handle; static glava_handle handle;
static void handle_term (int _) { static void handle_term (int _) {
printf("Interrupt recieved, closing...\n"); printf("Interrupt recieved, closing...\n");

View File

@@ -234,7 +234,7 @@ static struct option p_opts[] = {
{0, 0, 0, 0 } {0, 0, 0, 0 }
}; };
static renderer* rd = NULL; static glava_renderer* rd = NULL;
#define append_buf(buf, sz_store, ...) \ #define append_buf(buf, sz_store, ...) \
({ \ ({ \
@@ -242,8 +242,8 @@ static renderer* rd = NULL;
buf[*sz_store - 1] = __VA_ARGS__; \ buf[*sz_store - 1] = __VA_ARGS__; \
}) })
/* Wait for renderer target texture to be initialized and valid */ /* Wait for glava_renderer target texture to be initialized and valid */
__attribute__((visibility("default"))) void glava_wait(renderer_handle* ref) { __attribute__((visibility("default"))) void glava_wait(glava_handle* ref) {
while(__atomic_load_n(ref, __ATOMIC_SEQ_CST) == NULL) { while(__atomic_load_n(ref, __ATOMIC_SEQ_CST) == NULL) {
/* Edge case: handle has not been assigned */ /* Edge case: handle has not been assigned */
struct timespec tv = { struct timespec tv = {
@@ -257,27 +257,27 @@ __attribute__((visibility("default"))) void glava_wait(renderer_handle* ref) {
} }
/* Atomic size request */ /* Atomic size request */
__attribute__((visibility("default"))) void glava_sizereq(renderer_handle r, int x, int y, int w, int h) { __attribute__((visibility("default"))) void glava_sizereq(glava_handle r, int x, int y, int w, int h) {
r->sizereq = (typeof(r->sizereq)) { .x = x, .y = y, .w = w, .h = h }; r->sizereq = (typeof(r->sizereq)) { .x = x, .y = y, .w = w, .h = h };
__atomic_store_n(&r->sizereq_flag, GLAVA_REQ_RESIZE, __ATOMIC_SEQ_CST); __atomic_store_n(&r->sizereq_flag, GLAVA_REQ_RESIZE, __ATOMIC_SEQ_CST);
} }
/* Atomic terminate request */ /* Atomic terminate request */
__attribute__((visibility("default"))) void glava_terminate(renderer_handle* ref) { __attribute__((visibility("default"))) void glava_terminate(glava_handle* ref) {
renderer_handle store = __atomic_exchange_n(ref, NULL, __ATOMIC_SEQ_CST); glava_handle store = __atomic_exchange_n(ref, NULL, __ATOMIC_SEQ_CST);
__atomic_store_n(&store->alive, false, __ATOMIC_SEQ_CST); __atomic_store_n(&store->alive, false, __ATOMIC_SEQ_CST);
} }
/* Atomic reload request */ /* Atomic reload request */
__attribute__((visibility("default"))) void glava_reload(renderer_handle* ref) { __attribute__((visibility("default"))) void glava_reload(glava_handle* ref) {
renderer_handle store = __atomic_exchange_n(ref, NULL, __ATOMIC_SEQ_CST); glava_handle store = __atomic_exchange_n(ref, NULL, __ATOMIC_SEQ_CST);
__atomic_store_n(&reload, true, __ATOMIC_SEQ_CST); __atomic_store_n(&reload, true, __ATOMIC_SEQ_CST);
__atomic_store_n(&store->alive, false, __ATOMIC_SEQ_CST); __atomic_store_n(&store->alive, false, __ATOMIC_SEQ_CST);
} }
/* Main entry */ /* Main entry */
__attribute__((visibility("default"))) void glava_entry(int argc, char** argv, renderer_handle* ret) { __attribute__((visibility("default"))) void glava_entry(int argc, char** argv, glava_handle* ret) {
/* Evaluate these macros only once, since they allocate */ /* Evaluate these macros only once, since they allocate */
const char const char

View File

@@ -10,7 +10,7 @@
struct gl_data; struct gl_data;
typedef struct renderer { typedef struct glava_renderer {
volatile bool alive; volatile bool alive;
bool mirror_input; bool mirror_input;
size_t bufsize_request, rate_request, samplesize_request; size_t bufsize_request, rate_request, samplesize_request;
@@ -23,18 +23,18 @@ typedef struct renderer {
} sizereq; } sizereq;
volatile int sizereq_flag; volatile int sizereq_flag;
struct gl_data* gl; struct gl_data* gl;
} renderer; } glava_renderer;
/* External API */ /* External API */
typedef struct renderer* volatile renderer_handle; typedef struct glava_renderer* volatile glava_handle;
__attribute__((noreturn, visibility("default"))) void (*glava_abort) (void); __attribute__((noreturn, visibility("default"))) void (*glava_abort) (void);
__attribute__((noreturn, visibility("default"))) void (*glava_return) (void); __attribute__((noreturn, visibility("default"))) void (*glava_return) (void);
__attribute__((visibility("default"))) void glava_assign_external_ctx (void* ctx); __attribute__((visibility("default"))) void glava_assign_external_ctx (void* ctx);
__attribute__((visibility("default"))) void glava_entry (int argc, char** argv, renderer_handle* ret); __attribute__((visibility("default"))) void glava_entry (int argc, char** argv, glava_handle* ret);
__attribute__((visibility("default"))) void glava_terminate (renderer_handle* ref); __attribute__((visibility("default"))) void glava_terminate (glava_handle* ref);
__attribute__((visibility("default"))) void glava_reload (renderer_handle* ref); __attribute__((visibility("default"))) void glava_reload (glava_handle* ref);
__attribute__((visibility("default"))) void glava_sizereq (renderer_handle r, int x, int y, int w, int h); __attribute__((visibility("default"))) void glava_sizereq (glava_handle r, int x, int y, int w, int h);
__attribute__((visibility("default"))) void glava_wait (renderer_handle* ref); __attribute__((visibility("default"))) void glava_wait (glava_handle* ref);
#endif /* _GLAVA_H */ #endif /* _GLAVA_H */

View File

@@ -159,7 +159,7 @@ struct gl_data {
#endif #endif
}; };
bool rd_get_test_mode(struct renderer* r) { bool rd_get_test_mode(struct glava_renderer* r) {
struct gl_data* gl = r->gl; struct gl_data* gl = r->gl;
return gl->test_mode; return gl->test_mode;
} }
@@ -801,7 +801,7 @@ static struct gl_bind_src* lookup_bind_src(const char* str) {
return NULL; return NULL;
} }
struct renderer* rd_new(const char** paths, const char* entry, struct glava_renderer* rd_new(const char** paths, const char* entry,
const char** requests, const char* force_backend, const char** requests, const char* force_backend,
struct rd_bind* bindings, int stdin_type, struct rd_bind* bindings, int stdin_type,
bool auto_desktop, bool verbose, bool auto_desktop, bool verbose,
@@ -809,8 +809,8 @@ struct renderer* rd_new(const char** paths, const char* entry,
xwin_wait_for_wm(); xwin_wait_for_wm();
renderer* r = malloc(sizeof(struct renderer)); glava_renderer* r = malloc(sizeof(struct glava_renderer));
*r = (struct renderer) { *r = (struct glava_renderer) {
.alive = true, .alive = true,
.mirror_input = false, .mirror_input = false,
.gl = malloc(sizeof(struct gl_data)), .gl = malloc(sizeof(struct gl_data)),
@@ -1568,13 +1568,13 @@ struct renderer* rd_new(const char** paths, const char* entry,
return r; return r;
} }
void rd_time(struct renderer* r) { void rd_time(struct glava_renderer* r) {
struct gl_data* gl = r->gl; struct gl_data* gl = r->gl;
gl->wcb->set_time(gl->w, 0.0D); /* reset time for measuring this frame */ gl->wcb->set_time(gl->w, 0.0D); /* reset time for measuring this frame */
} }
bool rd_update(struct renderer* r, float* lb, float* rb, size_t bsz, bool modified) { bool rd_update(struct glava_renderer* r, float* lb, float* rb, size_t bsz, bool modified) {
struct gl_data* gl = r->gl; struct gl_data* gl = r->gl;
size_t t, a, fbsz = bsz * sizeof(float); size_t t, a, fbsz = bsz * sizeof(float);
@@ -2145,7 +2145,7 @@ bool rd_update(struct renderer* r, float* lb, float* rb, size_t bsz, bool modifi
} }
#ifdef GLAVA_DEBUG #ifdef GLAVA_DEBUG
bool rd_test_evaluate(struct renderer* r) { bool rd_test_evaluate(struct glava_renderer* r) {
int w, h; int w, h;
struct gl_data* gl = r->gl; struct gl_data* gl = r->gl;
gl->wcb->get_fbsize(gl->w, &w, &h); gl->wcb->get_fbsize(gl->w, &w, &h);
@@ -2181,10 +2181,10 @@ end_test:
} }
#endif #endif
void* rd_get_impl_window (struct renderer* r) { return r->gl->w; } void* rd_get_impl_window (struct glava_renderer* r) { return r->gl->w; }
struct gl_wcb* rd_get_wcb (struct renderer* r) { return r->gl->wcb; } struct gl_wcb* rd_get_wcb (struct glava_renderer* r) { return r->gl->wcb; }
void rd_destroy(struct renderer* r) { void rd_destroy(struct glava_renderer* r) {
r->gl->wcb->destroy(r->gl->w); r->gl->wcb->destroy(r->gl->w);
if (r->gl->interpolate) free(r->gl->interpolate_buf[0]); if (r->gl->interpolate) free(r->gl->interpolate_buf[0]);
size_t t, b; size_t t, b;

View File

@@ -30,21 +30,21 @@ struct rd_bind {
}; };
#ifdef GLAVA_DEBUG #ifdef GLAVA_DEBUG
bool rd_get_test_mode (struct renderer*); bool rd_get_test_mode (struct glava_renderer*);
bool rd_test_evaluate (struct renderer*); bool rd_test_evaluate (struct glava_renderer*);
#endif #endif
struct renderer* rd_new (const char** paths, const char* entry, struct glava_renderer* rd_new (const char** paths, const char* entry,
const char** requests, const char* force_backend, const char** requests, const char* force_backend,
struct rd_bind* bindings, int stdin_type, struct rd_bind* bindings, int stdin_type,
bool auto_desktop, bool verbose, bool auto_desktop, bool verbose,
bool test_mode); bool test_mode);
bool rd_update (struct renderer*, float* lb, float* rb, bool rd_update (struct glava_renderer*, float* lb, float* rb,
size_t bsz, bool modified); size_t bsz, bool modified);
void rd_destroy (struct renderer*); void rd_destroy (struct glava_renderer*);
void rd_time (struct renderer*); void rd_time (struct glava_renderer*);
void* rd_get_impl_window(struct renderer*); void* rd_get_impl_window(struct glava_renderer*);
struct gl_wcb* rd_get_wcb (struct renderer*); struct gl_wcb* rd_get_wcb (struct glava_renderer*);
/* gl_wcb - OpenGL Window Creation Backend interface */ /* gl_wcb - OpenGL Window Creation Backend interface */
struct gl_wcb { struct gl_wcb {

View File

@@ -265,7 +265,7 @@ static Drawable get_drawable(Display* d, Window w) {
return p; return p;
} }
unsigned int xwin_copyglbg(struct renderer* rd, unsigned int tex) { unsigned int xwin_copyglbg(struct glava_renderer* rd, unsigned int tex) {
GLuint texture = (GLuint) tex; GLuint texture = (GLuint) tex;
if (!texture) if (!texture)
glGenTextures(1, &texture); glGenTextures(1, &texture);

View File

@@ -11,7 +11,7 @@ void xwin_wait_for_wm(void);
bool xwin_settype(struct gl_wcb* wcb, void* impl, const char* type); bool xwin_settype(struct gl_wcb* wcb, void* impl, const char* type);
void xwin_setdesktop(struct gl_wcb* wcb, void* impl, unsigned long desktop); void xwin_setdesktop(struct gl_wcb* wcb, void* impl, unsigned long desktop);
void xwin_addstate(struct gl_wcb* wcb, void* impl, const char* state); void xwin_addstate(struct gl_wcb* wcb, void* impl, const char* state);
unsigned int xwin_copyglbg(struct renderer* rd, unsigned int texture); unsigned int xwin_copyglbg(struct glava_renderer* rd, unsigned int texture);
Window* xwin_get_desktop_layer(struct gl_wcb* wcb); Window* xwin_get_desktop_layer(struct gl_wcb* wcb);
const char* xwin_detect_wm(struct gl_wcb* wcb); const char* xwin_detect_wm(struct gl_wcb* wcb);