|
9 | 9 |
|
10 | 10 | Usage: |
11 | 11 |
|
12 | | - python pysdl2.py [-v] [-h] |
| 12 | + python pysdl2.py [-v] [-h] [-r {software|hardware}] |
13 | 13 |
|
14 | 14 | -v turn on debug messages |
| 15 | + -r specify hardware or software (default) rendering |
15 | 16 | -h display help info |
16 | 17 |
|
17 | 18 | Tested configurations: |
@@ -107,6 +108,14 @@ def main(): |
107 | 108 | dest='verbose', |
108 | 109 | action='store_true' |
109 | 110 | ) |
| 111 | + parser.add_argument( |
| 112 | + '-r', |
| 113 | + '--renderer', |
| 114 | + help='Specify hardware or software rendering', |
| 115 | + default='software', |
| 116 | + dest='renderer', |
| 117 | + choices=['software', 'hardware'] |
| 118 | + ) |
110 | 119 | args = parser.parse_args() |
111 | 120 | logLevel = logging.INFO |
112 | 121 | if args.verbose: |
@@ -169,9 +178,23 @@ def main(): |
169 | 178 | ) |
170 | 179 | # Define default background colour (black in this case) |
171 | 180 | backgroundColour = sdl2.SDL_Color(0, 0, 0) |
172 | | - # Create the renderer using hardware acceleration |
173 | | - renderer = sdl2.SDL_CreateRenderer(window, -1, |
174 | | - sdl2.render.SDL_RENDERER_ACCELERATED) |
| 181 | + renderer = None |
| 182 | + if args.renderer == 'hardware': |
| 183 | + # Create the renderer using hardware acceleration |
| 184 | + logging.info("Using hardware rendering") |
| 185 | + renderer = sdl2.SDL_CreateRenderer( |
| 186 | + window, |
| 187 | + -1, |
| 188 | + sdl2.render.SDL_RENDERER_ACCELERATED |
| 189 | + ) |
| 190 | + else: |
| 191 | + # Create the renderer using software acceleration |
| 192 | + logging.info("Using software rendering") |
| 193 | + renderer = sdl2.SDL_CreateRenderer( |
| 194 | + window, |
| 195 | + -1, |
| 196 | + sdl2.render.SDL_RENDERER_SOFTWARE |
| 197 | + ) |
175 | 198 | # Set-up the RenderHandler, passing in the SDL2 renderer |
176 | 199 | renderHandler = RenderHandler(renderer, width, height - headerHeight) |
177 | 200 | # Create the browser instance |
|
0 commit comments