mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 04:04:58 +00:00 
			
		
		
		
	haiku: Added support for some values set with SDL_GL_SetAttribute().
This commit is contained in:
		
							parent
							
								
									6086e8d384
								
							
						
					
					
						commit
						90488d6c29
					
				| 
						 | 
				
			
			@ -72,6 +72,7 @@ class SDL_BWin:public BDirectWindow
 | 
			
		|||
 | 
			
		||||
#if SDL_VIDEO_OPENGL
 | 
			
		||||
        _SDL_GLView = NULL;
 | 
			
		||||
        _gl_type = 0;
 | 
			
		||||
#endif
 | 
			
		||||
        _shown = false;
 | 
			
		||||
        _inhibit_resize = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -133,6 +134,7 @@ class SDL_BWin:public BDirectWindow
 | 
			
		|||
                                     B_FOLLOW_ALL_SIDES,
 | 
			
		||||
                                     (B_WILL_DRAW | B_FRAME_EVENTS),
 | 
			
		||||
                                     gl_flags);
 | 
			
		||||
            _gl_type = gl_flags;
 | 
			
		||||
        }
 | 
			
		||||
        AddChild(_SDL_GLView);
 | 
			
		||||
        _SDL_GLView->EnableDirectMode(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -443,6 +445,7 @@ class SDL_BWin:public BDirectWindow
 | 
			
		|||
    BBitmap *GetBitmap() { return _bitmap; }
 | 
			
		||||
#if SDL_VIDEO_OPENGL
 | 
			
		||||
    BGLView *GetGLView() { return _SDL_GLView; }
 | 
			
		||||
    Uint32 GetGLType() { return _gl_type; }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    /* Setter methods */
 | 
			
		||||
| 
						 | 
				
			
			@ -625,6 +628,7 @@ private:
 | 
			
		|||
    /* Members */
 | 
			
		||||
#if SDL_VIDEO_OPENGL
 | 
			
		||||
    BGLView * _SDL_GLView;
 | 
			
		||||
    Uint32 _gl_type;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    int32 _last_buttons;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,8 +35,6 @@ extern "C" {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define BGL_FLAGS BGL_RGB | BGL_DOUBLE
 | 
			
		||||
 | 
			
		||||
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
 | 
			
		||||
    return ((SDL_BWin*)(window->driverdata));
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -104,7 +102,28 @@ SDL_GLContext BE_GL_CreateContext(_THIS, SDL_Window * window) {
 | 
			
		|||
    /* FIXME: Not sure what flags should be included here; may want to have
 | 
			
		||||
       most of them */
 | 
			
		||||
    SDL_BWin *bwin = _ToBeWin(window);
 | 
			
		||||
    bwin->CreateGLView(BGL_FLAGS);
 | 
			
		||||
    Uint32 gl_flags = BGL_RGB;
 | 
			
		||||
    if (_this->gl_config.alpha_size) {
 | 
			
		||||
        gl_flags |= BGL_ALPHA;
 | 
			
		||||
    }
 | 
			
		||||
    if (_this->gl_config.depth_size) {
 | 
			
		||||
        gl_flags |= BGL_DEPTH;
 | 
			
		||||
    }
 | 
			
		||||
    if (_this->gl_config.stencil_size) {
 | 
			
		||||
        gl_flags |= BGL_STENCIL;
 | 
			
		||||
    }
 | 
			
		||||
    if (_this->gl_config.double_buffer) {
 | 
			
		||||
        gl_flags |= BGL_DOUBLE;
 | 
			
		||||
    } else {
 | 
			
		||||
        gl_flags |= BGL_SINGLE;
 | 
			
		||||
    }
 | 
			
		||||
    if (_this->gl_config.accum_red_size ||
 | 
			
		||||
            _this->gl_config.accum_green_size ||
 | 
			
		||||
            _this->gl_config.accum_blue_size ||
 | 
			
		||||
            _this->gl_config.accum_alpha_size) {
 | 
			
		||||
        gl_flags |= BGL_ACCUM;
 | 
			
		||||
    }
 | 
			
		||||
    bwin->CreateGLView(gl_flags);
 | 
			
		||||
    return (SDL_GLContext)(bwin);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +159,7 @@ void BE_GL_RebootContexts(_THIS) {
 | 
			
		|||
        if(bwin->GetGLView()) {
 | 
			
		||||
            bwin->LockLooper();
 | 
			
		||||
            bwin->RemoveGLView();
 | 
			
		||||
            bwin->CreateGLView(BGL_FLAGS);
 | 
			
		||||
            bwin->CreateGLView(bwin->GetGLType());
 | 
			
		||||
            bwin->UnlockLooper();
 | 
			
		||||
        }
 | 
			
		||||
        window = window->next;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue