Commit 4beaa4e6 authored by Sam Lantinga's avatar Sam Lantinga

Playing around, trying to find a fast path with GDI

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401943
parent d1be2d9e
...@@ -78,8 +78,10 @@ SDL_RenderDriver SDL_D3D_RenderDriver = { ...@@ -78,8 +78,10 @@ SDL_RenderDriver SDL_D3D_RenderDriver = {
SDL_D3D_CreateRenderer, SDL_D3D_CreateRenderer,
{ {
"d3d", "d3d",
(SDL_Renderer_PresentDiscard | (SDL_Renderer_Minimal |
SDL_Renderer_PresentCopy | SDL_Renderer_RenderTarget), SDL_Renderer_SingleBuffer | SDL_Renderer_PresentCopy |
SDL_Renderer_PresentFlip2 | SDL_Renderer_PresentFlip3 |
SDL_Renderer_PresentDiscard | SDL_Renderer_RenderTarget),
(SDL_TextureBlendMode_None | (SDL_TextureBlendMode_None |
SDL_TextureBlendMode_Mask | SDL_TextureBlendMode_Blend), SDL_TextureBlendMode_Mask | SDL_TextureBlendMode_Blend),
(SDL_TextureScaleMode_None | SDL_TextureScaleMode_Fast), (SDL_TextureScaleMode_None | SDL_TextureScaleMode_Fast),
......
...@@ -79,7 +79,8 @@ SDL_RenderDriver SDL_GDI_RenderDriver = { ...@@ -79,7 +79,8 @@ SDL_RenderDriver SDL_GDI_RenderDriver = {
SDL_GDI_CreateRenderer, SDL_GDI_CreateRenderer,
{ {
"gdi", "gdi",
(SDL_Renderer_SingleBuffer | SDL_Renderer_PresentCopy | (//SDL_Renderer_Minimal |
SDL_Renderer_SingleBuffer | SDL_Renderer_PresentCopy |
SDL_Renderer_PresentFlip2 | SDL_Renderer_PresentFlip3 | SDL_Renderer_PresentFlip2 | SDL_Renderer_PresentFlip3 |
SDL_Renderer_PresentDiscard | SDL_Renderer_RenderTarget), SDL_Renderer_PresentDiscard | SDL_Renderer_RenderTarget),
(SDL_TextureBlendMode_None | SDL_TextureBlendMode_Mask | (SDL_TextureBlendMode_None | SDL_TextureBlendMode_Mask |
...@@ -491,13 +492,16 @@ SDL_GDI_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture, ...@@ -491,13 +492,16 @@ SDL_GDI_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture,
if (data->yuv) { if (data->yuv) {
return SDL_SW_LockYUVTexture(data->yuv, rect, markDirty, pixels, return SDL_SW_LockYUVTexture(data->yuv, rect, markDirty, pixels,
pitch); pitch);
} else { } else if (data->pixels) {
GdiFlush(); GdiFlush();
*pixels = *pixels =
(void *) ((Uint8 *) data->pixels + rect->y * data->pitch + (void *) ((Uint8 *) data->pixels + rect->y * data->pitch +
rect->x * SDL_BYTESPERPIXEL(texture->format)); rect->x * SDL_BYTESPERPIXEL(texture->format));
*pitch = data->pitch; *pitch = data->pitch;
return 0; return 0;
} else {
SDL_SetError("No pixels available");
return -1;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment