blob: 524d134acd87310dd00f187cb81f2cc8e57acc8c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#include <string>
#ifndef REGISTER_ADDRESS_H_
#define REGISTER_ADDRESS_H_
enum register_type {
REGISTER_TYPE_NONE,
REGISTER_TYPE_TEMP,
REGISTER_TYPE_CONST,
REGISTER_TYPE_IN,
REGISTER_TYPE_OUT,
REGISTER_TYPE_IMMEDIATE,
REGISTER_TYPE_PRIVATE
};
enum swizzle {
SWIZZLE_EMPTY,
SWIZZLE_X,
SWIZZLE_Y,
SWIZZLE_Z,
SWIZZLE_W
};
class register_address {
public:
register_address(
register_type type,
unsigned int index,
enum swizzle swizzle);
register_address();
register_address(
register_type type,
unsigned int int_val);
std::string to_string();
static std::string register_type_to_string(enum register_type type);
static std::string swizzle_to_string(enum swizzle swz);
unsigned int to_int();
register_type m_type;
unsigned int m_index;
enum swizzle m_swizzle;
};
#endif //REGISTER_ADDRESS_H_
|