Only enable GL_BLEND when actually needed
This commit is contained in:
parent
2bcbcfff44
commit
bbc140e020
@ -44,10 +44,9 @@ check_for_gl_error(const char *name, void UNUSED *funcptr, int UNUSED len_args,
|
||||
}
|
||||
}
|
||||
|
||||
static bool glad_loaded = false;
|
||||
|
||||
void
|
||||
gl_init() {
|
||||
static bool glad_loaded = false;
|
||||
if (!glad_loaded) {
|
||||
if (!init_glad((GLADloadproc) glfwGetProcAddress, global_state.debug_gl)) {
|
||||
fatal("Loading the OpenGL library failed");
|
||||
@ -61,7 +60,6 @@ gl_init() {
|
||||
#undef ARB_TEST
|
||||
glad_loaded = true;
|
||||
}
|
||||
glEnable(GL_BLEND);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@ -209,8 +209,6 @@ create_os_window(PyObject UNUSED *self, PyObject *args) {
|
||||
glfwWindowHint(GLFW_SAMPLES, 0);
|
||||
#ifdef __APPLE__
|
||||
if (OPT(macos_hide_titlebar)) glfwWindowHint(GLFW_DECORATED, false);
|
||||
// OS X cannot handle 16bit stencil buffers
|
||||
glfwWindowHint(GLFW_STENCIL_BITS, 8);
|
||||
#endif
|
||||
|
||||
standard_cursor = glfwCreateStandardCursor(GLFW_IBEAM_CURSOR);
|
||||
@ -238,8 +236,8 @@ create_os_window(PyObject UNUSED *self, PyObject *args) {
|
||||
if (x != -1 && y != -1) glfwSetWindowPos(glfw_window, x, y);
|
||||
current_os_window_ctx = glfw_window;
|
||||
glfwSwapInterval(swap_interval); // a value of 1 makes mouse selection laggy
|
||||
gl_init();
|
||||
if (is_first_window) {
|
||||
gl_init();
|
||||
PyObject *ret = PyObject_CallFunction(load_programs, NULL);
|
||||
if (ret == NULL) return NULL;
|
||||
Py_DECREF(ret);
|
||||
|
||||
@ -308,6 +308,7 @@ draw_all_cells(ssize_t vao_idx, ssize_t gvao_idx, Screen *screen) {
|
||||
|
||||
static void
|
||||
draw_cells_interleaved(ssize_t vao_idx, ssize_t gvao_idx, Screen *screen) {
|
||||
glEnable(GL_BLEND);
|
||||
bind_program(CELL_BACKGROUND_PROGRAM);
|
||||
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, screen->lines * screen->columns);
|
||||
|
||||
@ -321,6 +322,7 @@ draw_cells_interleaved(ssize_t vao_idx, ssize_t gvao_idx, Screen *screen) {
|
||||
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, screen->lines * screen->columns);
|
||||
|
||||
if (screen->grman->num_of_positive_refs) draw_graphics(vao_idx, gvao_idx, screen->grman->render_data, screen->grman->num_of_negative_refs, screen->grman->num_of_positive_refs);
|
||||
glDisable(GL_BLEND);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user