P4 to Git Change 1115252 by skudchad@skudchad_test_win_opencl2 on 2015/01/26 12:25:46

EPR #403782 - IOMMU2/SVM
	- Detect SVM Fine Grain system in IOL and OpenCL runtime
	- Changes to convey Allocation attribute to IOL

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/6685/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#203 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.hpp#78 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuscsi.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#299 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#89 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/include/cal/cal.h#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/include/cal/calcl.h#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#104 edit
Este commit está contenido en:
foreman
2015-01-26 12:53:29 -05:00
padre cc54e51cfb
commit 172266c1ba
Se han modificado 8 ficheros con 23 adiciones y 7 borrados
@@ -239,7 +239,8 @@ typedef struct CALdeviceattribsRec {
CALuint64 vaEnd; /**< VA end address */
bool isWorkstation; /**< Whether Device is a Workstation/Server part */
CALuint numOfVpu; /**< number of vpu in the device*/
bool isOpenCL200Device; /**< the flag to mark if the device is OpenCL 200*/
bool isOpenCL200Device; /**< the flag to mark if the device is OpenCL 200 */
bool isSVMFineGrainSystem; /**< check if SVM finegrainsystem */
} CALdeviceattribs;
/** CAL device status */
@@ -146,6 +146,7 @@ typedef struct CALresourceDescRec {
mcaddr vaBase;
gslMemObjectAttribSection section;
CALuint minAlignment;
bool isAllocExecute;
} CALresourceDesc;
typedef enum CALresallocsliceviewflagsRec {
@@ -156,6 +156,7 @@ CALGSLDevice::getAttribs_int(gsl::gsCtx* cs)
m_attribs.vaEnd = static_cast<CALuint64>(m_adp->pAsicInfo->vaEnd);
m_attribs.numOfVpu = m_adp->pAsicInfo->numberOfVPU;
m_attribs.isOpenCL200Device = m_adp->pAsicInfo->bIsOpen2Device;
m_attribs.isSVMFineGrainSystem = m_adp->pAsicInfo->svmFineGrainSystem;
}
void
@@ -733,6 +734,7 @@ CALGSLDevice::resAlloc(const CALresourceDesc* desc) const
attribs.location = desc->type;
attribs.vaBase = desc->vaBase;
attribs.section = desc->section;
attribs.isAllocExecute = desc->isAllocExecute;
attribs.minAlignment = desc->minAlignment;
//!@note GSL asserts with tiled 1D images of any type.
@@ -837,6 +839,7 @@ CALGSLDevice::resAllocView(gslMemObject res, gslResource3D size, CALdomain offse
);
attribs.bytePitch = bytePitch;
attribs.section = res->getAttribs().section;
attribs.isAllocExecute = res->getAttribs().isAllocExecute;
// Need to get the alignment info from hwl.
// Not sure hwl is correct though. Linear aligned 256b, tiled 8kb according to the address library.