mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-06-09 04:21:38 +12:00
ios: Pass CAMetalLayer instead of void* to Obj-C++ bridging header
This commit is contained in:
parent
e378a52b5a
commit
90279e6f9e
4 changed files with 14 additions and 6 deletions
|
@ -57,7 +57,6 @@ void RendererMTL::reset() {
|
|||
|
||||
void RendererMTL::setMTKLayer(void* layer) {
|
||||
metalLayer = (CA::MetalLayer*)layer;
|
||||
// metalLayer->retain();
|
||||
}
|
||||
|
||||
void RendererMTL::display() {
|
||||
|
@ -127,8 +126,9 @@ void RendererMTL::display() {
|
|||
// Inform the vertex buffer cache that the frame ended
|
||||
vertexBufferCache.endFrame();
|
||||
drawable->release();
|
||||
|
||||
#ifdef PANDA3DS_IOS
|
||||
// metalLayer->release();
|
||||
// metalLayer->autorelease();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -30,9 +30,15 @@ IOS_EXPORT void iosCreateEmulator() {
|
|||
printf("Created emulator\n");
|
||||
}
|
||||
|
||||
IOS_EXPORT void iosRunFrame(void* layer) {
|
||||
IOS_EXPORT void iosRunFrame(CAMetalLayer* layer) {
|
||||
printf("Running a frame\n");
|
||||
emulator->getRenderer()->setMTKLayer(layer);
|
||||
// void* layerBridged = (void*)CFBridgingRetain(layer);
|
||||
void* layerBridged = (__bridge void*)layer;
|
||||
|
||||
emulator->getRenderer()->setMTKLayer(layerBridged);
|
||||
emulator->runFrame();
|
||||
CFRelease(layerBridged);
|
||||
|
||||
// CFBridgingAutorelease(layerBridged);
|
||||
printf("Ran a frame\n");
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue