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