- 25 Feb, 2011 2 commits
-
-
Sam Lantinga authored
Tracking rectangles had some problems, it's easier to track things directly. (fixes bug 1149, 1147, 1146)
-
Sam Lantinga authored
Matthias 2011-02-23 09:37:51 PST Please view the attached source file. Using this minimal program (as attached), it creates an OpenGL 2.0 context with a cleared color buffer. If I set the OpenGL version to 3.2, the function SDL_GL_CreateContext fails (or more specifically, glXMakeCurrent fails) with an X11 BadMatch error: X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 128 (GLX) Minor opcode of failed request: 5 (X_GLXMakeCurrent) Serial number of failed request: 153 Current serial number in output stream: 153 Also note that if I do not specify the alpha buffer size, the program works for OpenGL 2.0 and OpenGL 3.2. After some further analysis, I believe I have found the problem. The specific issue is in: SDL_x11opengl.c::X11_GL_CreateContext. Note that for OpenGL 3.2 contexts, the GLXFBConfig to use is chosen as the best match from glXChooseFBConfig. However, opengl attributes originally set with SDL_GL_SetAttribute are not mapped to GLX attributes and then passed to the glXChooseFBConfig function. According to the GLX 1.4 specification, if the attributes are not specified, the function falls back to defaults (which, in this particular case, prefer alpha channel size == 0). For testing purposes, I modified the call to glXChooseFBConfig to look something like this: int glxAttribs[] = { GLX_RED_SIZE,8, GLX_GREEN_SIZE,8, GLX_BLUE_SIZE,8, GLX_ALPHA_SIZE,8, None }; if (!glXChooseFBConfig || !(framebuffer_config = glXChooseFBConfig(display, DefaultScreen(display), glxAttribs, &fbcount))) { ... } The best match GLXFBConfig then supports 8 bit alpha channel. The program then works as intended. Hope this helps!
-
- 24 Feb, 2011 1 commit
-
-
Sam Lantinga authored
-
- 23 Feb, 2011 3 commits
-
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
- 22 Feb, 2011 14 commits
-
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
Don't automatically send minimized and maximized events, it's up to the windowing system to decide what to do with them.
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
Added documentation for why we need an SDLView
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
- 21 Feb, 2011 9 commits
-
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
Fixed the responder chain for event handling, the listener fully handles mouse events - even in fullscreen mode. The only reason we need a custom view is to handle right mouse down. Implemented mouse grabbing, although it's kind of clunky right now. I'll be adding a relative mode that will be smoother soon.
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
- 20 Feb, 2011 11 commits
-
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
Edgar Simo 2011-02-20 10:27:52 PST Adding patch that adds a simplified API for the haptic subsystem built ontop of the "real one" for those who want simple rumble without jumping through hoops. Adds 4 functions: - extern DECLSPEC int SDLCALL SDL_HapticRumbleSupported(SDL_Haptic * haptic); - extern DECLSPEC int SDLCALL SDL_HapticRumbleInit(SDL_Haptic * haptic); - extern DECLSPEC int SDLCALL SDL_HapticRumblePlay(SDL_Haptic * haptic, float strength, Uint32 length ); - extern DECLSPEC int SDLCALL SDL_HapticRumbleStop(SDL_Haptic * haptic); Also provided is test/testrumble.c which does test this. This has all been tested on linux and has worked, but due to being built ontop of the other haptic API it should work on all OS the same.
-
Sam Lantinga authored
-
Sam Lantinga authored
Edgar Simo 2011-02-20 09:02:31 PST Linux uses fname, which is the name of the device path like for example /dev/input/event3 so it shouldn't have the issue. However I can confirm that it looks like haptic->index never gets properly set on windows. Have to look at mac os x also. I'll see if I can fix it real quick now.
-
Sam Lantinga authored
-
Sam Lantinga authored
-
Sam Lantinga authored
-