message: DynamicTextureAtlas: improved Allocate method
diff: @@ -511,13 +511,21 @@ public:
  auto SliceMgr = pBatch->LockSliceAfter(Slice);
  if (!SliceMgr)
  {
  - Slice = GetNextAvailableSlice();
  - if (Slice == ~Uint32{0})
  - break;
  -
  + const auto NewSlice = GetNextAvailableSlice();
  + if (NewSlice != ~Uint32{0})
  + {
  + Slice = NewSlice;
  SliceMgr = pBatch->AddSlice(Slice);
  VERIFY_EXPR(SliceMgr);
  }
  + else
  + {
  + // It is possible that another thread added a new slice while this thread failed
  + SliceMgr = pBatch->LockSliceAfter(Slice);
  + if (!SliceMgr)
  + break;
  + }
  + }
  if (SliceMgr)
  {
  