Commit graph

904 commits

Author SHA1 Message Date
Sam Lantinga
f2c40726b6 Added an OpenGL ES 2.0 renderer, contributed by itsnotabigtruck
This compiles, but it untested.
2011-02-06 00:00:13 -08:00
Sam Lantinga
a51c332dfe Created a simpler version of SDL_SetHint() that doesn't need a priority. 2011-02-05 20:02:37 -08:00
Sam Lantinga
8b3eb38df2 Updated the DirectFB support, from Couriersud
attached is a working directfb driver diff which works with the current
changes. There are a number of changes around it as well, e.g.
configure.in.

The directfb renderdriver right now still depends on a some "includes"
from src/video/directfb. That's why it is not yet moved to the new
render folder.
2011-02-05 16:07:10 -08:00
Sam Lantinga
f8247546d6 Added the SDL_HINT_RENDER_DRIVER and SDL_HINT_RENDER_VSYNC hints. 2011-02-05 10:35:36 -08:00
Sam Lantinga
ce1ef46aeb Added a hint to determine whether framebuffer texture acceleration should be used, and added default behaviors for the various platforms. 2011-02-05 10:03:12 -08:00
Sam Lantinga
7f7bf51bdb Added a hint system to allow configuration hints to be specified by the application. 2011-02-05 10:02:39 -08:00
Sam Lantinga
08c975d3ab Fixed permissions on the Android config header. 2011-02-05 01:02:24 -08:00
Sam Lantinga
8209e2a9a9 Restored SDL_BLENDMODE_MOD for MAME 2011-02-04 19:50:56 -08:00
Sam Lantinga
31f1dceb0c Removed a bunch of X11 support that we no longer need. 2011-02-04 19:18:08 -08:00
Sam Lantinga
125e56851f Switched the SDL 1.2 compatibility to use the window surface, so it's fast even when there's no hardware acceleration available.
This means that the YUV overlay now uses software, but that's okay since fast YUV code should be using the textures now anyway.
2011-02-03 21:13:55 -08:00
Sam Lantinga
052351dbe2 Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
The software renderer has been re-routed to use the framebuffer interface, which makes it possible to have software rendering available even on simple ports.
2011-02-03 15:49:37 -08:00
Sam Lantinga
657d4fd190 Extended SDL_SetWindowData() to allow arbitrary named values. 2011-02-03 11:16:57 -08:00
Sam Lantinga
ddfdd2c2b9 Added an intro to the features and goals of the 2D rendering API. 2011-02-03 10:03:55 -08:00
Sam Lantinga
c1295241c6 Making the API simpler, moved the surface drawing functions to the software renderer.
--HG--
rename : src/video/SDL_blendline.c => src/render/software/SDL_blendline.c
rename : src/video/SDL_blendpoint.c => src/render/software/SDL_blendpoint.c
rename : src/video/SDL_draw.h => src/render/software/SDL_draw.h
rename : src/video/SDL_drawline.c => src/render/software/SDL_drawline.c
rename : src/video/SDL_drawpoint.c => src/render/software/SDL_drawpoint.c
2011-02-03 02:45:29 -08:00
Sam Lantinga
5689d8ef80 Re-ordered platforms based on frequency 2011-02-03 01:19:10 -08:00
Sam Lantinga
fe2b0d9703 Simplified and improved the process of creating a texture from a surface. 2011-02-03 00:54:29 -08:00
Sam Lantinga
31b3ad2414 Making the API simpler, removed the writepixels interface 2011-02-03 00:22:18 -08:00
Sam Lantinga
d2b54f7d24 Made it possible to create a texture of any format, even if not supported by the renderer.
This allows me to reduce the set of formats supported by the renderers to the most optimal set, for a nice speed boost.

