Commit graph

3035 commits

Author SHA1 Message Date
Sam Lantinga
b1c0c48f03 Prefer the OpenGL ES 2.0 context when it's available, make it possible to create an OpenGL 2.0 context on iPhoneOS 2011-02-06 10:22:25 -08:00
Sam Lantinga
55a04881d8 Fixed crash when binary shaders are not available. 2011-02-06 08:46:48 -08:00
Sam Lantinga
58e9ea986f Fixed building on Android, added SDL_opengles2.h, removed unnecessary SDL_glesfuncs.h
--HG--
rename : src/video/SDL_glfuncs.h => src/render/opengl/SDL_glfuncs.h
2011-02-06 02:35:14 -08:00
Sam Lantinga
cc1f36b7dc Minor consistency cleanup and documentation link update. 2011-02-06 00:48:41 -08:00
Sam Lantinga
0e1d3a505d Removed extra unneeded pixel formats, added support for VSYNC on other platforms besides Zune HD. 2011-02-06 00:48:16 -08:00
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
f002356b91 Renamed files for consistency
--HG--
rename : src/render/direct3d/SDL_d3drender.c => src/render/direct3d/SDL_render_d3d.c
rename : src/render/opengl/SDL_renderer_gl.c => src/render/opengl/SDL_render_gl.c
rename : src/render/opengles/SDL_renderer_gles.c => src/render/opengles/SDL_render_gles.c
rename : src/render/software/SDL_renderer_sw.c => src/render/software/SDL_render_sw.c
rename : src/render/software/SDL_renderer_sw_c.h => src/render/software/SDL_render_sw_c.h
2011-02-05 12:01:11 -08:00
Sam Lantinga
991558a464 Fixed newlines 2011-02-05 11:54:46 -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
37f40cdb19 Allow SDL_HINT_FRAMEBUFFER_ACCELERATION to specify the renderer to use. 2011-02-05 10:11:27 -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
d3229ca45a Removed execute permissions on source files. 2011-02-05 01:03:51 -08:00
Sam Lantinga
f59b2ba3fb Updated the name of the Direct3D renderer. 2011-02-05 00:34:34 -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
3bcc4afe75 Added the X11 framebuffer implementation. Simple! :) 2011-02-04 18:05:20 -08:00
Sam Lantinga
e27077bfaf The format detection code works better with 555 and 565 pixel formats 2011-02-04 16:55:50 -08:00
Sam Lantinga
065cf0f75a SDL_SetTextureBlendMode broken, caught by Kai Sterker - Thanks! 2011-02-05 00:32:04 -08:00
Sam Lantinga
dfade9a630 These aren't executable files. :) 2011-02-04 23:31:56 -08:00
Sam Lantinga
5920369169 Fixed compiling on Windows CE 2011-02-04 13:58:29 -08:00
Sam Lantinga
1b6243d5dc Use the exact format of the window if possible, for speed. 2011-02-04 13:47:02 -08:00
Sam Lantinga
d9aa583921 Added the Windows framebuffer implementation.
This actually ends up being faster than Direct3D with a dynamic texture. (???)
2011-02-04 12:29:58 -08:00
Sam Lantinga
f5569d20c7 Don't free the surface since the application might be still using it. 2011-02-04 12:26:01 -08:00
Sam Lantinga
60296780e3 Standardized on using the managed texture pool.
Also experimented with dynamic textures, but didn't get any speed increase with them.  More research and testing is needed.
2011-02-04 12:25:26 -08:00
Sam Lantinga
d8fd1e0861 Don't free the surface since the application might be still using it.
Also experimented with texture rectangle updates, but I think at this point the full rect update gives the most consistent results.
2011-02-04 12:24:28 -08:00
Sam Lantinga
1ed5bd8dd1 Removed unused variables 2011-02-04 12:22:52 -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
1fc2b68be2 Fixed recursion crash when setting SDL_VIDEO_RENDERER=software 2011-02-03 17:42:58 -08:00
Sam Lantinga
4f0e222a0b Fixed crash if SDL_VideoDriverName() is passed a NULL namebuf 2011-02-03 16:57:38 -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
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
6ddcc36edf Fixed building for Android 2011-02-03 01:30:28 -08:00
Sam Lantinga
6950191fad Create the video texture based on the available texture formats, not the backbuffer format. 2011-02-03 01:13:48 -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
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
b4fff42fc6 The DrawRect API is implemented using lines 2011-02-01 20:50:04 -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
6539ab9c74 The renderers always support texture modulation and blend modes. 2011-02-01 12:54:27 -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