Commit Graph

83 Commits

Author SHA1 Message Date
Fredrick Brennan
65a7b19f40 Make each OS window have its own framebuffer
This commit fixes graphics rendering when more than one OS window is
open, all OS windows are semi-transparent, and multiple windows contain
graphics.

This commit closes #2310.
2020-01-24 16:06:57 +08:00
Kovid Goyal
714bee7f45 Only use an extra draw call for the background when drawing interleaved cells if it is actually required 2020-01-12 09:37:16 +05:30
Kovid Goyal
40b9049deb Move the kitty OpenGL API into its own compilation unit 2019-07-12 15:29:48 +05:30
David Herberth
f872f955b0 Replace glad with glad2 2019-07-07 21:10:15 +02:00
Kovid Goyal
4fff84b4b9 Add void to all function declarations for functions that take no arguments
Micro-optimization for some architectures. Enforced via
-Wstrict-prototypes
2019-05-13 11:04:21 +05:30
Luflosi
8920d64f7d Fix typo 2019-03-12 19:38:06 +01:00
Luflosi
4711e10df2 Let all fatal messages begin with an upper case character 2019-02-17 22:43:10 +01:00
Kovid Goyal
ac7596b7c5 ... 2018-05-05 07:30:59 +05:30
Kovid Goyal
f69ed984a4 Output GL version when running with --debug-gl
See #521
2018-05-05 07:26:30 +05:30
Kovid Goyal
c7506496da Unify error logging between python and C 2018-03-04 11:55:47 +05:30
Kovid Goyal
0c4804db79 DRYer 2017-12-31 09:04:22 +05:30
Kovid Goyal
f7e84df332 Add an explicit OpenGL version test
Apparently there are some pre 3.3 drivers that include the
texture_storage extension. Fixes #258
2017-12-31 08:36:50 +05:30
Kovid Goyal
0fcce6ec58 Remove trailing whitespace from native code files 2017-12-20 08:44:47 +05:30
Kovid Goyal
86e33f739c Ensure OS windows have both buffers cleared after a resize/on first render 2017-12-01 12:16:16 +05:30
Kovid Goyal
5e2587920a Call glViewport in the render loop
Ensure FBOs have correct viewport
2017-12-01 12:16:15 +05:30
Kovid Goyal
ffff343e3d Work on rendering to FBO 2017-12-01 12:16:15 +05:30
Kovid Goyal
bbc140e020 Only enable GL_BLEND when actually needed 2017-12-01 12:16:14 +05:30
Kovid Goyal
dfd8a69cf2 Build kitty against bundled glfw 2017-12-01 12:15:36 +05:30
Kovid Goyal
5a5d27077c Shortcut to open new OSWindow
Note that rendering is still pretty buggy with multiple windows.
2017-12-01 12:15:34 +05:30
Kovid Goyal
c5649df971 Fix various bugs introduced by the refactoring to support OSWindow 2017-12-01 12:15:33 +05:30
Kovid Goyal
2ac8ad39c9 Implement destruction of OS windows 2017-12-01 12:15:32 +05:30
Kovid Goyal
e11a50ae83 Work on migrating the code needed for application startup 2017-12-01 12:15:32 +05:30
Kovid Goyal
ace91f04af More appropriate location for function definition 2017-11-09 17:04:31 +05:30
Kovid Goyal
f25d2ea540 Rip out the old sprite update code 2017-11-09 16:45:45 +05:30
Kovid Goyal
8431eef970 Get rid of no longer needed GPU function indirection 2017-11-09 16:45:02 +05:30
Kovid Goyal
7ed272e971 Use the glad provided facility for debugging OpenGL 2017-11-08 15:40:07 +05:30
Kovid Goyal
6362499fc2 Switch to using glad instead of glew 2017-11-08 15:15:25 +05:30
Kovid Goyal
05363ba501 ... 2017-10-25 14:48:28 +05:30
Kovid Goyal
e43a26d64c Better error message when GLEW initialization fails 2017-10-25 14:32:44 +05:30
Kovid Goyal
e908484491 Also output error number when glewInit() fails
glewGetErrorString() is incomplete/not maintained
2017-10-17 16:47:38 +05:30
Kovid Goyal
02dc637ed0 Use the correct blend function for text 2017-10-17 09:51:21 +05:30
Kovid Goyal
c726a15ed4 ... 2017-10-04 21:08:28 +05:30
Kovid Goyal
138a37ccac Start work on the graphics program 2017-10-04 17:22:00 +05:30
Kovid Goyal
ead73c8209 Prepare for two stage rendering of cells 2017-10-04 14:15:51 +05:30
Kovid Goyal
6d960e4130 ... 2017-10-01 09:12:14 +05:30
Kovid Goyal
3cbc20005b Implement sending of image data to GPU 2017-10-01 09:04:46 +05:30
Kovid Goyal
710d00674a Export the free texture function 2017-09-30 13:51:52 +05:30
Kovid Goyal
2909fddaa2 Split out GL API wrapping code into its own header 2017-09-30 11:48:52 +05:30
Kovid Goyal
457bf8c289 Move gl binding code into its own module 2017-09-15 10:45:17 +05:30
Kovid Goyal
dd8be35922 ... 2017-09-15 10:45:17 +05:30
Kovid Goyal
b8acb9b133 Pass cell data to GPU directly
Converts update_cell_range() to a simple memcpy(). The GPU has to do
roughly the same amount of work (there is one extra attribute, and one
extra calculation for reverse video).
2017-09-15 10:45:16 +05:30
Kovid Goyal
f324d8ec4f Fix a couple of bugs in the buffer map API 2017-09-15 10:45:15 +05:30
Kovid Goyal
281cb50780 API to map OpenGL buffers 2017-09-15 10:45:15 +05:30
Kovid Goyal
e8b5a72c96 Remove GIL management code since it is no longer needed 2017-09-15 10:45:11 +05:30
Kovid Goyal
8624dbac2c Sigh, stupid OpenGL
Apparently glGetUniformIndices has different declarations on different
systems.
2017-09-15 10:45:10 +05:30
Kovid Goyal
d7b433f6b7 API for Uniform Block Objects 2017-09-15 10:45:09 +05:30
Kovid Goyal
34f946fd98 Move rendering of selection to GPU 2017-09-15 10:45:09 +05:30
Kovid Goyal
db40445572 Do color mapping on the GPU 2017-09-15 10:45:08 +05:30
Kovid Goyal
00e3ea8c08 Remove unused code 2017-08-22 17:32:40 +05:30
Kovid Goyal
03e0b9de04 Use vertex buffers instead of texture buffers
Apparently, integer samplers for textFetch() are broken on some macOS
Intel drivers. Fixes #101
2017-08-22 12:08:35 +05:30