This commit is contained in:
Kovid Goyal
2024-12-15 21:42:31 +05:30
parent 27c862970b
commit e8fa5a3717
2 changed files with 4 additions and 3 deletions

View File

@@ -97,6 +97,8 @@ vec3 to_color(uint c, uint defval) {
return color_to_vec(resolve_color(c, defval));
}
#ifdef NEEDS_FOREGROUND
uvec3 to_sprite_coords(uint idx) {
uint sprites_per_page = sprites_xnum * sprites_ynum;
uint z = idx / sprites_per_page;
@@ -113,7 +115,6 @@ vec3 to_sprite_pos(uvec2 pos, uint idx) {
return vec3(s_xpos[pos.x], s_ypos[pos.y], c.z);
}
#ifdef NEEDS_FOREGROUND
uint read_sprite_decorations_idx() {
int idx = int(sprite_idx[0] & SPRITE_INDEX_MASK);
ivec2 sz = textureSize(sprite_decorations_map, 0);

View File

@@ -91,7 +91,7 @@ typedef struct ScaledFontData {
#include "kitty-verstable.h"
typedef union DecorationsKey {
struct { uint8_t scale, subscale_n, subscale_d, vertical_align, multicell_y; };
struct { uint8_t scale : 8, subscale_n : 8, subscale_d : 8, vertical_align : 8, multicell_y : 8, u1 : 8, u2 : 8, u3 : 8; };
uint64_t val;
} DecorationsKey;
static_assert(sizeof(DecorationsKey) == sizeof(uint64_t), "Fix the ordering of DecorationsKey");
@@ -954,7 +954,7 @@ render_decorations(FontGroup *fg, Region src, Region dest, FontCellMetrics scale
static DecorationMetadata
index_for_decorations(FontGroup *fg, RunFont rf, Region src, Region dest, FontCellMetrics scaled_metrics) {
DecorationsKey key = {.scale=rf.scale, .subscale_n = rf.subscale_n, .subscale_d = rf.subscale_d, .vertical_align = rf.vertical_align, .multicell_y = rf.multicell_y };
const DecorationsKey key = {.scale=rf.scale, .subscale_n = rf.subscale_n, .subscale_d = rf.subscale_d, .vertical_align = rf.vertical_align, .multicell_y = rf.multicell_y, .u1 = 0, .u2 = 0, .u3 = 0 };
decorations_index_map_t_itr i = vt_get(&fg->decorations_index_map, key);
if (!vt_is_end(i)) return i.data->val;
DecorationMetadata val;