diff options
author | Yang Rong <rong.r.yang@intel.com> | 2015-01-29 10:59:13 +0800 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2015-01-29 16:14:06 +0800 |
commit | 49c7ac32307460f6a00480541f7e2c11f1613b36 (patch) | |
tree | 5262f9663ff44e6e47d7276e8eb0207770371ef9 /backend | |
parent | 1b38728fa476b42ae9b8dc4b2805c9a03eb04484 (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.c | 2 | ||||
-rw-r--r-- | backend/src/backend/gen_program.cpp | 9 | ||||
-rw-r--r-- | backend/src/gbe_bin_generater.cpp | 4 |
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) { |