Need to allocate memory via callback to renderdoc.dll as well as freeing

* This whole interface really needs a tidy-up at some point, but for now
  this is enough.
This commit is contained in:
baldurk
2015-07-09 14:37:08 +02:00
parent d7c4c0be7d
commit af5c40cf7b
3 changed files with 11 additions and 1 deletions
+2 -1
View File
@@ -63,11 +63,12 @@ struct array
}
#ifdef RENDERDOC_EXPORTS
static void *allocate(size_t s) { return malloc(s); }
static void deallocate(const void *p) { free((void *)p); }
#else
static void *allocate(size_t s) { return RENDERDOC_AllocArrayMem(s); }
static void deallocate(const void *p) { RENDERDOC_FreeArrayMem(p); }
#endif
static void *allocate(size_t s) { return malloc(s); }
T &operator [](size_t i) { return elems[i]; }
const T &operator [](size_t i) const { return elems[i]; }
+3
View File
@@ -60,6 +60,9 @@ typedef uint32_t bool32;
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_FreeArrayMem(const void *mem);
typedef void (RENDERDOC_CC *pRENDERDOC_FreeArrayMem)(const void *mem);
extern "C" RENDERDOC_API void *RENDERDOC_CC RENDERDOC_AllocArrayMem(size_t sz);
typedef void *(RENDERDOC_CC *pRENDERDOC_AllocArrayMem)(size_t sz);
#include "basic_types.h"
// We give every resource a globally unique ID so that we can differentiate
+6
View File
@@ -383,6 +383,12 @@ void RENDERDOC_CC RENDERDOC_FreeArrayMem(const void *mem)
rdctype::array<char>::deallocate(mem);
}
extern "C" RENDERDOC_API
void *RENDERDOC_CC RENDERDOC_AllocArrayMem(size_t sz)
{
return rdctype::array<char>::allocate(sz);
}
extern "C" RENDERDOC_API
void RENDERDOC_CC RENDERDOC_InitRemoteAccess(uint32_t *ident)
{