terminal: use floats instead of double for colors

We don't need the full resolution a double gives us. Using floats
reduces the size of cells greatly, which improves cache usage.
This commit is contained in:
Daniel Eklöf 2019-07-10 18:48:46 +02:00
parent b1f8dd75d6
commit 74ab120101
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -38,20 +38,13 @@ struct wayland {
bool have_argb8888;
};
struct rgb { double r, g, b; } __attribute__((packed));
struct rgb { float r, g, b; } __attribute__((packed));
/*
* Note: we want the cells to be as small as possible. Larger cells
* means fewer scrollback lines (or performance drops due to cache
* misses) */
struct attributes {
#if 0
bool bold;
bool italic;
bool underline;
bool strikethrough;
bool blink;
bool conceal;
bool reverse;
bool have_foreground;
bool have_background;
#else
uint8_t bold:1;
uint8_t italic:1;
uint8_t underline:1;
@ -61,7 +54,7 @@ struct attributes {
uint8_t reverse:1;
uint8_t have_foreground:1;
uint8_t have_background:1;
#endif
struct rgb foreground; /* Only valid when have_foreground == true */
struct rgb background; /* Only valid when have_background == true */
} __attribute__((packed));