From 0e7550b8ac123c2cb8fae4ccf388cbfdafea1864 Mon Sep 17 00:00:00 2001
From: foreman
Date: Tue, 25 Aug 2015 17:23:48 -0400
Subject: [PATCH] P4 to Git Change 1184494 by gandryey@gera-dev-w7 on
2015/08/25 17:04:02
ECR #304775 - Remove unused fields
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#294 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#225 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#136 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.h#54 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/backend.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/backend.h#10 edit
[ROCm/clr commit: 03f7ac19ab3594aadc093bbf8ac4df1e263458ec]
---
.../rocclr/runtime/device/gpu/gpukernel.cpp | 40 ++++++++---------
.../rocclr/runtime/device/gpu/gpuresource.cpp | 34 +++++---------
.../rocclr/runtime/device/gpu/gpuvirtual.hpp | 5 ++-
.../device/gpu/gslbe/src/rt/GSLDevice.cpp | 44 ++-----------------
.../device/gpu/gslbe/src/rt/GSLDevice.h | 6 +--
.../device/gpu/gslbe/src/rt/backend.cpp | 4 --
.../runtime/device/gpu/gslbe/src/rt/backend.h | 30 -------------
7 files changed, 38 insertions(+), 125 deletions(-)
diff --git a/projects/clr/rocclr/runtime/device/gpu/gpukernel.cpp b/projects/clr/rocclr/runtime/device/gpu/gpukernel.cpp
index bf67766046..01b65d18c1 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gpukernel.cpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gpukernel.cpp
@@ -1279,7 +1279,7 @@ Kernel::setupProgramGrid(
// Check for 64-bit metadata
uint glbABIShift = (abi64Bit()) ? 1 : 0;
- ProgramGrid* progGrid = &gpu.cal_.progGrid_;
+ VirtualGPU::CalVirtualDesc* progGrid = &gpu.cal_;
// Finds local workgroup size
findLocalWorkSize(workDim, gblWorkSize, lclWorkSize);
@@ -1656,21 +1656,21 @@ Kernel::loadParameters(
bool
Kernel::run(VirtualGPU& gpu, GpuEvent* calEvent, bool lastRun) const
{
+ const VirtualGPU::CalVirtualDesc* dispatch = gpu.cal();
// 8xx workaround for the number of groups limit in HW
if (setBufferForNumGroup_) {
- const ProgramGrid* programGrid = &gpu.cal()->progGrid_;
ConstBuffer* cb = gpu.numGrpCb();
assert((cb != NULL) && "Runtime must have the constant buffer");
uint32_t* memPtr = reinterpret_cast(cb->sysMemCopy());
- memPtr[0] = programGrid->gridSize.width;
- memPtr[1] = programGrid->gridSize.height;
- memPtr[2] = programGrid->gridSize.depth;
+ memPtr[0] = dispatch->gridSize.width;
+ memPtr[1] = dispatch->gridSize.height;
+ memPtr[2] = dispatch->gridSize.depth;
memPtr[3] = 0;
- memPtr[4] = programGrid->gridBlock.width;
- memPtr[5] = programGrid->gridBlock.height;
- memPtr[6] = programGrid->gridBlock.depth;
+ memPtr[4] = dispatch->gridBlock.width;
+ memPtr[5] = dispatch->gridBlock.height;
+ memPtr[6] = dispatch->gridBlock.depth;
memPtr[7] = 0;
bool result = cb->uploadDataToHw(8 * sizeof(uint32_t));
@@ -1688,8 +1688,8 @@ Kernel::run(VirtualGPU& gpu, GpuEvent* calEvent, bool lastRun) const
compProg->setWavesPerSH(waveLimiter_.getWavesPerSH(&gpu));
gpu.eventBegin(MainEngine);
- gpu.rs()->Dispatch(gpu.cs(), &gpu.cal()->progGrid_.gridBlock, &gpu.cal()->progGrid_.partialGridBlock,
- &gpu.cal()->progGrid_.gridSize, gpu.cal()->progGrid_.localSize, gpu.vmMems(), gpu.cal_.memCount_);
+ gpu.rs()->Dispatch(gpu.cs(), &dispatch->gridBlock, &dispatch->partialGridBlock,
+ &dispatch->gridSize, dispatch->localSize, gpu.vmMems(), dispatch->memCount_);
gpu.eventEnd(MainEngine, *calEvent);
// Unbind all resources
@@ -2062,18 +2062,18 @@ Kernel::setArgument(
case KernelArg::PointerHwLocal:
{
// Calculate current offset in the local ring
- uint offset = gpu.cal_.progGrid_.localSize;
+ uint offset = gpu.cal_.localSize;
uint extra = amd::alignUp(offset, arg->alignment_) - offset;
offset = amd::alignUp(offset, arg->alignment_);
size_t memSize = *static_cast(param);
// Allocate new memory from the local ring
- gpu.cal_.progGrid_.localSize += static_cast(memSize) + extra;
+ gpu.cal_.localSize += static_cast(memSize) + extra;
// Copy current local argument's offset into the CB
*(reinterpret_cast(memory + arg->cbPos_)) = offset;
- CondLog((gpu.cal_.progGrid_.localSize > dev().info().localMemSize_),
+ CondLog((gpu.cal_.localSize > dev().info().localMemSize_),
"Requested local size is bigger than reported!");
}
break;
@@ -2122,7 +2122,7 @@ bool
Kernel::initLocalPrivateRanges(VirtualGPU& gpu) const
{
// Initialize HW local
- gpu.cal_.progGrid_.localSize = hwLocalSize_;
+ gpu.cal_.localSize = hwLocalSize_;
// Bind the global buffer if emulated local or private memory
// was allocated by the kernel
@@ -2158,13 +2158,13 @@ Kernel::setLocalPrivateRanges(VirtualGPU& gpu) const
address cbBuf = gpu.cb(0)->sysMemCopy();
uint* data;
uint gridSize =
- gpu.cal()->progGrid_.gridSize.width *
- gpu.cal()->progGrid_.gridSize.height *
- gpu.cal()->progGrid_.gridSize.depth;
+ gpu.cal()->gridSize.width *
+ gpu.cal()->gridSize.height *
+ gpu.cal()->gridSize.depth;
uint blockSize =
- gpu.cal()->progGrid_.gridBlock.width *
- gpu.cal()->progGrid_.gridBlock.height *
- gpu.cal()->progGrid_.gridBlock.depth;
+ gpu.cal()->gridBlock.width *
+ gpu.cal()->gridBlock.height *
+ gpu.cal()->gridBlock.depth;
//! \todo validate if the compiler still generates PrivateFixed
if (flags() & PrivateFixed) {
diff --git a/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp b/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp
index 802525f20f..994d8df24f 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp
@@ -340,7 +340,7 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap)
uint viewLevel = 0;
uint viewFlags = 0;
gslResource3D viewSize = {0};
- CALdomain viewOffset = {0};
+ size_t viewOffset = 0;
cmSurfFmt viewSurfFmt;
gslChannelOrder viewChannelOrder = GSL_CHANNEL_ORDER_UNSPECIFIED;
gslMemObjectAttribType viewResType;
@@ -623,10 +623,7 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap)
viewSize.width = bytePitch / elementSize();
viewSize.height = 1;
viewSize.depth = 1;
- viewOffset.x = static_cast(offset() / elementSize());
- viewOffset.y = 0;
- viewOffset.width = 0;
- viewOffset.height = 0;
+ viewOffset = static_cast(offset() / elementSize());
gslResource = dev().resAllocView(
view->resource_->gslResource(), viewSize, viewOffset,
@@ -833,7 +830,7 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap)
viewSize.height = cal()->height_;
viewSize.depth = 1;
bytePitch = static_cast(gslResource->getPitch());
- viewOffset.x = 0;
+ viewOffset = 0;
viewSurfFmt = cal()->format_;
viewChannelOrder = cal()->channelOrder_;
switch (d3dRes->layer_) {
@@ -843,7 +840,7 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap)
break;
case 1:
// Y - plane size to the offset
- viewOffset.x = bytePitch * viewSize.height * 2;
+ viewOffset = bytePitch * viewSize.height * 2;
if (d3dRes->misc == 2) {
// YV12 format U is 2 times smaller plane
bytePitch /= 2;
@@ -852,7 +849,7 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap)
case 2:
// Y + U plane sizes to the offest.
// U plane is 4 times smaller than Y => 5/2
- viewOffset.x = bytePitch * viewSize.height * 5 / 2;
+ viewOffset = bytePitch * viewSize.height * 5 / 2;
// V is 2 times smaller plane
bytePitch /= 2;
break;
@@ -900,10 +897,7 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap)
viewSize.width = cal()->width_ + (pinOffset() / elementSize());
viewSize.height = cal()->height_;
viewSize.depth = cal()->depth_;
- viewOffset.x = hostMemOffset / static_cast(elementSize());
- viewOffset.y = 0;
- viewOffset.width = 0;
- viewOffset.height = 0;
+ viewOffset = hostMemOffset / static_cast(elementSize());
viewSurfFmt = cal()->format_;
viewChannelOrder = cal()->channelOrder_;
}
@@ -1669,7 +1663,7 @@ Resource::mapLayers(VirtualGPU* gpu, CALuint flags)
// Loop through all layers
for (uint i = startLayer_; i < layers; ++i) {
gslResource3D gslSize;
- CALdomain calOffset;
+ size_t calOffset;
void* sliceAddr;
size_t pitch;
@@ -1677,11 +1671,7 @@ Resource::mapLayers(VirtualGPU* gpu, CALuint flags)
gslSize.width = cal()->width_;
gslSize.height = height;
gslSize.depth = 1;
- calOffset.x = 0;
- calOffset.y = 0;
- calOffset.width = 0;
- calOffset.height = 0;
-
+ calOffset = 0;
sliceResource = dev().resAllocView(
gslResource(), gslSize,
calOffset, cal()->format_, cal()->channelOrder_, gslDim,
@@ -1780,7 +1770,7 @@ Resource::unmapLayers(VirtualGPU* gpu)
// Loop through all layers
for (uint i = startLayer_; i < layers; ++i) {
gslResource3D gslSize;
- CALdomain calOffset;
+ size_t calOffset;
void* sliceAddr;
size_t pitch;
@@ -1788,11 +1778,7 @@ Resource::unmapLayers(VirtualGPU* gpu)
gslSize.width = cal()->width_;
gslSize.height = height;
gslSize.depth = 1;
- calOffset.x = 0;
- calOffset.y = 0;
- calOffset.width = 0;
- calOffset.height = 0;
-
+ calOffset = 0;
sliceResource = dev().resAllocView(
gslResource(), gslSize,
calOffset, cal()->format_, cal()->channelOrder_, gslDim,
diff --git a/projects/clr/rocclr/runtime/device/gpu/gpuvirtual.hpp b/projects/clr/rocclr/runtime/device/gpu/gpuvirtual.hpp
index e839b03ee6..0af47c19a9 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gpuvirtual.hpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gpuvirtual.hpp
@@ -73,7 +73,10 @@ public:
//! CAL descriptor for the GPU virtual device
struct CalVirtualDesc : public amd::EmbeddedObject
{
- ProgramGrid progGrid_; //!< CAL program grid
+ gslDomain3D gridBlock; //!< size of a block of data
+ gslDomain3D gridSize; //!< size of 'blocks' to execute
+ gslDomain3D partialGridBlock;//!< Partial grid block
+ CALuint localSize; //!< size of OpenCL Local Memory in bytes
uint memCount_; //!< Memory objects count
GpuEvent events_[AllEngines]; //!< Last known GPU events
uint iterations_; //!< Number of iterations for the execution
diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp
index 2b943bf193..e8dc1da360 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp
@@ -28,7 +28,6 @@ void CALGSLDevice::Initialize()
m_textureResource = 0;
m_textureSampler = 0;
m_target = (CALtarget)0xffffffff;
- m_vpucount = 1;
m_srcDRMDMAMem = NULL ;
m_dstDRMDMAMem = NULL ;
@@ -87,7 +86,6 @@ CALGSLDevice::getAttribs_int(gsl::gsCtx* cs)
m_attribs.struct_size = sizeof(CALdeviceattribs);
m_attribs.target = m_target;
- m_attribs.targetRevision = m_revision;
gslMemInfo memInfo;
cs->getMemInfo(&memInfo, GSL_MEMINFO_BASIC);
@@ -109,36 +107,16 @@ CALGSLDevice::getAttribs_int(gsl::gsCtx* cs)
m_attribs.numberOfCUsperShaderArray = cs->getNumCUsPerShaderArray();
m_attribs.wavefrontSize = cs->getWaveFrontSize();
m_attribs.doublePrecision = cs->getIsDoublePrecisionSupported();
- m_attribs.localDataShare = cs->getIsLocalDataShareSupported();
- m_attribs.globalDataShare = cs->getIsGlobalDataShareSupported();
- m_attribs.globalGPR = cs->getIsGlobalGPRSupported();
- m_attribs.computeShader = cs->getIsComputeShaderSupported();
- m_attribs.memExport = cs->getIsMemExportSupported();
m_attribs.memBusWidth = cs->getVramBitWidth();
m_attribs.numMemBanks = cs->getVramBanks();
m_attribs.isWorkstation = cs->getIsWorkstation();
- // Add this to HWL query
- m_attribs.pitch_alignment = 256;
-#ifdef ATI_OS_WIN
- // 4KB aligned on Windows
- m_attribs.surface_alignment = 4096;
-#else
- // 256B aligned on Linux
- m_attribs.surface_alignment = 256;
-#endif
-
- m_attribs.numberOfUAVs = cs->getNumUAVs();
- m_attribs.bUAVMemExport = cs->getIsUAVAsMemExport();
m_attribs.numberOfShaderEngines = cs->getNumShaderEngines();
m_attribs.pciTopologyInformation = m_adp->getLocationId();
-
const uint8* boardName = cs->getString(GSL_GS_RENDERER);
::strncpy(m_attribs.boardName, (char*)boardName, CAL_ASIC_INFO_MAX_LEN * sizeof(char));
- m_attribs.vectorBufferInstructionAddr64 = cs->getVectorBufferInstructionAddr64Supported();
- m_attribs.memRandomAccessTargetInstructions = cs->getMemRandomAccessTargetInstructionsSupported();
m_attribs.counterFreq = cs->getCounterFreq();
m_attribs.nanoSecondsPerTick = 1000000000.0 / cs->getCounterFreq();
m_attribs.longIdleDetect = cs->getLongIdleDetect();
@@ -338,7 +316,6 @@ CALGSLDevice::SetupAdapter(int32 &asic_id)
return false;
}
- m_vpucount = m_adp->getNumLinkedVPUs();
asic_id = m_adp->getAsicID();
if ((asic_id < GSL_ATIASIC_ID_TAHITI_P) ||
@@ -361,7 +338,7 @@ CALGSLDevice::SetupAdapter(int32 &asic_id)
//Disable DRMDMA on CFX mode for linux on all GPUs.
#ifdef ATI_OS_LINUX
- if ((m_vpucount > 1) && !DRMDMA_FOR_LNX_CF)
+ if ((m_adp->getNumLinkedVPUs() > 1) && !DRMDMA_FOR_LNX_CF)
{
m_canDMA = ATIGL_FALSE;
}
@@ -415,7 +392,6 @@ CALGSLDevice::SetupContext(int32 &asic_id)
m_canDMA ? GSL_ENGINEID_DRMDMA0 : GSL_ENGINEID_INVALID, true);
temp_cs->getMainSubCtx()->setVPUMask(m_vpuMask);
- m_revision = temp_cs->getChipRev();
m_maxtexturesize = temp_cs->getMaxTextureSize();
switch (asic_id)
@@ -646,12 +622,6 @@ CALGSLDevice::PerformFullInitialization_int()
}
}
-uint32
-CALGSLDevice::getVPUCount()
-{
- return m_vpucount;
-}
-
void
Wait(gsl::gsCtx* cs, gslQueryTarget target, gslQueryObject object)
{
@@ -795,7 +765,7 @@ CALGSLDevice::resAlloc(const CALresourceDesc* desc) const
}
gslMemObject
-CALGSLDevice::resAllocView(gslMemObject res, gslResource3D size, CALdomain offset, cmSurfFmt format,
+CALGSLDevice::resAllocView(gslMemObject res, gslResource3D size, size_t offset, cmSurfFmt format,
gslChannelOrder channelOrder, gslMemObjectAttribType resType, uint32 level, uint32 layer, uint32 flags,
uint64 bytePitch) const
{
@@ -847,19 +817,11 @@ CALGSLDevice::resAllocView(gslMemObject res, gslResource3D size, CALdomain offse
break;
};
- // Don't handle offsets for tiled surfaces.
- if (offset.x != 0 &&
- offset.y != 0 &&
- attribs.tiling == GSL_MOA_TILING_TILED)
- {
- return 0;
- }
-
// Check any alignment restrictions.
uint64 resPitch = res->getPitch();
cmSurfFmt baseFormat = res->getFormat();
uint32 elementSize = cmGetSurfElementSize(static_cast(baseFormat));
- uint64 offsetInBytes = (offset.y * (uint32)resPitch + offset.x) * elementSize;
+ uint64 offsetInBytes = static_cast(offset) * elementSize;
if (offsetInBytes % alignment)
{
return 0; //offset doesn't match alignment requirements.
diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.h b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.h
index d47a762b56..c989a2416e 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.h
+++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.h
@@ -66,7 +66,7 @@ public:
gslMemObject resGetHeap(size_t size) const;
gslMemObject resAllocView(gslMemObject res, gslResource3D size,
- CALdomain offset, cmSurfFmt format, gslChannelOrder channelOrder,
+ size_t offset, cmSurfFmt format, gslChannelOrder channelOrder,
gslMemObjectAttribType resType, uint32 level, uint32 layer,
uint32 flags, uint64 bytePitch = (uint64)-1) const;
@@ -100,8 +100,6 @@ public:
bool isVmMode() const { return m_vmMode; };
- uint32 getVPUCount();
- void setVPUMask(uint32 mask);
uint32 getVPUMask() const { return m_vpuMask; }
bool uavInCB() const { return m_uavInCB; }
bool canDMA() const { return m_canDMA; }
@@ -171,10 +169,8 @@ private:
gslRenderState m_rs;
CALtarget m_target;
CALuint m_elfmachine;
- uint32 m_revision;
uint32 m_vpuMask;
uint32 m_chainIndex;
- int32 m_vpucount;
int32 m_maxtexturesize;
uint32 m_gpuIndex;
void* m_nativeDisplayHandle;
diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.cpp b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.cpp
index 704598f468..031fcf4905 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.cpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.cpp
@@ -21,14 +21,12 @@ getFuncInfoFromImage(CALimage image, CALfuncInfo *pFuncInfo)
pFuncInfo->maxScratchRegsNeeded = 0;
pFuncInfo->numSharedGPRUser = 0;
pFuncInfo->numSharedGPRTotal = 0;
- pFuncInfo->eCsSetupMode = false;
pFuncInfo->numThreadPerGroup = 0;
pFuncInfo->numThreadPerGroupX = 0;
pFuncInfo->numThreadPerGroupY = 0;
pFuncInfo->numThreadPerGroupZ = 0;
pFuncInfo->totalNumThreadGroup = 0;
pFuncInfo->numWavefrontPerSIMD = 0;
- pFuncInfo->isMaxNumWavePerSIMD = false;
pFuncInfo->setBufferForNumGroup = false;
pFuncInfo->wavefrontSize = 0;
pFuncInfo->numGPRsAvailable = 0;
@@ -101,7 +99,6 @@ getFuncInfoFromImage(CALimage image, CALfuncInfo *pFuncInfo)
pFuncInfo->numSharedGPRTotal = pInfos[i].value;
break;
case AMU_ABI_ECS_SETUP_MODE:
- pFuncInfo->eCsSetupMode = (0 != pInfos[i].value) ? true : false;
break;
case AMU_ABI_NUM_THREAD_PER_GROUP:
pFuncInfo->numThreadPerGroup = pInfos[i].value;
@@ -123,7 +120,6 @@ getFuncInfoFromImage(CALimage image, CALfuncInfo *pFuncInfo)
pFuncInfo->numWavefrontPerSIMD = pInfos[i].value;
break;
case AMU_ABI_IS_MAX_NUM_WAVE_PER_SIMD:
- pFuncInfo->isMaxNumWavePerSIMD = (0 != pInfos[i].value) ? true : false;
break;
case AMU_ABI_SET_BUFFER_FOR_NUM_GROUP:
pFuncInfo->setBufferForNumGroup = (0 != pInfos[i].value) ? true : false;
diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.h b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.h
index 8e28228bb7..a8d7ab96bb 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.h
+++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/backend.h
@@ -48,14 +48,6 @@ typedef struct CALimageRec* CALimage;
#define CAL_ASIC_INFO_MAX_LEN 128
-/** CAL computational domain */
-typedef struct CALdomainRec {
- CALuint x; /**< x origin of domain */
- CALuint y; /**< y origin of domain */
- CALuint width; /**< width of domain */
- CALuint height; /**< height of domain */
-} CALdomain;
-
/** CAL device attributes */
typedef struct CALdeviceattribsRec {
CALuint struct_size; /**< Client filled out size of CALdeviceattribs struct */
@@ -69,17 +61,7 @@ typedef struct CALdeviceattribsRec {
CALuint numberOfSIMD; /**< Number of SIMDs */
CALuint numberOfCUsperShaderArray; /**< Number of CUs per shader array */
bool doublePrecision; /**< double precision supported */
- bool localDataShare; /**< local data share supported */
- bool globalDataShare; /**< global data share supported */
- bool globalGPR; /**< global GPR supported */
- bool computeShader; /**< compute shader supported */
- bool memExport; /**< memexport supported */
- CALuint pitch_alignment; /**< Required alignment for calCreateRes allocations (in data elements) */
- CALuint surface_alignment; /**< Required start address alignment for calCreateRes allocations (in bytes) */
- CALuint numberOfUAVs; /**< Number of UAVs */
- bool bUAVMemExport; /**< Hw only supports mem export to simulate 1 UAV */
CALuint numberOfShaderEngines; /**< Number of shader engines */
- CALuint targetRevision; /**< Asic family revision */
CALuint totalVisibleHeap; /**< Amount of visible local GPU RAM in megabytes */
CALuint totalInvisibleHeap; /**< Amount of invisible local GPU RAM in megabytes */
CALuint totalDirectHeap; /**< Amount of direct GPU memory in megabytes */
@@ -89,8 +71,6 @@ typedef struct CALdeviceattribsRec {
CALuint totalSDIHeap; /**< Amount of SDI memory allocated in CCC */
CALuint pciTopologyInformation; /**< PCI topology information contains: bus, device and function number. */
CALchar boardName[CAL_ASIC_INFO_MAX_LEN]; /**< Actual ASIC board name and not the internal name. */
- bool vectorBufferInstructionAddr64; /**< Vector buffer instructions support ADDR64 mode */
- bool memRandomAccessTargetInstructions; /**< hw/sc supports memory RAT (Random Access Target) instructions e.g. mem0.x_z_ supported */
CALuint memBusWidth; /**< Memory busw width */
CALuint numMemBanks; /**< Number of memory banks */
CALuint counterFreq; /**< Ref clock counter frequency */
@@ -119,14 +99,12 @@ typedef struct CALfuncInfoRec
CALuint maxScratchRegsNeeded; /**< Maximum number of scratch regs needed */
CALuint numSharedGPRUser; /**< Number of shared GPRs */
CALuint numSharedGPRTotal; /**< Number of shared GPRs including ones used by SC */
- bool eCsSetupMode; /**< Slow mode */
CALuint numThreadPerGroup; /**< Flattend umber of threads per group */
CALuint numThreadPerGroupX; /**< x dimension of numThreadPerGroup */
CALuint numThreadPerGroupY; /**< y dimension of numThreadPerGroup */
CALuint numThreadPerGroupZ; /**< z dimension of numThreadPerGroup */
CALuint totalNumThreadGroup; /**< Total number of thread groups */
CALuint numWavefrontPerSIMD; /**< Number of wavefronts per SIMD */
- bool isMaxNumWavePerSIMD; /**< Is this the max num active wavefronts per SIMD */
bool setBufferForNumGroup; /**< Need to set up buffer for info on number of thread groups? */
CALuint wavefrontSize; /**< number of threads per wavefront. */
CALuint numGPRsAvailable; /**< number of GPRs available to the program */
@@ -141,14 +119,6 @@ typedef struct CALfuncInfoRec
CALuint numVGPRsUsed; /**< number of VGPRs used by the program */
} CALfuncInfo;
-typedef struct ProgramGridRec
-{
- gslDomain3D gridBlock; /**< size of a block of data */
- gslDomain3D gridSize; /**< size of 'blocks' to execute. */
- gslDomain3D partialGridBlock;/** Partial grid block */
- CALuint localSize; /** size of OpenCL Local Memory in bytes */
-} ProgramGrid;
-
// flags for calCtxWaitForEvents
typedef enum CALwaitTypeEnum
{