Browse Source

Reapplied correct version of SDLSetPreferredRenderer.

Brucey 3 years ago
parent
commit
565f31d240
1 changed files with 19 additions and 1 deletions
  1. 19 1
      sdlrendermax2d.mod/sdlrendermax2d.bmx

+ 19 - 1
sdlrendermax2d.mod/sdlrendermax2d.bmx

@@ -41,6 +41,7 @@ Import SDL.SDLRender
 Private
 
 Global _driver:TSDLRenderMax2DDriver
+Global _preferredRenderer:Int = -1
 
 Function Pow2Size:Int( n:Int )
 	Local t:Int = 1
@@ -169,7 +170,7 @@ Type TSDLRenderMax2DDriver Extends TMax2DDriver
 			flags :| SDL_RENDERER_PRESENTVSYNC
 		End If
 
-		renderer = TSDLRenderer.Create(gfx._context.window, -1, flags)
+		renderer = TSDLRenderer.Create(gfx._context.window, _preferredRenderer, flags)
 		
 		t.MakeCurrent
 	End Method
@@ -501,6 +502,23 @@ End Function
 Local driver:TSDLRenderMax2DDriver=SDLRenderMax2DDriver()
 If driver SetGraphicsDriver driver
 
+Rem
+bbdoc: Defines the preferred renderer, by name.
+about: Available renderers vary by platform. If @renderer is not found, default will be used.
+End Rem
+Function SDLSetPreferredRenderer( renderer:String )
+	For Local i:int = 0 Until SDLGetNumRenderDrivers()
+		Local info:SDLRendererInfo
+		SDLGetRenderDriverInfo(i, info)
+		If info.GetName() = renderer Then
+			_preferredRenderer = i
+			Return
+		End If
+	Next
+	_preferredRenderer = -1
+End Function
+
+
 Rem
 bbdoc: Marks a renderer to be prioritized over others, by name.
 about: Available renderers vary by platform. If @renderer is not found or