Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/alt/ppu-performance/screen/screen.hpp
2 views
1
class Screen {
2
struct Regs {
3
bool addsub_mode;
4
bool direct_color;
5
6
bool color_mode;
7
bool color_halve;
8
bool color_enable[7];
9
10
unsigned color_b;
11
unsigned color_g;
12
unsigned color_r;
13
unsigned color;
14
} regs;
15
16
struct Output {
17
struct Pixel {
18
unsigned color;
19
unsigned priority;
20
unsigned source;
21
} main[256], sub[256];
22
23
alwaysinline void plot_main(unsigned x, unsigned color, unsigned priority, unsigned source);
24
alwaysinline void plot_sub(unsigned x, unsigned color, unsigned priority, unsigned source);
25
} output;
26
27
ColorWindow window;
28
29
alwaysinline unsigned get_palette(unsigned color);
30
unsigned get_direct_color(unsigned palette, unsigned tile);
31
alwaysinline uint16 addsub(unsigned x, unsigned y, bool halve);
32
void scanline();
33
void render_black();
34
alwaysinline uint16 get_pixel_main(unsigned x);
35
alwaysinline uint16 get_pixel_sub(unsigned x);
36
void render();
37
38
void serialize(serializer&);
39
Screen(PPU &self);
40
~Screen();
41
42
PPU &self;
43
friend class PPU;
44
};
45
46