mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 15:34:58 +00:00 
			
		
		
		
	Fix software rendering in the mir backend. The window assumed hardware buffer, which caused testdrawchessboard to fail to mmap a buffer.
This commit is contained in:
		
							parent
							
								
									ec5f6ad595
								
							
						
					
					
						commit
						44a0f1d9cd
					
				| 
						 | 
				
			
			@ -56,6 +56,8 @@ MIR_CreateWindowFramebuffer(_THIS, SDL_Window* window, Uint32* format,
 | 
			
		|||
    MIR_Window* mir_window;
 | 
			
		||||
    MirSurfaceParameters surfaceparm;
 | 
			
		||||
 | 
			
		||||
    mir_data->software = SDL_TRUE;
 | 
			
		||||
 | 
			
		||||
    if (MIR_CreateWindow(_this, window) < 0)
 | 
			
		||||
        return SDL_SetError("Failed to created a mir window.");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -273,6 +273,7 @@ MIR_VideoInit(_THIS)
 | 
			
		|||
    MIR_Data* mir_data = _this->driverdata;
 | 
			
		||||
 | 
			
		||||
    mir_data->connection = MIR_mir_connect_sync(NULL, __PRETTY_FUNCTION__);
 | 
			
		||||
    mir_data->software = SDL_FALSE;
 | 
			
		||||
 | 
			
		||||
    if (!MIR_mir_connection_is_valid(mir_data->connection))
 | 
			
		||||
        return SDL_SetError("Failed to connect to the Mir Server");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,8 @@
 | 
			
		|||
typedef struct
 | 
			
		||||
{
 | 
			
		||||
    MirConnection* connection;
 | 
			
		||||
    SDL_bool software;
 | 
			
		||||
    
 | 
			
		||||
} MIR_Data;
 | 
			
		||||
 | 
			
		||||
#endif /* _SDL_mirvideo_h_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -99,6 +99,9 @@ MIR_CreateWindow(_THIS, SDL_Window* window)
 | 
			
		|||
    mir_data = _this->driverdata;
 | 
			
		||||
    window->driverdata = mir_window;
 | 
			
		||||
 | 
			
		||||
    if (mir_data->software)
 | 
			
		||||
        surfaceparm.buffer_usage = mir_buffer_usage_software;
 | 
			
		||||
 | 
			
		||||
    if (window->x == SDL_WINDOWPOS_UNDEFINED)
 | 
			
		||||
        window->x = 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@
 | 
			
		|||
typedef struct {
 | 
			
		||||
    SDL_Window* sdl_window;
 | 
			
		||||
    MIR_Data* mir_data;
 | 
			
		||||
    bool software;
 | 
			
		||||
 | 
			
		||||
    MirSurface* surface;
 | 
			
		||||
    EGLSurface egl_surface;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue