SWDEV-319128 - workaround explicit loading functional issue in Blender

Change-Id: I9d56293b5e2e72874b1160fce62ee68365741d5c
Bu işleme şunda yer alıyor:
haoyuan2
2022-01-24 12:15:49 -08:00
işlemeyi yapan: Hao Yuan
ebeveyn 1f00d8c541
işleme fb07b4e097
+19 -13
Dosyayı Görüntüle
@@ -28,6 +28,8 @@
hipError_t ihipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
amd::HostQueue& queue, bool isAsync = false);
hipError_t ihipFree(void* ptr);
struct __hip_texture {
uint32_t imageSRD[HIP_IMAGE_OBJECT_SIZE_DWORD];
uint32_t samplerSRD[HIP_SAMPLER_OBJECT_SIZE_DWORD];
@@ -338,7 +340,7 @@ hipError_t ihipDestroyTextureObject(hipTextureObject_t texObject) {
texObject->sampler->release();
// TODO Should call ihipFree() to not polute the api trace.
return hipFree(texObject);
return ihipFree(texObject);
}
hipError_t ihipUnbindTexture(textureReference* texRef) {
@@ -376,24 +378,28 @@ hipError_t hipDestroyTextureObject(hipTextureObject_t texObject) {
HIP_RETURN(ihipDestroyTextureObject(texObject));
}
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc* pResDesc,
hipTextureObject_t texObject) {
HIP_INIT_API(hipGetTextureObjectResourceDesc, pResDesc, texObject);
hipError_t ihipGetTextureObjectResourceDesc(hipResourceDesc* pResDesc,
hipTextureObject_t texObject) {
if ((pResDesc == nullptr) || (texObject == nullptr)) {
HIP_RETURN(hipErrorInvalidValue);
return hipErrorInvalidValue;
}
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_);
HIP_RETURN(hipErrorNotSupported);
return hipErrorNotSupported;
}
*pResDesc = texObject->resDesc;
HIP_RETURN(hipSuccess);
return hipSuccess;
}
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc* pResDesc,
hipTextureObject_t texObject) {
HIP_INIT_API(hipGetTextureObjectResourceDesc, pResDesc, texObject);
HIP_RETURN(ihipGetTextureObjectResourceDesc(pResDesc, texObject));
}
hipError_t hipGetTextureObjectResourceViewDesc(hipResourceViewDesc* pResViewDesc,
@@ -888,7 +894,7 @@ hipError_t hipTexRefGetArray(hipArray_t* pArray,
hipResourceDesc resDesc = {};
// TODO use ihipGetTextureObjectResourceDesc() to not pollute the API trace.
hipError_t error = hipGetTextureObjectResourceDesc(&resDesc, texRef->textureObject);
hipError_t error = ihipGetTextureObjectResourceDesc(&resDesc, texRef->textureObject);
if (error != hipSuccess) {
HIP_RETURN(error);
}
@@ -963,10 +969,10 @@ hipError_t hipTexRefGetAddress(hipDeviceptr_t* dptr,
hipResourceDesc resDesc = {};
// TODO use ihipGetTextureObjectResourceDesc() to not pollute the API trace.
hipError_t error = hipGetTextureObjectResourceDesc(&resDesc, texRef->textureObject);
hipError_t error = ihipGetTextureObjectResourceDesc(&resDesc, texRef->textureObject);
if (error != hipSuccess) {
LogPrintfError("hipGetTextureObjectResourceDesc failed with error code: %s \n",
hipGetErrorName(error));
ihipGetErrorName(error));
HIP_RETURN(error);
}
@@ -1278,7 +1284,7 @@ hipError_t hipTexRefGetMipmappedArray(hipMipmappedArray_t* pArray,
hipResourceDesc resDesc = {};
// TODO use ihipGetTextureObjectResourceDesc() to not pollute the API trace.
hipError_t error = hipGetTextureObjectResourceDesc(&resDesc, texRef->textureObject);
hipError_t error = ihipGetTextureObjectResourceDesc(&resDesc, texRef->textureObject);
if (error != hipSuccess) {
HIP_RETURN(error);
}