summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2013-07-16 14:45:29 +0400
committerVadim Girlin <[email protected]>2013-07-17 18:27:30 +0400
commitf0d881106a5643521e5f2c75d3d38a9c4e0a35fc (patch)
tree18be78b6c1c767c6f28793a44557f46b9f149a3a /src/gallium/drivers
parent96efa4cdf48f72fd6b165c4a725f0d1542159a5e (diff)
r600g/sb: move chip & class name functions to sb_context
Signed-off-by: Vadim Girlin <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/r600/sb/sb_bc.h3
-rw-r--r--src/gallium/drivers/r600/sb/sb_context.cpp50
-rw-r--r--src/gallium/drivers/r600/sb/sb_shader.cpp53
-rw-r--r--src/gallium/drivers/r600/sb/sb_shader.h2
4 files changed, 55 insertions, 53 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_bc.h b/src/gallium/drivers/r600/sb/sb_bc.h
index 0e951920e73..ad1b862fd57 100644
--- a/src/gallium/drivers/r600/sb/sb_bc.h
+++ b/src/gallium/drivers/r600/sb/sb_bc.h
@@ -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)
diff --git a/src/gallium/drivers/r600/sb/sb_context.cpp b/src/gallium/drivers/r600/sb/sb_context.cpp
index 78b26d5cae8..9474f74e89f 100644
--- a/src/gallium/drivers/r600/sb/sb_context.cpp
+++ b/src/gallium/drivers/r600/sb/sb_context.cpp
@@ -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
diff --git a/src/gallium/drivers/r600/sb/sb_shader.cpp b/src/gallium/drivers/r600/sb/sb_shader.cpp
index 32760ec056f..9fc47ae4044 100644
--- a/src/gallium/drivers/r600/sb/sb_shader.cpp
+++ b/src/gallium/drivers/r600/sb/sb_shader.cpp
@@ -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";
diff --git a/src/gallium/drivers/r600/sb/sb_shader.h b/src/gallium/drivers/r600/sb/sb_shader.h
index 040dbf46667..e515d312d80 100644
--- a/src/gallium/drivers/r600/sb/sb_shader.h
+++ b/src/gallium/drivers/r600/sb/sb_shader.h
@@ -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();