Commit Graph

14064 Commits

Author SHA1 Message Date
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
Kovid Goyal
0531b4bc79 Move too long CSI check out of parse loop 2024-02-25 09:57:30 +05:30
Kovid Goyal
0f6d11351b Fix benchmark rate calculation 2024-02-25 09:57:30 +05:30
Kovid Goyal
1b11c3e923 Double timeouts on flaky test 2024-02-25 09:57:30 +05:30
Kovid Goyal
c79baa56e4 Remove unused SIMD code 2024-02-25 09:57:30 +05:30
Kovid Goyal
c6f4c93d0a Nicer exit code diagnostic 2024-02-25 09:57:30 +05:30
Kovid Goyal
8742fb8cce Detect availability of intrinsics on intel macs just in case 2024-02-25 09:57:30 +05:30
Kovid Goyal
0bd67620c6 ... 2024-02-25 09:57:30 +05:30
Kovid Goyal
0f60ac2dd7 sprintf -> snprintf 2024-02-25 09:57:30 +05:30
Kovid Goyal
0cd761808a draw_codepoint is never called with from_inputstream=true 2024-02-25 09:57:30 +05:30
Kovid Goyal
43fb09dc39 Speed up Screen.draw 2024-02-25 09:57:30 +05:30