Metal backend, part 10
This commit is contained in:
parent
53d71c798a
commit
a4fe96954b
2 changed files with 25 additions and 1 deletions
|
|
@ -130,6 +130,10 @@ bool FurnaceGUIRenderMetal::newFrame() {
|
|||
return ImGui_ImplMetal_NewFrame(priv->renderPass);
|
||||
}
|
||||
|
||||
bool FurnaceGUIRenderMetal::canVSync() {
|
||||
return swapIntervalSet;
|
||||
}
|
||||
|
||||
void FurnaceGUIRenderMetal::createFontsTexture() {
|
||||
logI("Metal: createFontsTexture()");
|
||||
ImGui_ImplMetal_CreateFontsTexture(priv->context.device);
|
||||
|
|
@ -167,6 +171,15 @@ int FurnaceGUIRenderMetal::getWindowFlags() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void FurnaceGUIRenderMetal::setSwapInterval(int swapInterval) {
|
||||
if (SDL_RenderSetVSync(sdlRend,(swapInterval>=0)?1:0)!=0) {
|
||||
swapIntervalSet=false;
|
||||
logW("tried to enable VSync but couldn't!");
|
||||
} else {
|
||||
swapIntervalSet=true;
|
||||
}
|
||||
}
|
||||
|
||||
void FurnaceGUIRenderMetal::preInit() {
|
||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER,"metal");
|
||||
priv=new FurnaceGUIRenderMetalPrivate;
|
||||
|
|
@ -180,6 +193,13 @@ bool FurnaceGUIRenderMetal::init(SDL_Window* win, int swapInterval) {
|
|||
|
||||
if (sdlRend==NULL) return false;
|
||||
|
||||
if (SDL_RenderSetVSync(sdlRend,(swapInterval>=0)?1:0)!=0) {
|
||||
swapIntervalSet=false;
|
||||
logW("tried to enable VSync but couldn't!");
|
||||
} else {
|
||||
swapIntervalSet=true;
|
||||
}
|
||||
|
||||
logI("retrieving context...");
|
||||
|
||||
priv->context=(__bridge CAMetalLayer*)SDL_RenderGetMetalLayer(sdlRend);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue