bgfx allocator using allocation with alignment;
some more parts of code profiled
This commit is contained in:
parent
e221de62dc
commit
35426572cd
7 changed files with 21 additions and 14 deletions
|
@ -2,13 +2,14 @@
|
|||
|
||||
#include "core/array.h"
|
||||
#include "core/free_list.h"
|
||||
#include "core/path.h"
|
||||
#include "core/stack_allocator.h"
|
||||
#include "core/static_array.h"
|
||||
#include "core/string.h"
|
||||
#include "core/fs/os_file.h"
|
||||
#include "core/fs/tcp_file_device.h"
|
||||
#include "core/mt/task.h"
|
||||
#include "core/path.h"
|
||||
#include "core/profiler.h"
|
||||
#include "core/stack_allocator.h"
|
||||
#include "core/static_array.h"
|
||||
#include "core/string.h"
|
||||
#include "core/network.h"
|
||||
|
||||
|
||||
|
@ -175,6 +176,7 @@ public:
|
|||
|
||||
while (!quit)
|
||||
{
|
||||
PROFILE_BLOCK("File server operation")
|
||||
int32 op = 0;
|
||||
stream->read(op);
|
||||
switch (op)
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include "lumix.h"
|
||||
#include "core/MTJD/scheduler.h"
|
||||
|
||||
#include "core/MTJD/manager.h"
|
||||
#include "core/profiler.h"
|
||||
|
||||
|
||||
namespace Lumix
|
||||
{
|
||||
|
@ -25,6 +26,7 @@ namespace Lumix
|
|||
{
|
||||
m_data_event.wait();
|
||||
|
||||
PROFILE_BLOCK("Schedule")
|
||||
m_manager.doScheduling();
|
||||
}
|
||||
|
||||
|
|
|
@ -381,21 +381,19 @@ void* Allocator::reallocate(void* user_ptr, size_t size)
|
|||
|
||||
void* Allocator::allocate_aligned(size_t size, size_t align)
|
||||
{
|
||||
ASSERT(false);
|
||||
return nullptr;
|
||||
return m_source.allocate_aligned(size, align);
|
||||
}
|
||||
|
||||
|
||||
void Allocator::deallocate_aligned(void* ptr)
|
||||
{
|
||||
ASSERT(false);
|
||||
m_source.deallocate_aligned(ptr);
|
||||
}
|
||||
|
||||
|
||||
void* Allocator::reallocate_aligned(void* ptr, size_t size, size_t align)
|
||||
{
|
||||
ASSERT(false);
|
||||
return nullptr;
|
||||
return m_source.reallocate_aligned(ptr, size, align);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "core/binary_array.h"
|
||||
#include "core/free_list.h"
|
||||
#include "core/frustum.h"
|
||||
#include "core/profiler.h"
|
||||
#include "core/sphere.h"
|
||||
|
||||
#include "core/mtjd/group.h"
|
||||
|
@ -27,6 +28,7 @@ static void doCulling(int start_index,
|
|||
int64 layer_mask,
|
||||
CullingSystem::Subresults& results)
|
||||
{
|
||||
PROFILE_FUNCTION();
|
||||
int i = start_index;
|
||||
ASSERT(results.empty());
|
||||
for (const Sphere *sphere = start; sphere <= end; sphere++, ++i)
|
||||
|
|
|
@ -1661,6 +1661,7 @@ public:
|
|||
MTJD::Job* job = MTJD::makeJob(m_engine.getMTJDManager(),
|
||||
[&subinfos, layer_mask, this, &results, subresult_index, &frustum]()
|
||||
{
|
||||
PROFILE_BLOCK("Temporary Info Job");
|
||||
Vec3 frustum_position = frustum.getPosition();
|
||||
const CullingSystem::Subresults& subresults = results[subresult_index];
|
||||
for (int i = 0, c = subresults.size(); i < c; ++i)
|
||||
|
|
|
@ -89,17 +89,17 @@ struct BGFXAllocator : public bx::AllocatorI
|
|||
}
|
||||
|
||||
|
||||
void* realloc(void* _ptr, size_t _size, size_t, const char*, uint32) override
|
||||
void* realloc(void* _ptr, size_t _size, size_t _alignment, const char*, uint32) override
|
||||
{
|
||||
if (!_ptr) return m_source.allocate(_size);
|
||||
if (!_ptr) return m_source.allocate_aligned(_size, _alignment);
|
||||
|
||||
if (_ptr && _size == 0)
|
||||
{
|
||||
m_source.deallocate(_ptr);
|
||||
m_source.deallocate_aligned(_ptr);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return m_source.reallocate(_ptr, _size);
|
||||
return m_source.reallocate_aligned(_ptr, _size, _alignment);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "file_system_watcher.h"
|
||||
#include "core/MT/task.h"
|
||||
#include "core/profiler.h"
|
||||
#include "core/string.h"
|
||||
|
||||
#include "core/pc/simple_win.h"
|
||||
|
@ -138,6 +139,7 @@ int FileSystemWatcherTask::task()
|
|||
bool finished = false;
|
||||
while (!finished)
|
||||
{
|
||||
PROFILE_BLOCK("Change handling");
|
||||
finished = ReadDirectoryChangesW(m_handle,
|
||||
m_info,
|
||||
sizeof(m_info),
|
||||
|
|
Loading…
Reference in a new issue