--HG--
rename : src/video/SDL_yuv_mmx.c => src/render/SDL_yuv_mmx.c
rename : src/video/SDL_yuv_sw.c => src/render/SDL_yuv_sw.c
rename : src/video/SDL_yuv_sw_c.h => src/render/SDL_yuv_sw_c.h
rename : src/video/mmx.h => src/render/mmx.h
2011-02-03 00:19:40 -08:00
Sam Lantinga
613d92a832 Fixed compiling on Windows 2011-02-02 22:55:12 -08:00
Sam Lantinga
5897ef7d95 Moved the rendering code out to a separate directory in the hope that it can someday be completely decoupled from the rest of the library and be expanded to an awesome 2D on 3D library.
--HG--
rename : src/video/windows/SDL_d3drender.c => src/render/direct3d/SDL_d3drender.c
rename : src/video/SDL_renderer_gl.c => src/render/opengl/SDL_renderer_gl.c
rename : src/video/SDL_renderer_gles.c => src/render/opengles/SDL_renderer_gles.c
rename : src/video/SDL_renderer_sw.c => src/render/software/SDL_renderer_sw.c
2011-02-02 14:34:54 -08:00
Sam Lantinga
a47948aab0 Nobody is currently maintaining the QNX code, so removing it for now. 2011-02-01 21:40:03 -08:00
Sam Lantinga
09a8558897 Making the API simpler, removed support for palettized video modes and textures. 2011-02-01 21:23:43 -08:00
Sam Lantinga
df94d4c6a4 The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future. 2011-02-01 19:19:43 -08:00
Sam Lantinga
52cf8a6451 Added functions to watch events as they go through the event queue. 2011-02-01 19:15:42 -08:00
Sam Lantinga
b231d0b93d Split the rendering API out into a separate header file. 2011-02-01 15:02:21 -08:00
Sam Lantinga
32406a59c6 Renumbered the renderer flags 2011-02-01 12:44:52 -08:00
Sam Lantinga
d627939049 Making the API simpler, the renderer present semantics are always having a backbuffer and then discarding it. This is best for hardware accelerated rendering.
--HG--
extra : rebase_source : bbe6641fce097c79ccd47f4e1ea6b27683fd0acb
2011-02-01 12:19:46 -08:00
Sam Lantinga
4c06e58153 Making the API simpler, texture color and alpha modulation are supported by all renderers.
--HG--
extra : rebase_source : 880752438aae8f6526503d220bad91aabc3a7d1c
2011-01-31 23:37:30 -08:00
Sam Lantinga
825e1da54d Making the API simpler, the blend modes are "none, blend, add" and are supported by all renderers.
--HG--
extra : rebase_source : f06ea01caa64c8ad14170c723e5af52dad64d779
2011-01-31 23:23:57 -08:00
Sam Lantinga
372693d86f Removed more partially functional renderers
--HG--
extra : rebase_source : d00f0590e133604070f978762a6728b4afde02ca
2011-01-31 22:53:45 -08:00
Sam Lantinga
df1f384c5b Making the API simpler, scaling is always defined as linear interpolation and should be supported as much as possible on all renderers.
--HG--
extra : rebase_source : 4edac7fd162a2eb37a50159b958db37a03e944a5
2011-01-31 22:44:43 -08:00
Sam Lantinga
9c12618379 Removed partially functional renderers
--HG--
extra : rebase_source : 3fc2560c02393bf9e7c46360fc24f2585c9409be
2011-01-31 22:21:29 -08:00
Sam Lantinga
886e947679 Spacing for documentation tweaks 2011-02-01 12:01:37 -08:00
Sam Lantinga
2cdadc64b5 Tweak for documentation 2011-02-01 11:53:29 -08:00
Sam Lantinga
250faf507b Added Edgar's blog to the haptic documentation 2011-01-28 12:09:25 -08:00
Sam Lantinga
c3daf0f0cd Removed completely non-portable event thread hack.
Next I'll be working on generalizing the event sources and making the event queue lock-free. :)
2011-01-27 22:44:08 -08:00
Sam Lantinga
b2ff9dc39f Added API function to get CPU cache line size. 2011-01-27 20:46:45 -08:00
Sam Lantinga
772009b691 Bump up the default cache line size. 2011-01-27 16:51:47 -08:00
Sam Lantinga
fb824f9a04 Added cache line size info in SDL_cpuinfo.h
I also added an implementation to dynamically query it, but didn't expose it since most x86 CPUs have an L1 cache line size of 64 bytes.
2011-01-27 16:46:15 -08:00
Sam Lantinga
dd4f2c1339 Improved timer implementation
The new timer model is formalized as using a separate thread to handle timer callbacks.  This was the case on almost every platform before, but it's now a requirement, and simplifies the implementation and makes it perform consistently across platforms.

Goals:
 * Minimize timer thread blocking
 * Dispatch timers as accurately as possible
 * SDL_AddTimer() and SDL_RemoveTimer() are completely threadsafe
 * SDL_RemoveTimer() doesn't crash with a timer that's expired or removed
2011-01-27 14:45:06 -08:00
Sam Lantinga
2fd57ffe61 Improved condition variable documentation 2011-01-27 10:40:17 -08:00
Sam Lantinga
e2a13f8922 Only document the public API, not the whole source tree. 2011-01-27 07:05:13 -08:00
Sam Lantinga
d06966d7f2 Nobody is maintaining RISC OS code, so I'm removing it for now. 2011-01-27 00:06:36 -08:00
Sam Lantinga
bbc1ba223a Added a FIFO test to the atomic test suite.
This is really useful because we might be able to use something like this
for the SDL event queue.
2011-01-25 23:23:52 -08:00
Sam Lantinga
fc5dc0ddb2 More fixes for compilation on Visual Studio 2011-01-25 18:02:41 -08:00
Sam Lantinga
81dee4358f Fixed compile error on Visual C++ 2011-01-25 17:44:17 -08:00
Sam Lantinga
29e0bf97e0 Improvements based on feedback from Anthony Williams 2011-01-25 17:40:06 -08:00
Sam Lantinga
7327ef6bb9 Fixed cross-compiling for Windows 2011-01-24 21:41:36 -08:00
Sam Lantinga
065e4e3f9d Fixed bug #1100
Test the video features with #if instead of #ifdef
2011-01-24 17:38:18 -08:00
Sam Lantinga
10b8372bd3 Fixed compiling on Windows Mobile SDK 5.0 with Visual Studio 2008 2011-01-24 15:46:11 -08:00