summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorYang Rong <rong.r.yang@intel.com>2015-01-29 10:59:13 +0800
committerYang Rong <rong.r.yang@intel.com>2015-01-29 16:14:06 +0800
commit49c7ac32307460f6a00480541f7e2c11f1613b36 (patch)
tree5262f9663ff44e6e47d7276e8eb0207770371ef9 /backend
parent1b38728fa476b42ae9b8dc4b2805c9a03eb04484 (diff)
SKL: enable skl device.
Add the intel_gpgpu_set_base_address_gen9 for SKL, the other functions are same as BDW in intel_GPGPU. And the SKL's backend just same as BDW. Should derive from GEN8 later. With this commit, some utests pass.
Diffstat (limited to 'backend')
-rw-r--r--backend/src/backend/gen/gen_mesa_disasm.c2
-rw-r--r--backend/src/backend/gen_program.cpp9
-rw-r--r--backend/src/gbe_bin_generater.cpp4
3 files changed, 14 insertions, 1 deletions
diff --git a/backend/src/backend/gen/gen_mesa_disasm.c b/backend/src/backend/gen/gen_mesa_disasm.c
index 640c0fe2..7465bba2 100644
--- a/backend/src/backend/gen/gen_mesa_disasm.c
+++ b/backend/src/backend/gen/gen_mesa_disasm.c
@@ -1154,6 +1154,8 @@ int gen_disasm (FILE *file, const void *inst, uint32_t deviceID, uint32_t compac
gen_version = 75;
} else if (IS_BROADWELL(deviceID)) {
gen_version = 80;
+ } else if (IS_SKYLAKE(deviceID)) {
+ gen_version = 90;
}
if (PRED_CTRL(inst)) {
diff --git a/backend/src/backend/gen_program.cpp b/backend/src/backend/gen_program.cpp
index 2e391e1e..01e7ee91 100644
--- a/backend/src/backend/gen_program.cpp
+++ b/backend/src/backend/gen_program.cpp
@@ -170,6 +170,8 @@ namespace gbe {
ctx = GBE_NEW(Gen75Context, unit, name, deviceID, relaxMath);
} else if (IS_BROADWELL(deviceID)) {
ctx = GBE_NEW(Gen8Context, unit, name, deviceID, relaxMath);
+ } else if (IS_SKYLAKE(deviceID)) {
+ ctx = GBE_NEW(Gen8Context, unit, name, deviceID, relaxMath);
}
GBE_ASSERTM(ctx != NULL, "Fail to create the gen context\n");
@@ -211,7 +213,8 @@ namespace gbe {
(IS_IVYBRIDGE(typeA) && !strcmp(src_hw_info, "BYT")) || \
(IS_BAYTRAIL_T(typeA) && !strcmp(src_hw_info, "BYT")) || \
(IS_HASWELL(typeA) && !strcmp(src_hw_info, "HSW")) || \
- (IS_BROADWELL(typeA) && !strcmp(src_hw_info, "BDW")) )
+ (IS_BROADWELL(typeA) && !strcmp(src_hw_info, "BDW")) || \
+ (IS_SKYLAKE(typeA) && !strcmp(src_hw_info, "SKL")) )
static gbe_program genProgramNewFromBinary(uint32_t deviceID, const char *binary, size_t size) {
using namespace gbe;
@@ -306,6 +309,10 @@ namespace gbe {
src_hw_info[0]='B';
src_hw_info[1]='D';
src_hw_info[2]='W';
+ }else if(IS_SKYLAKE(prog->deviceID)){
+ src_hw_info[0]='S';
+ src_hw_info[1]='K';
+ src_hw_info[2]='L';
}
FILL_DEVICE_ID(*binary, src_hw_info);
memcpy(*binary+BINARY_HEADER_LENGTH, oss.str().c_str(), sz*sizeof(char));
diff --git a/backend/src/gbe_bin_generater.cpp b/backend/src/gbe_bin_generater.cpp
index f4be488d..8d411137 100644
--- a/backend/src/gbe_bin_generater.cpp
+++ b/backend/src/gbe_bin_generater.cpp
@@ -178,6 +178,10 @@ void program_build_instance::serialize_program(void) throw(int)
src_hw_info[0]='B';
src_hw_info[1]='D';
src_hw_info[2]='W';
+ }else if(IS_SKYLAKE(gen_pci_id)){
+ src_hw_info[0]='S';
+ src_hw_info[1]='K';
+ src_hw_info[2]='L';
}
if (str_fmt_out) {