Program mmCOMPUTE_PGM_RSRC3 on gfx90a
Change-Id: If387d137ebd388f5aea930a5f7bca3413dcbfcce Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Этот коммит содержится в:
коммит произвёл
Kent Russell
родитель
58ca2b745c
Коммит
be09658247
@@ -30,6 +30,8 @@
|
||||
|
||||
#include "KFDBaseComponentTest.hpp"
|
||||
|
||||
#define mmCOMPUTE_PGM_RSRC3 0x2e2d
|
||||
|
||||
Dispatch::Dispatch(const HsaMemoryBuffer& isaBuf, const bool eventAutoReset)
|
||||
:m_IsaBuf(isaBuf), m_IndirectBuf(PACKETTYPE_PM4, PAGE_SIZE / sizeof(unsigned int), isaBuf.Node()),
|
||||
m_DimX(1), m_DimY(1), m_DimZ(1), m_pArg1(NULL), m_pArg2(NULL), m_pEop(NULL), m_ScratchEn(false),
|
||||
@@ -218,6 +220,12 @@ void Dispatch::BuildIb() {
|
||||
m_IndirectBuf.AddPacket(PM4SetShaderRegPacket(mmCOMPUTE_PGM_RSRC1, COMPUTE_PGM_RSRC,
|
||||
ARRAY_SIZE(COMPUTE_PGM_RSRC)));
|
||||
|
||||
if (m_FamilyId == FAMILY_AL) {
|
||||
const unsigned int COMPUTE_PGM_RSRC3[] = {9};
|
||||
m_IndirectBuf.AddPacket(PM4SetShaderRegPacket(mmCOMPUTE_PGM_RSRC3, COMPUTE_PGM_RSRC3,
|
||||
ARRAY_SIZE(COMPUTE_PGM_RSRC3)));
|
||||
}
|
||||
|
||||
m_IndirectBuf.AddPacket(PM4SetShaderRegPacket(mmCOMPUTE_RESOURCE_LIMITS, COMPUTE_RESOURCE_LIMITS,
|
||||
ARRAY_SIZE(COMPUTE_RESOURCE_LIMITS)));
|
||||
m_IndirectBuf.AddPacket(PM4SetShaderRegPacket(mmCOMPUTE_TMPRING_SIZE, COMPUTE_TMPRING_SIZE,
|
||||
|
||||
@@ -92,6 +92,7 @@ IsaGenerator* IsaGenerator::Create(unsigned int familyId) {
|
||||
case FAMILY_AI:
|
||||
case FAMILY_RV:
|
||||
case FAMILY_AR:
|
||||
case FAMILY_AL:
|
||||
return new IsaGenerator_Gfx9;
|
||||
case FAMILY_NV:
|
||||
return new IsaGenerator_Gfx10;
|
||||
|
||||
@@ -59,6 +59,7 @@ enum KfdFamilyId {
|
||||
FAMILY_AI, // Arctic Islands
|
||||
FAMILY_RV, // Raven
|
||||
FAMILY_AR, // Arcturus
|
||||
FAMILY_AL, // Aldebaran
|
||||
FAMILY_NV, // Navi10
|
||||
};
|
||||
|
||||
|
||||
@@ -149,8 +149,10 @@ unsigned int FamilyIdFromNode(const HsaNodeProperties *props) {
|
||||
familyId = FAMILY_AI;
|
||||
if (props->EngineId.ui32.Stepping == 2)
|
||||
familyId = FAMILY_RV;
|
||||
if (props->EngineId.ui32.Stepping == 8)
|
||||
else if (props->EngineId.ui32.Stepping == 8)
|
||||
familyId = FAMILY_AR;
|
||||
else if (props->EngineId.ui32.Stepping == 10)
|
||||
familyId = FAMILY_AL;
|
||||
break;
|
||||
case 10:
|
||||
familyId = FAMILY_NV;
|
||||
|
||||
Ссылка в новой задаче
Block a user