Commit Graph

3298 Commits

Author SHA1 Message Date
Sunny Sachanandani
c19650cfdf Massive speed-up. Fixed the format that is set for the renderer. Included runtime checks for XDamage. 2010-07-19 18:57:02 +05:30
Sunny Sachanandani
93948935c4 Use XDamage to optimise drawing operations. 2010-07-19 17:46:37 +05:30
Sunny Sachanandani
72f6c24026 Resync tip to default. Using named branches is a bad idea. 2010-07-18 19:03:39 +05:30
Sunny Sachanandani
1662c33408 Remove experimental cruft. 2010-07-18 18:45:30 +05:30
Sunny Sachanandani
0d8e74ac5a Major changes to drawing. Reverted back to core X11 functions due to regressions. 2010-07-18 18:27:38 +05:30
Sunny Sachanandani
666481e9a9 Start experimental branch for client-side rasterization.
--HG--
branch : experimental
2010-07-18 12:43:04 +05:30
Sunny Sachanandani
70b00cda4c Got testsprite2 to work reasonably. 2010-07-18 08:28:35 +05:30
Sunny Sachanandani
03538d7a6e Fixed a minor bug with texture blending. 2010-07-17 15:53:29 +05:30
Sunny Sachanandani
2e46009f81 Remove some redundant code. 2010-07-17 15:41:34 +05:30
Sunny Sachanandani
39bc51bc48 Fixed so many things. See the changelog listed below.
1.  Use SDL_X11_HAVE_XRENDER to check for RENDER at runtime.
2.  Added lots of comments.
3.  Added checks and lots of calls to SDL_SetError().
4.  Fixed X11_CreateTexture() so that the pixmap and image created
    are for the format specified by the user and not the window
    format. This is only for the RENDER case.
5.  The above change required that functions to convert SDL
    pixel format enums to Visuals and XRenderPictFormats be added.
6.  Fixed lots of 'style' issues.
2010-07-17 15:38:24 +05:30
Sunny Sachanandani
fe5dc5364e Add necessary symbols to SDL_x11sym.h 2010-07-17 11:41:43 +05:30
Sunny Sachanandani
be82664fd2 Implement blending modes for textures. Fix off-screen pixmaps to be ARGB rather than RGB to enable blending across frames. Clear the screen and off-screen pixmaps when the renderer is created. 2010-07-14 19:17:11 +05:30
Sunny Sachanandani
737d17d1a9 Fix so many things that there is little place in this column to list them all but the result is that blending modes just work now for drawing primitives.
Fixes involved:
1. Fix handling of alpha channel when SDL_BLENDMODE_NONE is set.
2. Make xrendercolor use floating-point values for color channels and then convert to 16 bit ints.
3. Fix handling of visuals in SDL_x11modes.c so that a 32 bit ARGB visual is used.
4. Fix the background pixel value in SDL_x11window.c so that the window background has an alpha value of 0xFF and not 0.
2010-07-09 21:36:41 +05:30
Sunny Sachanandani
adb7883461 Fix blending modes for primitives. 2010-07-01 07:35:15 +05:30
Sunny Sachanandani
12efdd0c9a Preliminary support for blending modes on drawing operations. 2010-06-27 09:51:51 +05:30
Sunny Sachanandani
e076e2d536 Texture rendering mostly works now. Even SDL_TEXTUREACCESS_STREAMING is supported now with a little overhead. Scaling of textures happens using XRender. :D 2010-06-22 20:01:38 +05:30
Sunny Sachanandani
ed2719210f SDL_Textures should work with XRender now provided that the texture format and screen format match. This is only a temporary limitation. 2010-06-16 10:50:01 +05:30
Sunny Sachanandani
7da64e5b57 X11_RenderDrawLines and X11_RenderDrawPoints use XRender now. 2010-06-15 19:10:06 +05:30
Sunny Sachanandani
5725c79231 X11_RenderFillRects and X11_RenderDrawRects use a server side mask pixmap of 1 bit depth now. All drawing on these pixmaps is done by server side functions such as XDrawRectangles and XFillRectangles. 2010-06-14 18:22:48 +05:30
Sunny Sachanandani
64241e7956 X11_DrawRects now uses a very hacky way of drawing rectangles with XRender. This will be improved in some time. 2010-06-08 19:26:32 +05:30
Sunny Sachanandani
a067ba2b4f It seems that the off-screen buffers (or pixmaps) only need to be cleared while initializing. 2010-06-02 11:55:40 +05:30
Sunny Sachanandani
e51d41dac5 Fix X11_FillRects to work with double buffering as well as triple buffering. This requires that the buffer pixmap be cleared after every render. 2010-06-02 11:45:15 +05:30
Sunny Sachanandani
0ed5e53314 Fix the rendering color channels to be premultiplied with the alpha channel as thats what Xrender expects. Small fixes in X11_CreateTexture. Add some new functions in SDL_x11sym.h as well as support for Xrender. 2010-06-02 09:01:37 +05:30
Sunny Sachanandani
6b6045f236 X11_RenderPresent now uses XRender to blit back-buffers to the screen. 2010-05-31 17:04:20 +05:30
Sunny Sachanandani
e07a3ef80c Xrender uses 16 bit color per channel. Fixed the color handling in X11_RenderFillRects to match this. Xrender just works now for filling rectangles :D . 2010-05-31 15:09:36 +05:30
Sunny Sachanandani
bc6683eed7 Modified configure.in to allow building with Xrender. Fixed all problems that prevented compilation.
Builds fine now :)
2010-05-31 13:27:27 +05:30
Sunny Sachanandani
503af03024 Add Xrender support to X11_FillRectangles. 2010-05-30 20:06:30 +05:30
Sunny Sachanandani
ab9cb8143c Fix typo. 2010-05-28 20:48:58 +05:30
Sunny Sachanandani
e9e630c7e0 Fix initial value of the xrender_available boolean in X11_CreateTexture. 2010-05-28 20:47:24 +05:30
Sunny Sachanandani
e049cc403a Completed work on X11_CreateTexture. Added lots of safety features.
These include support for drawing a texture using the core protocol
while other textures are drawn using Xrender if Xrender does not support
the color format of the said texture or any other fault with Xrender.
2010-05-28 20:40:09 +05:30
Sunny Sachanandani
b88a72e774 Correctly handle the availability of Xrender in X11_CreateRenderer and X11_DisplayModeChanged.
Fixed the XRenderPictureAttributes value in X11_CreateRenderer with graphics_exposures = False.

