From c61c79ed791a4aea5da382256da9ffad8d5b751d Mon Sep 17 00:00:00 2001
From: foreman
Date: Thu, 21 Mar 2019 14:27:18 -0400
Subject: [PATCH] P4 to Git Change 1759681 by asalmanp@asalmanp-ocl-stg on
2019/03/21 14:04:11
SWDEV-132899 - use the correct target names for Navi12 (gfx1011) and Navi14 (gfx1012) and add support for Navi21 (gfx1030)
ReviewRequestURL = http://ocltc.amd.com/reviews/r/16993/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palbedefs#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#49 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#128 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#72 edit
[ROCm/clr commit: b611f3844e4616165a5f5a07965512dcafbfb46d]
---
.../clr/rocclr/runtime/device/pal/paldefs.hpp | 16 ++++++++++------
.../clr/rocclr/runtime/device/pal/paldevice.cpp | 15 +++++++++++++++
.../rocclr/runtime/device/pal/palsettings.cpp | 2 +-
3 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/projects/clr/rocclr/runtime/device/pal/paldefs.hpp b/projects/clr/rocclr/runtime/device/pal/paldefs.hpp
index abe0ab112e..1097501827 100644
--- a/projects/clr/rocclr/runtime/device/pal/paldefs.hpp
+++ b/projects/clr/rocclr/runtime/device/pal/paldefs.hpp
@@ -182,12 +182,16 @@ static const AMDDeviceInfo Gfx9PlusSubDeviceInfo[] = {
/* Navi10 XNACK */{"gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, true},
/* Navi10Lite */{"gfx1000", "gfx1000","gfx1000", 4, 16, 1, 256, 64 * Ki, 32, 1000, 1000, false},
/* Navi10Lite XNACK */{"gfx1000", "gfx1000", "gfx1000", 4, 16, 1, 256, 64 * Ki, 32, 1000, 1000, true},
- /* Navi12 */{ "gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, false },
- /* Navi12 XNACK */{ "gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, true },
- /* Navi12Lite */{ "gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, false },
- /* Navi12Lite XNACK */{ "gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, true },
- /* Navi14 */{ "gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, false },
- /* Navi14 XNACK */{ "gfx1010", "gfx1010", "gfx1010", 4, 16, 1, 256, 64 * Ki, 32, 1010, 1010, true },
+ /* Navi12 */{ "gfx1011", "gfx1011", "gfx1011", 4, 16, 1, 256, 64 * Ki, 32, 1011, 1011, false },
+ /* Navi12 XNACK */{ "gfx1011", "gfx1011", "gfx1011", 4, 16, 1, 256, 64 * Ki, 32, 1011, 1011, true },
+ /* Navi12Lite */{ "gfx1011", "gfx1011", "gfx1011", 4, 16, 1, 256, 64 * Ki, 32, 1011, 1011, false },
+ /* Navi12Lite XNACK */{ "gfx1011", "gfx1011", "gfx1011", 4, 16, 1, 256, 64 * Ki, 32, 1011, 1011, true },
+ /* Navi14 */{ "gfx1012", "gfx1012", "gfx1012", 4, 16, 1, 256, 64 * Ki, 32, 1012, 1012, false },
+ /* Navi14 XNACK */{ "gfx1012", "gfx1012", "gfx1012", 4, 16, 1, 256, 64 * Ki, 32, 1012, 1012, true },
+ /* UnknownDevice3 */{ "gfx1030", "gfx1030", "gfx1030", 4, 16, 1, 256, 64 * Ki, 32, 1030, 1030, false },
+ /* UnknownDevice3 XNACK */{ "gfx1030", "gfx1030", "gfx1030", 4, 16, 1, 256, 64 * Ki, 32, 1030, 1030, true },
+ /* UnknownDevice2 */{ "gfx1030", "gfx1030", "gfx1030", 4, 16, 1, 256, 64 * Ki, 32, 1030, 1030, false },
+ /* UnknownDevice2 XNACK */{ "gfx1030", "gfx1030", "gfx1030", 4, 16, 1, 256, 64 * Ki, 32, 1030, 1030, true },
};
diff --git a/projects/clr/rocclr/runtime/device/pal/paldevice.cpp b/projects/clr/rocclr/runtime/device/pal/paldevice.cpp
index 3d0ef1858d..716fe684a0 100644
--- a/projects/clr/rocclr/runtime/device/pal/paldevice.cpp
+++ b/projects/clr/rocclr/runtime/device/pal/paldevice.cpp
@@ -180,6 +180,12 @@ bool NullDevice::init() {
case 1:
ipLevel = Pal::GfxIpLevel::GfxIp10_1;
break;
+ case 2:
+ ipLevel = Pal::GfxIpLevel::GfxIp10_2;
+ break;
+ case 3:
+ ipLevel = Pal::GfxIpLevel::GfxIp10_3;
+ break;
}
}
@@ -209,6 +215,15 @@ bool NullDevice::init() {
case 1010:
revision = Pal::AsicRevision::Navi10;
break;
+ case 1011:
+ revision = Pal::AsicRevision::Navi12;
+ break;
+ case 1012:
+ revision = Pal::AsicRevision::Navi14;
+ break;
+ case 1030:
+ ShouldNotReachHere();
+ break;
}
NullDevice* dev = new NullDevice();
diff --git a/projects/clr/rocclr/runtime/device/pal/palsettings.cpp b/projects/clr/rocclr/runtime/device/pal/palsettings.cpp
index 54887d0253..b5978da435 100644
--- a/projects/clr/rocclr/runtime/device/pal/palsettings.cpp
+++ b/projects/clr/rocclr/runtime/device/pal/palsettings.cpp
@@ -186,7 +186,7 @@ bool Settings::create(const Pal::DeviceProperties& palProp,
assert(0 && "Unknown GfxIP type!");
return false;
}
- case Pal::AsicRevision::Navi12:
+ case Pal::AsicRevision::Navi12:
case Pal::AsicRevision::Navi14:
case Pal::AsicRevision::Navi10:
case Pal::AsicRevision::Navi10Lite: