I am working on the Fog of War effect for our game. Everything works well except that RHIUpdateTexture2D called by the rendering thread crashes on Android device (PC and mobile preview are both ok. not tested on ios yet).
Here is the code:
ENQUEUE_UNIQUE_RENDER_COMMAND_TWOPARAMETER(
UpdateTextureRegionsData, FUpdateTextureRegionsData, RegionData, RegionData,
bool, bFreeData, bFreeData,
{
for (uint32 i = 0; i < RegionData.NumRegions; ++i)
{
int32 CurrentFirstMip = RegionData.Texture2DResource->GetCurrentFirstMip();
if (RegionData.MipIndex >= CurrentFirstMip)
{
RHIUpdateTexture2D(
RegionData.Texture2DResource->GetTexture2DRHI(),
RegionData.MipIndex - CurrentFirstMip,
RegionData.Regions[i],
RegionData.SrcPitch,
RegionData.SrcData + RegionData.Regions[i].SrcY * RegionData.SrcPitch + RegionData.Regions[i].SrcX * RegionData.SrcBpp
);
}
}
//......
});