Skip to content

Commit e8ee5f7

Browse files
Fixed race condition when passing data to bgfx. Issue #1398 (#1628)
Change makes `image` pointer not being touched after passing data to bgfx. Alternative solution is to use `bgfx::copy` instead of `bgfx::makeRef`. --------- Co-authored-by: Branimir Karadzic <branimirkaradzic@gmail.com>
1 parent 10db6b4 commit e8ee5f7

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

Plugins/NativeEngine/Source/NativeEngine.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ namespace Babylon
318318
texture->Create2D(static_cast<uint16_t>(image->m_width), static_cast<uint16_t>(image->m_height), (image->m_numMips > 1), 1, Cast(image->m_format), flags);
319319
}
320320

321-
for (uint8_t mip = 0; mip < image->m_numMips; ++mip)
321+
for (uint8_t mip = 0, numMips = image->m_numMips; mip < numMips; ++mip)
322322
{
323323
bimg::ImageMip imageMip{};
324324
if (bimg::imageGetRawData(*image, 0, mip, image->m_data, image->m_size, imageMip))
@@ -387,7 +387,7 @@ namespace Babylon
387387
for (uint8_t side = 0; side < 6; ++side)
388388
{
389389
bimg::ImageContainer* image{images[side]};
390-
for (uint8_t mip = 0; mip < image->m_numMips; ++mip)
390+
for (uint8_t mip = 0, numMips = image->m_numMips; mip < numMips; ++mip)
391391
{
392392
bimg::ImageMip imageMip{};
393393
if (bimg::imageGetRawData(*image, 0, mip, image->m_data, image->m_size, imageMip))

0 commit comments

Comments
 (0)