Commit Graph

12213 Commits

Author SHA1 Message Date
Kovid Goyal
248301f8b3 Cleanup a bunch of shader infrastructure
1) No longer us glScissor. It's an awful API and is not available in
   Vulkan. Instead the graphics drawing code ensures the graphic is
   drawn within the current viewport

2) Use generated code to automatically get the locations of uniforms
   from shaders. Greatly simplifies adding new uniforms to a shader.

3) Dont use a VAO for loading graphics vertices. Greatly simplifies
   a bunch of book keeping code.
2023-06-22 19:38:05 +05:30
Kovid Goyal
098a38a3a9 Remove rendering via framebuffer for transparent windows with images
There is no need for it with the current rendering pipeline. Images are
blended with premult blending.
2023-06-21 16:06:07 +05:30
Kovid Goyal
2a96b5cb25 Revert "DRYer"
It breaks rendering of background in draw_cells_interleaved()

This reverts commit 59dece4588.
2023-06-21 15:41:37 +05:30
Kovid Goyal
13a2affb9c Remove unused code 2023-06-21 14:59:40 +05:30
Kovid Goyal
7a234676c2 Remove unneeded vertex array binding 2023-06-21 13:39:52 +05:30
Kovid Goyal
684e3c30ee Fix #6381
Sigh. Bloody Apple and their sad sack OpenGL drivers.
2023-06-21 12:36:21 +05:30
Kovid Goyal
a4373ec8b4 Fix graphics being scaled during live resize 2023-06-21 06:17:35 +05:30
Kovid Goyal
ae3fdcd64d accidentally removed initialization of inactive_text_alpha for the premult program 2023-06-21 06:06:37 +05:30
Kovid Goyal
740c542d34 Make mypy 1.4 happy 2023-06-20 21:52:19 +05:30
Kovid Goyal
a4f2f1b601 DRYer 2023-06-20 21:10:23 +05:30
Kovid Goyal
2b5746a1fc DRYer 2023-06-20 20:52:59 +05:30
Kovid Goyal
c66e4ced56 Preserve text size during live resize 2023-06-20 19:41:57 +05:30
Kovid Goyal
5c735c123a Fix defines in loading of graphics shader 2023-06-20 17:31:25 +05:30
Kovid Goyal
59dece4588 DRYer 2023-06-20 15:01:51 +05:30
Kovid Goyal
59a742e387 ... 2023-06-20 14:13:23 +05:30
Kovid Goyal
e1ce6d08e0 Only apply linear2srgb to actual text pixels
Better fix for #6209 as it does not make background_opacity non-linear.
Instead the linear2srgb() function is applied only to pixels that
actually have text content.
2023-06-20 13:45:34 +05:30
Kovid Goyal
85f066f312 Merge branch 'dependabot/go_modules/golang.org/x/sys-0.9.0' of https://github.com/kovidgoyal/kitty 2023-06-19 10:07:36 +05:30
Kovid Goyal
c0cb239662 Merge branch 'dependabot/go_modules/golang.org/x/image-0.8.0' of https://github.com/kovidgoyal/kitty 2023-06-19 10:05:35 +05:30
dependabot[bot]
d59da55734 Bump golang.org/x/sys from 0.8.0 to 0.9.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.8.0 to 0.9.0.
- [Commits](https://github.com/golang/sys/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 04:04:17 +00:00
dependabot[bot]
e49a7c2de7 Bump golang.org/x/image from 0.7.0 to 0.8.0
Bumps [golang.org/x/image](https://github.com/golang/image) from 0.7.0 to 0.8.0.
- [Commits](https://github.com/golang/image/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/image
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 04:04:02 +00:00
Kovid Goyal
01d4bffd67 Fix #6367 2023-06-16 20:58:12 +05:30
Kovid Goyal
98c0b56387 Fix #6364 2023-06-15 08:11:37 +05:30
Kovid Goyal
a5a7db6ce5 Add command line options to setup.py to override the python build flags 2023-06-14 10:53:44 +05:30
Kovid Goyal
af724090d2 Add a non-delete test as well 2023-06-14 09:44:51 +05:30
Kovid Goyal
eefb6d76fd ... 2023-06-14 08:12:45 +05:30
Kovid Goyal
80fb6f0f12 Merge branch 'master' of https://github.com/olzhasar/kitty 2023-06-14 08:08:51 +05:30
Kovid Goyal
4c5f4c4baf Apparently Python 3.12 no longer raises FileNotFoundError when closing a deleted file
Fixes #6360 (I hope) dont have time to actually test with pre-release
python builds
2023-06-14 08:06:47 +05:30
Kovid Goyal
b96a261a35 ... 2023-06-14 08:03:47 +05:30
olzhasar
d0a5d1b3a4 Fix misspellings 2023-06-14 03:39:53 +06:00
Kovid Goyal
aa0642d3e3 Show shader filename in compilation error messages 2023-06-13 22:06:22 +05:30
Kovid Goyal
46d6130edd Build the multi-replace dict only once 2023-06-13 21:33:05 +05:30
Kovid Goyal
97746a26f5 Move loading of shader programs into shaders module 2023-06-13 18:08:39 +05:30
Kovid Goyal
9f377c5ccb Cache shader source code loading 2023-06-13 17:58:17 +05:30
Kovid Goyal
85a955a796 Move shader loading code into its own module 2023-06-13 17:09:38 +05:30
Kovid Goyal
9a1c781230 Use sub-targets rather than recursively invoking make 2023-06-13 15:31:58 +05:30
Kovid Goyal
82900730d0 Fix typo in Makefile (no build target) 2023-06-13 15:29:57 +05:30
Kovid Goyal
86b4637df7 Clean up shader compilation error handling 2023-06-13 15:23:14 +05:30
Kovid Goyal
b40a4f5f7d DRYer 2023-06-13 14:58:51 +05:30
Kovid Goyal
288bb034b5 Remove duplicate definitions of linear2srgb functions in shaders 2023-06-13 14:54:20 +05:30
Kovid Goyal
444ec2484d Infrastructure for loading shaders from multiple source files
Can eventually be used to share source code (functions) across many shaders
2023-06-13 12:55:00 +05:30
Kovid Goyal
1ccfa8cda6 add path to envvars for cross compilation 2023-06-13 08:22:14 +05:30
Kovid Goyal
08e471c58f ... 2023-06-13 08:21:54 +05:30
Kovid Goyal
88a5086f71 Add rudimentary support for cross-compilation
Not really tested, actual cross compilers, feel free to send patches.
Fixes #6354
2023-06-13 07:56:16 +05:30
Kovid Goyal
da1276d84a Correct the naming of the window arg to call_remote_control 2023-06-10 09:47:37 +05:30
Kovid Goyal
498963fc7c Fix example in docs of using call_remote_control
Fixes #6353
2023-06-10 09:43:41 +05:30
Kovid Goyal
162faa42be Fix window size not always being hidden after a resize 2023-06-07 16:45:23 +05:30
Kovid Goyal
3ae489b151 Fix #6345
@m4rw3r this is fixing a bug in #6218. Seems fairly straightforward but
since it's your code, please review.
2023-06-07 16:23:30 +05:30
Kovid Goyal
5ef5b5f363 ... 2023-06-07 15:56:25 +05:30
Kovid Goyal
cd56597e7e Remove the resize_draw_strategy option
Use scale + size as the fixed strategy. This is because static looks
bad with translucent windows (the cell area ends up a different opacity
than the newly exposed window area).
2023-06-07 15:36:05 +05:30
Kovid Goyal
89875af5e6 Fix jerky behavior when live resizing an OS window on platforms that report live resize being and end events
Also disable live resize begin/end events on Wayland since they are not
reliable.

On platforms that support live resize begin/end use a separately
configurable pause time before the screen is redrawn.

Fixes #6341
2023-06-07 14:31:39 +05:30