r600g/sb: move chip & class name functions to sb_context

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
This commit is contained in:
Vadim Girlin 2013-07-16 14:45:29 +04:00
parent 96efa4cdf4
commit f0d881106a
4 changed files with 55 additions and 53 deletions

View File

@ -683,6 +683,9 @@ public:
return ((sel >= 128 && sel < 192) || (sel >= 256 && sel < 320));
}
const char * get_hw_class_name();
const char * get_hw_chip_name();
};
#define SB_DUMP_STAT(a) do { if (sb_context::dump_stat) { a } } while (0)

View File

@ -83,4 +83,54 @@ int sb_context::init(r600_isa *isa, sb_hw_chip chip, sb_hw_class cclass) {
return 0;
}
const char* sb_context::get_hw_class_name() {
switch (hw_class) {
#define TRANSLATE_HW_CLASS(c) case HW_CLASS_##c: return #c
TRANSLATE_HW_CLASS(R600);
TRANSLATE_HW_CLASS(R700);
TRANSLATE_HW_CLASS(EVERGREEN);
TRANSLATE_HW_CLASS(CAYMAN);
#undef TRANSLATE_HW_CLASS
default:
assert(!"unknown chip class");
return "INVALID_CHIP_CLASS";
}
}
const char* sb_context::get_hw_chip_name() {
switch (hw_chip) {
#define TRANSLATE_CHIP(c) case HW_CHIP_##c: return #c
TRANSLATE_CHIP(R600);
TRANSLATE_CHIP(RV610);
TRANSLATE_CHIP(RV630);
TRANSLATE_CHIP(RV670);
TRANSLATE_CHIP(RV620);
TRANSLATE_CHIP(RV635);
TRANSLATE_CHIP(RS780);
TRANSLATE_CHIP(RS880);
TRANSLATE_CHIP(RV770);
TRANSLATE_CHIP(RV730);
TRANSLATE_CHIP(RV710);
TRANSLATE_CHIP(RV740);
TRANSLATE_CHIP(CEDAR);
TRANSLATE_CHIP(REDWOOD);
TRANSLATE_CHIP(JUNIPER);
TRANSLATE_CHIP(CYPRESS);
TRANSLATE_CHIP(HEMLOCK);
TRANSLATE_CHIP(PALM);
TRANSLATE_CHIP(SUMO);
TRANSLATE_CHIP(SUMO2);
TRANSLATE_CHIP(BARTS);
TRANSLATE_CHIP(TURKS);
TRANSLATE_CHIP(CAICOS);
TRANSLATE_CHIP(CAYMAN);
TRANSLATE_CHIP(ARUBA);
#undef TRANSLATE_CHIP
default:
assert(!"unknown chip");
return "INVALID_CHIP";
}
}
} // namespace r600_sb

View File

@ -426,61 +426,12 @@ cf_node* shader::create_cf(unsigned op) {
std::string shader::get_full_target_name() {
std::string s = get_shader_target_name();
s += "/";
s += get_hw_chip_name();
s += ctx.get_hw_chip_name();
s += "/";
s += get_hw_class_name();
s += ctx.get_hw_class_name();
return s;
}
const char* shader::get_hw_class_name() {
switch (ctx.hw_class) {
#define TRANSLATE_HW_CLASS(c) case HW_CLASS_##c: return #c
TRANSLATE_HW_CLASS(R600);
TRANSLATE_HW_CLASS(R700);
TRANSLATE_HW_CLASS(EVERGREEN);
TRANSLATE_HW_CLASS(CAYMAN);
#undef TRANSLATE_HW_CLASS
default:
return "INVALID_CHIP_CLASS";
}
}
const char* shader::get_hw_chip_name() {
switch (ctx.hw_chip) {
#define TRANSLATE_CHIP(c) case HW_CHIP_##c: return #c
TRANSLATE_CHIP(R600);
TRANSLATE_CHIP(RV610);
TRANSLATE_CHIP(RV630);
TRANSLATE_CHIP(RV670);
TRANSLATE_CHIP(RV620);
TRANSLATE_CHIP(RV635);
TRANSLATE_CHIP(RS780);
TRANSLATE_CHIP(RS880);
TRANSLATE_CHIP(RV770);
TRANSLATE_CHIP(RV730);
TRANSLATE_CHIP(RV710);
TRANSLATE_CHIP(RV740);
TRANSLATE_CHIP(CEDAR);
TRANSLATE_CHIP(REDWOOD);
TRANSLATE_CHIP(JUNIPER);
TRANSLATE_CHIP(CYPRESS);
TRANSLATE_CHIP(HEMLOCK);
TRANSLATE_CHIP(PALM);
TRANSLATE_CHIP(SUMO);
TRANSLATE_CHIP(SUMO2);
TRANSLATE_CHIP(BARTS);
TRANSLATE_CHIP(TURKS);
TRANSLATE_CHIP(CAICOS);
TRANSLATE_CHIP(CAYMAN);
TRANSLATE_CHIP(ARUBA);
#undef TRANSLATE_CHIP
default:
assert(!"unknown chip");
return "INVALID_CHIP";
}
}
const char* shader::get_shader_target_name() {
switch (target) {
case TARGET_VS: return "VS";

View File

@ -367,8 +367,6 @@ public:
alu_node* create_mov(value* dst, value* src);
alu_node* create_copy_mov(value *dst, value *src, unsigned affcost = 1);
const char * get_hw_class_name();
const char * get_hw_chip_name();
const char * get_shader_target_name();
std::string get_full_target_name();