Commit graph

13324 commits

Author SHA1 Message Date
Kovid Goyal
645b2811e2
more work on the SIMD utf8 decode 2024-02-25 09:57:34 +05:30
Kovid Goyal
9804021de4
More work on SIMD utf8 decode 2024-02-25 09:57:34 +05:30
Kovid Goyal
ea5858e10b
avoid repeated construction of one, two, tree values vectors 2024-02-25 09:57:33 +05:30
Kovid Goyal
4589a62738
... 2024-02-25 09:57:33 +05:30
Kovid Goyal
1275c9275b
Output the third and final utf8 decoded byte 2024-02-25 09:57:33 +05:30
Kovid Goyal
d95f7ac159
Fix compilation on clang 2024-02-25 09:57:33 +05:30
Kovid Goyal
8e2d448c5c
More work on UTF-8 SIMD decode 2024-02-25 09:57:33 +05:30
Kovid Goyal
37c05e3212
... 2024-02-25 09:57:33 +05:30
Kovid Goyal
99e67f0859
... 2024-02-25 09:57:33 +05:30
Kovid Goyal
2cb87861c0
Ensure cpu is inited before calling cpu_supports() 2024-02-25 09:57:33 +05:30
Kovid Goyal
c1793d8781
Pause rendering per repetition
Needed when number of repetitions is large enough to cause
paused rendering to be aborted
2024-02-25 09:57:33 +05:30
Kovid Goyal
fce896c480
Do not render when benchmarking parser to better isolate parser performance 2024-02-25 09:57:33 +05:30
Kovid Goyal
f45cd87488
Implement paused rendering for graphics 2024-02-25 09:57:33 +05:30
Kovid Goyal
7b963a2372
Allow texture references to outlive parent images
This is needed for paused rendering of images. Use a simple ref counting
scheme.
2024-02-25 09:57:33 +05:30
Kovid Goyal
d863cbd7c0
Ensure selection data is updated on GPU after paused rendering 2024-02-25 09:57:33 +05:30
Kovid Goyal
e50447c840
Fix cursor rendering during rendering pause 2024-02-25 09:57:33 +05:30
Kovid Goyal
ab919f6fa1
fix copy onto incorrect buffer 2024-02-25 09:57:33 +05:30
Kovid Goyal
f596351bc1
Pause selection rendering 2024-02-25 09:57:33 +05:30
Kovid Goyal
7c5e011fe6
No need to pass Screen to iteration_data() 2024-02-25 09:57:32 +05:30
Kovid Goyal
b444b2ee36
Implement paused rendering for cell data 2024-02-25 09:57:32 +05:30
Kovid Goyal
aeb60edf55
Freeze inverted status during paused rendering 2024-02-25 09:57:32 +05:30
Kovid Goyal
6c2ef90033
Add some const for functions taking ColorProfile 2024-02-25 09:57:32 +05:30
Kovid Goyal
182b0aac98
Freeze the color profile during paused rendering 2024-02-25 09:57:32 +05:30
Kovid Goyal
d9d6bd7ffb
... 2024-02-25 09:57:32 +05:30
Kovid Goyal
21bba05805
Turn off paused rendering on reset, resize and scrollback scroll 2024-02-25 09:57:32 +05:30
Kovid Goyal
b146e9c457
Add basic parser tests for pending mode activation/de-activation 2024-02-25 09:57:32 +05:30
Kovid Goyal
1f835b27c4
start work on implementing pending mode as paused rendering 2024-02-25 09:57:32 +05:30
Kovid Goyal
89debca4af
Ensure leftover bytes are a copy 2024-02-25 09:57:32 +05:30
Kovid Goyal
a33b747de5
Fix find_in_memoryview() 2024-02-25 09:57:32 +05:30
Kovid Goyal
532cc44e66
Ensure screen is always set when calling parse_sgr 2024-02-25 09:57:32 +05:30
Kovid Goyal
391a43d967
Store last cursor render pos in the rendered info struct 2024-02-25 09:57:32 +05:30
Kovid Goyal
be37a283d5
Move unfocused ender bool into cursor render info 2024-02-25 09:57:32 +05:30
Kovid Goyal
7e424e1848
Refactor ascii decode into its own function 2024-02-25 09:57:32 +05:30
Kovid Goyal
96bcb1d33b
Fix handling on new_input_at 2024-02-25 09:57:32 +05:30
Kovid Goyal
7f60c649f4
... 2024-02-25 09:57:31 +05:30
Kovid Goyal
e52bcb5b93
more workon simd utf-8 decode 2024-02-25 09:57:31 +05:30
Kovid Goyal
d93283c547
annotate utf-8 encoder 2024-02-25 09:57:31 +05:30
Kovid Goyal
aef0b9f50f
... 2024-02-25 09:57:31 +05:30
Kovid Goyal
74391d7c50
More work on SIMD utf-8 decode 2024-02-25 09:57:31 +05:30
Kovid Goyal
8975d1a9f4
no need to parametrize sentinel 2024-02-25 09:57:31 +05:30
Kovid Goyal
48bf8c6105
Report out of single byte control code embedded in CSI 2024-02-25 09:57:31 +05:30
Kovid Goyal
0ed1c6f840
Simplify utf8 parser func
Also show a replacement char for incomplete utf-8 sequences interrupted by an esc char
2024-02-25 09:57:31 +05:30
Kovid Goyal
72e73f2f81
Fix alignment of output array in UTF8Decoder 2024-02-25 09:57:31 +05:30
Kovid Goyal
95eac2e510
... 2024-02-25 09:57:31 +05:30
Kovid Goyal
bc499000a5
Infrastructure for developing and testing UTF-8 SIMD decode 2024-02-25 09:57:31 +05:30
Kovid Goyal
e2be8c2d37
Use unaligned loads for SIMD
makes no difference to the benchmarks and simplifies the code
2024-02-25 09:57:31 +05:30
Kovid Goyal
fd4c8e1e2d
Get rid of ByteLoader
Doesnt move the benchmarks
2024-02-25 09:57:31 +05:30
Kovid Goyal
ba18c5a669
Move ByteLoader back to simd-string.c in preparation for getting rid of it 2024-02-25 09:57:31 +05:30
Kovid Goyal
293ad34535
Get rid of utoi() 2024-02-25 09:57:31 +05:30
Kovid Goyal
45e10394a0
Get rid of ByteLoader from csi_parse_loop
It benchmark's 4% slower on my machine
2024-02-25 09:57:31 +05:30