SWDEV-390626 - Support surface Apis

Change-Id: I1691b82d597bfd722d562778f919ebf8ca530e90
Этот коммит содержится в:
taosang2
2023-03-24 15:33:50 -04:00
коммит произвёл Maneesh Gupta
родитель 1e88d2c52f
Коммит 53742adc08
3 изменённых файлов: 11 добавлений и 12 удалений
+7 -7
Просмотреть файл
@@ -97,7 +97,13 @@ cl_mem_object_type getCLMemObjectType(const unsigned int hipWidth,
const unsigned int hipHeight,
const unsigned int hipDepth,
const unsigned int flags) {
if (flags == hipArrayDefault) {
if (flags & hipArrayLayered == hipArrayLayered) {
if ((hipWidth != 0) && (hipHeight == 0) && (hipDepth != 0)) {
return CL_MEM_OBJECT_IMAGE1D_ARRAY;
} else if ((hipWidth != 0) && (hipHeight != 0) && (hipDepth != 0)) {
return CL_MEM_OBJECT_IMAGE2D_ARRAY;
}
} else {
if ((hipWidth != 0) && (hipHeight == 0) && (hipDepth == 0)) {
return CL_MEM_OBJECT_IMAGE1D;
} else if ((hipWidth != 0) && (hipHeight != 0) && (hipDepth == 0)) {
@@ -105,12 +111,6 @@ cl_mem_object_type getCLMemObjectType(const unsigned int hipWidth,
} else if ((hipWidth != 0) && (hipHeight != 0) && (hipDepth != 0)) {
return CL_MEM_OBJECT_IMAGE3D;
}
} else if (flags == hipArrayLayered) {
if ((hipWidth != 0) && (hipHeight == 0) && (hipDepth != 0)) {
return CL_MEM_OBJECT_IMAGE1D_ARRAY;
} else if ((hipWidth != 0) && (hipHeight != 0) && (hipDepth != 0)) {
return CL_MEM_OBJECT_IMAGE2D_ARRAY;
}
}
// error scenario. ShouldNotReachHere()
return CL_MEM_OBJECT_ALLOCATION_FAILURE;
-5
Просмотреть файл
@@ -998,11 +998,6 @@ hipError_t ihipArrayCreate(hipArray** array,
return hipErrorInvalidValue;
}
if ((pAllocateArray->Flags & hipArraySurfaceLoadStore) ||
(pAllocateArray->Flags & hipArrayTextureGather)) {
return hipErrorNotSupported;
}
const cl_channel_order channelOrder = hip::getCLChannelOrder(pAllocateArray->NumChannels, 0);
const cl_channel_type channelType = hip::getCLChannelType(pAllocateArray->Format, hipReadModeElementType);
const cl_mem_object_type imageType = hip::getCLMemObjectType(pAllocateArray->Width,
+4
Просмотреть файл
@@ -44,6 +44,10 @@ hipError_t ihipCreateSurfaceObject(hipSurfaceObject_t* pSurfObject,
const hipResourceDesc* pResDesc) {
amd::Device* device = hip::getCurrentDevice()->devices()[0];
const device::Info& info = device->info();
if (!info.imageSupport_) {
LogPrintfError("Texture not supported on the device %s", info.name_);
return hipErrorNotSupported;
}
// Validate input params
if (pSurfObject == nullptr || pResDesc == nullptr) {