1 #include "../platform.h"
2 #include "../errors.h"
3 #include "fsaa.h"
4
5 unsigned int fsaa = 0;
6 unsigned int fsaa_modes = 0;
7
8 char* fsaa_modes_strings[32] =
9 {
10 "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7",
11 "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
12 "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23",
13 "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31",
14 };
15
16 unsigned int get_fsaa_modes();
17
get_fsaa_mode_count()18 unsigned int get_fsaa_mode_count()
19 {
20 return 32;
21 }
22
init_fsaa_modes()23 void init_fsaa_modes()
24 {
25 char str[1024];
26 Uint32 i;
27
28 fsaa_modes = get_fsaa_modes();
29
30 memset(str, 0, sizeof(str));
31
32 strcpy(str, get_fsaa_mode_str(0));
33
34 for (i = 1; i < get_fsaa_mode_count(); i++)
35 {
36 if (get_fsaa_mode(i) == 1)
37 {
38 strcat(str, ", ");
39 strcat(str, get_fsaa_mode_str(i));
40 }
41 }
42
43 LOG_DEBUG("Supported fsaa modes: %s", str);
44 }
45
get_fsaa_mode(const unsigned int index)46 unsigned int get_fsaa_mode(const unsigned int index)
47 {
48 unsigned int mask;
49
50 mask = 1 << index;
51
52 if ((fsaa_modes & mask) == mask)
53 {
54 return 1;
55 }
56 else
57 {
58 return 0;
59 }
60 }
61
get_fsaa_mode_str(const unsigned int index)62 char* get_fsaa_mode_str(const unsigned int index)
63 {
64 if (index < get_fsaa_mode_count())
65 {
66 return fsaa_modes_strings[index];
67 }
68 else
69 {
70 return 0;
71 }
72 }
73
74