Start work on Xrender specific additions to X11_TextureData and X11_CreateTexture.
2010-05-26 20:11:56 +05:30
Sunny Sachanandani
d5fe34e303 Added a #define option for compile time Xrender support.
Added some more attributes (specific to Xrender) to the X11 structs.
Added some code for querying the Xrender extension.
2010-05-24 21:02:58 +05:30
Sunny Sachanandani
7551aa6dd9 Adding a few #defines for Xrender support. 2010-05-19 18:58:28 +05:30
Sam Lantinga
9a5b4a1a84 Add a default revision string if we can't find hg 2010-05-09 19:55:28 -07:00
Sam Lantinga
47c0e1e892 Don't assume .bashrc exists. :) 2010-05-09 19:51:21 -07:00
Sam Lantinga
6f968d9e3f Tagging version before everything gets ripped out. 2010-05-09 17:00:56 -07:00
Sam Lantinga
861f7cd38a Make the compiler even happier 2010-05-09 16:16:11 -07:00
Sam Lantinga
1b3a6fb5b7 Make sure events are current before flushing them. 2010-05-09 16:15:14 -07:00
Sam Lantinga
29596b2204 Added missing header 2010-05-09 15:47:21 -07:00
Sam Lantinga
0b0a5e0be5 Removed unused variables 2010-05-09 15:46:19 -07:00
Sam Lantinga
69b841b3e3 Fixed compiler warnings 2010-05-09 15:33:10 -07:00
Sam Lantinga
a5bb8cf382 Fixed variable use before initialize warnings 2010-05-09 15:24:31 -07:00
Sam Lantinga
3b0aa4bb4c Removed unused variables 2010-05-09 15:24:05 -07:00
Sam Lantinga
fb9e73dd09 Fixed Eric's changes to allow building from the command line. 2010-05-09 10:00:33 -07:00
Sam Lantinga
98918d160e Updated with the SDL 1.3 list of supported operating systems 2010-05-09 09:53:57 -07:00
Eric Wing
f4b7b16da7 Updated Mac Xcode project for refactored rwops automated test changes. 2010-05-09 07:00:28 -07:00
Eric Wing
f0650b31dc Refactored automated rwops tests so read and write directories can be more easily customized.
The refactored tests were written in recognition that Mac and iPhone current working directories are usually not going to work. Resource directories are in bundles and write directories are restricted to certain areas. In theory, other platforms may have this problem too, hence the refactoring.

Also updated the Xcode iPhone project to use 3.2 as the Base SDK, but 3.1 as the Deployment SDK (for iPhone/iPad compatibility.)
2010-05-09 06:58:30 -07:00
Eric Wing
ef6951c458 Fixes to automated test target for iPhone Xcode project.
Looks like there is a problem with the source code base. UIScreenMode and possibly a few other 3.2 only APIs have crept in. 3.2 is only available for iPad, and not iPhone/iPod Touch.
2010-05-08 08:23:46 -07:00
Eric Wing
95b8bdedff Exempted writable modes from bundle check on OS X since bundle areas are typically read-only. 2010-05-08 04:52:17 -07:00
Eric Wing
36478c7ce3 Adding testsdl (automated test) support to iPhone Xcode project (to match Mac Xcode project).
I haven't updated yet to the 3.2 SDK so SDL no longer builds for me so I can't yet verify if the new target completely works.
2010-05-08 01:12:55 -07:00