r600g: add initial evergreen support
[mesa.git] / src / gallium / winsys / r600 / drm / gen_eg_states.py
1 import os
2 import re
3
4 def main():
5 fileIN = open('eg_states.h', 'r')
6 line = fileIN.readline()
7 next_is_reg = False
8 count = 0
9
10 print "/* This file is autogenerated from eg_states.h - do not edit directly */"
11 print "/* autogenerating script is gen_eg_states.py */"
12 print ""
13 while line:
14 if line[0:2] == "};":
15 if next_is_reg == True:
16 print "#define " + name + "_SIZE\t\t", count
17 print "#define " + name + "_PM4 128\t\t"
18 next_is_reg = False
19 count = 0
20 print ""
21
22 if line[0:6] == "static":
23 name = line.rstrip("\n")
24 cline = name.split()
25 name = cline[4].split('[')
26 name = name[0].replace("_names", "")
27 print "/* " + name + " */"
28 next_is_reg = True
29 elif next_is_reg == True:
30 reg = line.split();
31 reg = reg[3].replace("},", "")
32 reg = reg.replace("\"", "")
33 print "#define " + name + "__" + reg + "\t\t", count
34 count = count + 1
35
36 line = fileIN.readline()
37
38 if __name__ == "__main__":
39 main()