Commit graph

141 commits

Author SHA1 Message Date
Kovid Goyal
44f456089b
Migrate the cell program 2017-09-15 10:45:22 +05:30
Kovid Goyal
8ce2794a8a
More work on migrating shader code 2017-09-15 10:45:20 +05:30
Kovid Goyal
98daddc39a
Move selection render tracking into the Screen class 2017-09-15 10:45:20 +05:30
Kovid Goyal
408c719c5f
Move selection tracking into the Screen class 2017-09-15 10:45:20 +05:30
Kovid Goyal
2490199e52
Move scroll tracking into the screen object 2017-09-15 10:45:19 +05:30
Kovid Goyal
fb820faf11
Prevent timers being added in a call 2017-09-15 10:45:18 +05:30
Kovid Goyal
746a20a11d
Cleanup data-types.h 2017-09-15 10:45:17 +05:30
Kovid Goyal
5ed4b29e4b
DRYer fontconfig module 2017-09-15 10:45:17 +05:30
Kovid Goyal
b8678871df
Remove some unnecessary declarations from data-types.h 2017-09-15 10:45:17 +05:30
Kovid Goyal
bc97cfa024
Use a null to represent a blank rather than a space
This has performance benefits when clearing (can use a single
memset). Also allows detecting trailing whitespace on lines correctly.
2017-09-15 10:45:16 +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
f5dbe36cf3
Remove the now useless change tracking code 2017-09-15 10:45:16 +05:30
Kovid Goyal
f655112bda
Directly copy the sprite positions into the GPU buffer 2017-09-15 10:45:15 +05:30
Kovid Goyal
c4680aae2c
Track sprite positions in the Cell structure 2017-09-15 10:45:15 +05:30
Kovid Goyal
1197549e5b
Remove the last use of the python threading module 2017-09-15 10:45:14 +05:30
Kovid Goyal
a52f0939df
Make using the timer for wakeups more efficient 2017-09-15 10:45:14 +05:30
Kovid Goyal
52ab534e22
Move setting of IUTF8 into child-monitor.c 2017-09-15 10:45:12 +05:30
Kovid Goyal
21b799905d
Move the main loop into the C module 2017-09-15 10:45:12 +05:30
Kovid Goyal
7f180ad3d9
Do not use the python threading module
Threading in python imposes significant overhead.
Instead create the thread using pthreads directly
2017-09-15 10:45:11 +05:30
Kovid Goyal
94c4c00859
Move signal handling code into the C module 2017-09-15 10:45:11 +05:30
Kovid Goyal
0e46994d0a
Restore repaint_delay 2017-09-15 10:45:11 +05:30
Kovid Goyal
44650c5723
Make reading into the screen read buffer more efficient 2017-09-15 10:45:11 +05:30
Kovid Goyal
234bb07b67
Initial attempt at moving all threading code into a single file 2017-09-15 10:45:10 +05:30
Kovid Goyal
6127d2d122
Make the sprite map globally accessible from C code as well as python code
The lock was removed as the Python GIL is sufficient to serialize access
to the SpriteMap structure.
2017-09-15 10:45:10 +05:30
Kovid Goyal
d12573a67d
Dont send the color table to the GPU on every frame 2017-09-15 10:45:09 +05:30
Kovid Goyal
6689595277
Dont use Py_UCS4 for char_type 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
1d888c9194
Centralise color management into ColorProfile 2017-09-15 10:45:08 +05:30
Kovid Goyal
b50eaa9cbb
ColorProfile should belong to Screen 2017-09-15 10:45:08 +05:30
Kovid Goyal
564010c7cd
Migrate history.c 2017-09-15 10:45:08 +05:30
Kovid Goyal
4fd8c7cfaa
DRYer 2017-09-15 10:45:08 +05:30
Kovid Goyal
37f0cf86d0
Migrated line.c 2017-09-15 10:45:07 +05:30
Kovid Goyal
0cbd3a2820
Start work on using a struct for the cell
Should eventually allow the screen buf to be sent directly to the GPU
without a serialization step.

Migrates line-buf.c
2017-09-15 10:45:07 +05:30
Kovid Goyal
6176607ac4
Initial stab at switching to poll() instead of select()
Also avoid python code in the child monitoring inner loop
2017-09-15 10:45:07 +05:30
Kovid Goyal
a429bcbb22
Dont use the glfw timer function as it requires glfwInit 2017-09-15 10:45:07 +05:30
Kovid Goyal
f9b1a71edd
Move the timers implementation to C
It is used int he hot loop for monitoring the child process
2017-09-15 10:45:06 +05:30
Kovid Goyal
8ee1c851a1
Optimize the bit twiddling in sprite_position_for 2017-08-26 13:05:18 +05:30
Kovid Goyal
4ce9f550ac
Inline to_color for an easy performance boost 2017-08-26 10:52:24 +05:30
Kovid Goyal
58644e2b37
Function to get all fonts on macOS 2017-08-24 15:05:42 +05:30
Kovid Goyal
101a50b0ff
Do not use GL_ARB_texture_buffer_object_rgb32
This is not available on macOS using Intel graphics cards
2017-08-21 12:46:09 +05:30
Kovid Goyal
76e3101d9b
Hide all symbols 2017-06-07 11:19:53 +05:30
Kovid Goyal
c27b597951
Fix incorrect implementation of the CSI scroll commands
I was lazy and just assumed they were n indexes, but they actually
scroll the screen without moving the cursor. Fixes #76
2017-05-19 19:25:41 +05:30
Kovid Goyal
14a66762a6
Fix incorrect response to request for device attributes 2017-05-17 10:33:33 +05:30
Kovid Goyal
b58ecde740
Track cursor color as a property of Screen not Cursor
This means that the savepoint functionality will not restore
cursor color
2017-05-17 09:27:38 +05:30
Kovid Goyal
3b71a016a6
Fix reset not resetting default foreground and background colors 2017-05-17 09:22:06 +05:30
Kovid Goyal
f0c546208d
Implement OSC codes for changing selection colors 2017-05-17 08:55:57 +05:30
Kovid Goyal
59ac12570c
Fix unaligned read/writes in the History buffer 2017-05-15 12:06:06 +05:30
Kovid Goyal
69b187a743
Split up the color field into fg/bg colors
Avoid a lot of unnecessary masking as well as unaligned read/writes
2017-05-15 12:06:06 +05:30
Kovid Goyal
35f2b3254a A spot of refactoring 2017-04-28 08:54:06 +05:30
Kovid Goyal
898a8075be Fix #69 2017-04-28 08:31:07 +05:30