Start the lifetime of the texture reference

reinterpret_cast<> doesn't create an object, so the texref is actually unitiliazed. This may lead to garbage data in some of its struct members.

Initialize it by performing a placement new. The constructer should set all of its members to default values. There's no way currently to extract the channel type, so use single channel char for now.

Change-Id: I41b305a75bb3f30130324de785099f55b3e130c7
Tá an tiomantas seo le fáil i:
Vladislav Sytchenko
2020-03-18 12:23:11 -04:00
tuismitheoir 8667e21b25
tiomantas b4a0008b36
D'athraigh 2 comhad le 6 breiseanna agus 1 scriosta
+2 -1
Féach ar an gComhad
@@ -361,7 +361,8 @@ bool PlatformState::getTexRef(const char* hostVar, hipModule_t hmod, textureRefe
return false;
}
*texRef = reinterpret_cast<textureReference *>(dvar->shadowVptr);
*texRef = new (dvar->shadowVptr) texture<char>{};
return true;
}