Correctly check max 1D image buffer size

VDI reports the limits in pixels, but user provides the size in bytes.

Make sure both values are in pixels before doing comparisons.

Change-Id: I082c7175c9fa4383e0b0ee38ff8c047c26ff20b4


[ROCm/clr commit: 28da0b89ea]
Este commit está contenido en:
Vladislav Sytchenko
2020-04-08 13:01:15 -04:00
cometido por Vladislav Sytchenko
padre 5ae3b3ac31
commit 7779046de8
Se han modificado 2 ficheros con 6 adiciones y 1 borrados
@@ -895,4 +895,9 @@ HIP_RESOURCE_VIEW_DESC getResourceViewDesc(const hipResourceViewDesc& resViewDes
return desc;
}
inline
size_t getElementSize(const hipChannelFormatDesc &desc) {
return (desc.x / 4) * getNumChannels(desc);
}
};
+1 -1
Ver fichero
@@ -100,7 +100,7 @@ hipError_t ihipCreateTextureObject(hipTextureObject_t* pTexObject,
if ((pResDesc->resType == hipResourceTypeLinear) &&
((pResDesc->res.linear.devPtr == nullptr) ||
(!amd::isMultipleOf(pResDesc->res.linear.devPtr, info.imageBaseAddressAlignment_)) ||
(pResDesc->res.linear.sizeInBytes >= info.imageMaxBufferSize_))) {
((pResDesc->res.linear.sizeInBytes / hip::getElementSize(pResDesc->res.linear.desc)) >= info.imageMaxBufferSize_))) {
return hipErrorInvalidValue;
}