Removed SDL_RENDERER_ACCELERATED and SDL_RENDERER_SOFTWARE
These flags are unnecessary and have always been a source of confusion.main
parent
3f8dba3713
commit
5fa87e29e7
|
@ -1064,8 +1064,6 @@ which index is the "opengl" or whatnot driver, you can just pass that string dir
|
||||||
here, now. Passing NULL is the same as passing -1 here in SDL2, to signify you want SDL
|
here, now. Passing NULL is the same as passing -1 here in SDL2, to signify you want SDL
|
||||||
to decide for you.
|
to decide for you.
|
||||||
|
|
||||||
The SDL_RENDERER_TARGETTEXTURE flag has been removed, all current renderers support target texture functionality.
|
|
||||||
|
|
||||||
Mouse and touch events are no longer filtered to change their coordinates, instead you
|
Mouse and touch events are no longer filtered to change their coordinates, instead you
|
||||||
can call SDL_ConvertEventToRenderCoordinates() to explicitly map event coordinates into
|
can call SDL_ConvertEventToRenderCoordinates() to explicitly map event coordinates into
|
||||||
the rendering viewport.
|
the rendering viewport.
|
||||||
|
@ -1131,6 +1129,11 @@ The following symbols have been renamed:
|
||||||
* SDL_ScaleModeLinear => SDL_SCALEMODE_LINEAR
|
* SDL_ScaleModeLinear => SDL_SCALEMODE_LINEAR
|
||||||
* SDL_ScaleModeNearest => SDL_SCALEMODE_NEAREST
|
* SDL_ScaleModeNearest => SDL_SCALEMODE_NEAREST
|
||||||
|
|
||||||
|
The following symbols have been removed:
|
||||||
|
* SDL_RENDERER_ACCELERATED - all renderers except `SDL_SOFTWARE_RENDERER` are accelerated
|
||||||
|
* SDL_RENDERER_SOFTWARE - you can check whether the name of the renderer is `SDL_SOFTWARE_RENDERER`
|
||||||
|
* SDL_RENDERER_TARGETTEXTURE - all renderers support target texture functionality
|
||||||
|
|
||||||
## SDL_rwops.h
|
## SDL_rwops.h
|
||||||
|
|
||||||
The following symbols have been renamed:
|
The following symbols have been renamed:
|
||||||
|
|
|
@ -88,7 +88,7 @@ Here's a sample SDL snippet to verify everything is setup in your IDE:
|
||||||
|
|
||||||
SDL_Init(SDL_INIT_VIDEO);
|
SDL_Init(SDL_INIT_VIDEO);
|
||||||
window = SDL_CreateWindow("Hello SDL", WIDTH, HEIGHT, 0);
|
window = SDL_CreateWindow("Hello SDL", WIDTH, HEIGHT, 0);
|
||||||
renderer = SDL_CreateRenderer(window, NULL, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
|
renderer = SDL_CreateRenderer(window, NULL, SDL_RENDERER_PRESENTVSYNC);
|
||||||
|
|
||||||
SDL_DestroyRenderer(renderer);
|
SDL_DestroyRenderer(renderer);
|
||||||
SDL_DestroyWindow(window);
|
SDL_DestroyWindow(window);
|
||||||
|
|
|
@ -61,16 +61,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The name of the software renderer
|
||||||
|
*/
|
||||||
|
#define SDL_SOFTWARE_RENDERER "software"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flags used when creating a rendering context
|
* Flags used when creating a rendering context
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SDL_RENDERER_SOFTWARE = 0x00000001, /**< The renderer is a software fallback */
|
SDL_RENDERER_PRESENTVSYNC = 0x00000004 /**< Present is synchronized with the refresh rate */
|
||||||
SDL_RENDERER_ACCELERATED = 0x00000002, /**< The renderer uses hardware
|
|
||||||
acceleration */
|
|
||||||
SDL_RENDERER_PRESENTVSYNC = 0x00000004 /**< Present is synchronized
|
|
||||||
with the refresh rate */
|
|
||||||
} SDL_RendererFlags;
|
} SDL_RendererFlags;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -204,10 +205,6 @@ extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(int width, int height, S
|
||||||
* need a specific renderer, specify NULL and SDL will attempt to choose the
|
* need a specific renderer, specify NULL and SDL will attempt to choose the
|
||||||
* best option for you, based on what is available on the user's system.
|
* best option for you, based on what is available on the user's system.
|
||||||
*
|
*
|
||||||
* If you pass SDL_RENDERER_SOFTWARE in the flags, you will get a software
|
|
||||||
* renderer, otherwise you will get a hardware accelerated renderer if
|
|
||||||
* available.
|
|
||||||
*
|
|
||||||
* By default the rendering size matches the window size in pixels, but you
|
* By default the rendering size matches the window size in pixels, but you
|
||||||
* can call SDL_SetRenderLogicalPresentation() to change the content size and
|
* can call SDL_SetRenderLogicalPresentation() to change the content size and
|
||||||
* scaling options.
|
* scaling options.
|
||||||
|
|
|
@ -1017,7 +1017,7 @@ SDL_Renderer *SDL_CreateRendererWithProperties(SDL_PropertiesID props)
|
||||||
/* new textures start at zero, so we start at 1 so first render doesn't flush by accident. */
|
/* new textures start at zero, so we start at 1 so first render doesn't flush by accident. */
|
||||||
renderer->render_command_generation = 1;
|
renderer->render_command_generation = 1;
|
||||||
|
|
||||||
if (renderer->info.flags & SDL_RENDERER_SOFTWARE) {
|
if (renderer->software) {
|
||||||
/* Software renderer always uses line method, for speed */
|
/* Software renderer always uses line method, for speed */
|
||||||
renderer->line_method = SDL_RENDERLINEMETHOD_LINES;
|
renderer->line_method = SDL_RENDERLINEMETHOD_LINES;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1085,11 +1085,7 @@ SDL_Renderer *SDL_CreateRenderer(SDL_Window *window, const char *name, Uint32 fl
|
||||||
SDL_Renderer *renderer;
|
SDL_Renderer *renderer;
|
||||||
SDL_PropertiesID props = SDL_CreateProperties();
|
SDL_PropertiesID props = SDL_CreateProperties();
|
||||||
SDL_SetProperty(props, SDL_PROP_RENDERER_CREATE_WINDOW_POINTER, window);
|
SDL_SetProperty(props, SDL_PROP_RENDERER_CREATE_WINDOW_POINTER, window);
|
||||||
if (flags & SDL_RENDERER_SOFTWARE) {
|
|
||||||
SDL_SetStringProperty(props, SDL_PROP_RENDERER_CREATE_NAME_STRING, "software");
|
|
||||||
} else {
|
|
||||||
SDL_SetStringProperty(props, SDL_PROP_RENDERER_CREATE_NAME_STRING, name);
|
SDL_SetStringProperty(props, SDL_PROP_RENDERER_CREATE_NAME_STRING, name);
|
||||||
}
|
|
||||||
if (flags & SDL_RENDERER_PRESENTVSYNC) {
|
if (flags & SDL_RENDERER_PRESENTVSYNC) {
|
||||||
SDL_SetBooleanProperty(props, SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_BOOLEAN, SDL_TRUE);
|
SDL_SetBooleanProperty(props, SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_BOOLEAN, SDL_TRUE);
|
||||||
}
|
}
|
||||||
|
@ -4250,7 +4246,7 @@ int SDL_RenderGeometryRawFloat(SDL_Renderer *renderer,
|
||||||
|
|
||||||
/* For the software renderer, try to reinterpret triangles as SDL_Rect */
|
/* For the software renderer, try to reinterpret triangles as SDL_Rect */
|
||||||
#if SDL_VIDEO_RENDER_SW
|
#if SDL_VIDEO_RENDER_SW
|
||||||
if (renderer->info.flags & SDL_RENDERER_SOFTWARE) {
|
if (renderer->software) {
|
||||||
return SDL_SW_RenderGeometryRaw(renderer, texture,
|
return SDL_SW_RenderGeometryRaw(renderer, texture,
|
||||||
xy, xy_stride, color, color_stride, uv, uv_stride, num_vertices,
|
xy, xy_stride, color, color_stride, uv, uv_stride, num_vertices,
|
||||||
indices, num_indices, size_indices);
|
indices, num_indices, size_indices);
|
||||||
|
@ -4678,7 +4674,7 @@ int SDL_SetRenderVSync(SDL_Renderer *renderer, int vsync)
|
||||||
|
|
||||||
/* for the software renderer, forward eventually the call to the WindowTexture renderer */
|
/* for the software renderer, forward eventually the call to the WindowTexture renderer */
|
||||||
#if SDL_VIDEO_RENDER_SW
|
#if SDL_VIDEO_RENDER_SW
|
||||||
if (renderer->info.flags & SDL_RENDERER_SOFTWARE) {
|
if (renderer->software) {
|
||||||
if (SDL_SetWindowTextureVSync(renderer->window, vsync) == 0) {
|
if (SDL_SetWindowTextureVSync(renderer->window, vsync) == 0) {
|
||||||
renderer->simulate_vsync = SDL_FALSE;
|
renderer->simulate_vsync = SDL_FALSE;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -220,6 +220,7 @@ struct SDL_Renderer
|
||||||
|
|
||||||
/* The current renderer info */
|
/* The current renderer info */
|
||||||
SDL_RendererInfo info;
|
SDL_RendererInfo info;
|
||||||
|
SDL_bool software;
|
||||||
|
|
||||||
/* The window associated with the renderer */
|
/* The window associated with the renderer */
|
||||||
SDL_Window *window;
|
SDL_Window *window;
|
||||||
|
|
|
@ -1631,7 +1631,6 @@ SDL_Renderer *D3D_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_pro
|
||||||
renderer->DestroyRenderer = D3D_DestroyRenderer;
|
renderer->DestroyRenderer = D3D_DestroyRenderer;
|
||||||
renderer->SetVSync = D3D_SetVSync;
|
renderer->SetVSync = D3D_SetVSync;
|
||||||
renderer->info = D3D_RenderDriver.info;
|
renderer->info = D3D_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
D3D_InvalidateCachedState(renderer);
|
D3D_InvalidateCachedState(renderer);
|
||||||
|
|
||||||
|
@ -1748,7 +1747,7 @@ SDL_Renderer *D3D_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_pro
|
||||||
SDL_RenderDriver D3D_RenderDriver = {
|
SDL_RenderDriver D3D_RenderDriver = {
|
||||||
D3D_CreateRenderer,
|
D3D_CreateRenderer,
|
||||||
{ "direct3d",
|
{ "direct3d",
|
||||||
(SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
SDL_RENDERER_PRESENTVSYNC,
|
||||||
1,
|
1,
|
||||||
{ SDL_PIXELFORMAT_ARGB8888 },
|
{ SDL_PIXELFORMAT_ARGB8888 },
|
||||||
0,
|
0,
|
||||||
|
|
|
@ -2794,7 +2794,6 @@ SDL_Renderer *D3D11_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_p
|
||||||
renderer->DestroyTexture = D3D11_DestroyTexture;
|
renderer->DestroyTexture = D3D11_DestroyTexture;
|
||||||
renderer->DestroyRenderer = D3D11_DestroyRenderer;
|
renderer->DestroyRenderer = D3D11_DestroyRenderer;
|
||||||
renderer->info = D3D11_RenderDriver.info;
|
renderer->info = D3D11_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
D3D11_InvalidateCachedState(renderer);
|
D3D11_InvalidateCachedState(renderer);
|
||||||
|
|
||||||
|
@ -2840,8 +2839,7 @@ SDL_RenderDriver D3D11_RenderDriver = {
|
||||||
D3D11_CreateRenderer,
|
D3D11_CreateRenderer,
|
||||||
{
|
{
|
||||||
"direct3d11",
|
"direct3d11",
|
||||||
(SDL_RENDERER_ACCELERATED |
|
SDL_RENDERER_PRESENTVSYNC, /* flags. see SDL_RendererFlags */
|
||||||
SDL_RENDERER_PRESENTVSYNC), /* flags. see SDL_RendererFlags */
|
|
||||||
9, /* num_texture_formats */
|
9, /* num_texture_formats */
|
||||||
{ /* texture_formats */
|
{ /* texture_formats */
|
||||||
SDL_PIXELFORMAT_ARGB8888,
|
SDL_PIXELFORMAT_ARGB8888,
|
||||||
|
|
|
@ -3232,7 +3232,6 @@ SDL_Renderer *D3D12_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_p
|
||||||
renderer->DestroyTexture = D3D12_DestroyTexture;
|
renderer->DestroyTexture = D3D12_DestroyTexture;
|
||||||
renderer->DestroyRenderer = D3D12_DestroyRenderer;
|
renderer->DestroyRenderer = D3D12_DestroyRenderer;
|
||||||
renderer->info = D3D12_RenderDriver.info;
|
renderer->info = D3D12_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
D3D12_InvalidateCachedState(renderer);
|
D3D12_InvalidateCachedState(renderer);
|
||||||
|
|
||||||
|
@ -3263,8 +3262,7 @@ SDL_RenderDriver D3D12_RenderDriver = {
|
||||||
D3D12_CreateRenderer,
|
D3D12_CreateRenderer,
|
||||||
{
|
{
|
||||||
"direct3d12",
|
"direct3d12",
|
||||||
(SDL_RENDERER_ACCELERATED |
|
SDL_RENDERER_PRESENTVSYNC, /* flags. see SDL_RendererFlags */
|
||||||
SDL_RENDERER_PRESENTVSYNC), /* flags. see SDL_RendererFlags */
|
|
||||||
9, /* num_texture_formats */
|
9, /* num_texture_formats */
|
||||||
{ /* texture_formats */
|
{ /* texture_formats */
|
||||||
SDL_PIXELFORMAT_ARGB8888,
|
SDL_PIXELFORMAT_ARGB8888,
|
||||||
|
|
|
@ -2155,7 +2155,6 @@ static SDL_Renderer *METAL_CreateRenderer(SDL_Window *window, SDL_PropertiesID c
|
||||||
renderer->GetMetalCommandEncoder = METAL_GetMetalCommandEncoder;
|
renderer->GetMetalCommandEncoder = METAL_GetMetalCommandEncoder;
|
||||||
|
|
||||||
renderer->info = METAL_RenderDriver.info;
|
renderer->info = METAL_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
|
|
||||||
#if (defined(SDL_PLATFORM_MACOS) && defined(MAC_OS_X_VERSION_10_13)) || TARGET_OS_MACCATALYST
|
#if (defined(SDL_PLATFORM_MACOS) && defined(MAC_OS_X_VERSION_10_13)) || TARGET_OS_MACCATALYST
|
||||||
if (@available(macOS 10.13, *)) {
|
if (@available(macOS 10.13, *)) {
|
||||||
|
@ -2214,7 +2213,7 @@ SDL_RenderDriver METAL_RenderDriver = {
|
||||||
METAL_CreateRenderer,
|
METAL_CreateRenderer,
|
||||||
{
|
{
|
||||||
"metal",
|
"metal",
|
||||||
(SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
SDL_RENDERER_PRESENTVSYNC,
|
||||||
10,
|
10,
|
||||||
{ SDL_PIXELFORMAT_ARGB8888,
|
{ SDL_PIXELFORMAT_ARGB8888,
|
||||||
SDL_PIXELFORMAT_ABGR8888,
|
SDL_PIXELFORMAT_ABGR8888,
|
||||||
|
|
|
@ -1612,32 +1612,6 @@ static int GL_SetVSync(SDL_Renderer *renderer, const int vsync)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static SDL_bool GL_IsProbablyAccelerated(const GL_RenderData *data)
|
|
||||||
{
|
|
||||||
/*const char *vendor = (const char *) data->glGetString(GL_VENDOR);*/
|
|
||||||
const char *renderer = (const char *)data->glGetString(GL_RENDERER);
|
|
||||||
|
|
||||||
#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
|
|
||||||
if (SDL_strcmp(renderer, "GDI Generic") == 0) {
|
|
||||||
return SDL_FALSE; /* Microsoft's fallback software renderer. Fix your system! */
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef SDL_PLATFORM_APPLE
|
|
||||||
if (SDL_strcmp(renderer, "Apple Software Renderer") == 0) {
|
|
||||||
return SDL_FALSE; /* (a probably very old) Apple software-based OpenGL. */
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (SDL_strcmp(renderer, "Software Rasterizer") == 0) {
|
|
||||||
return SDL_FALSE; /* (a probably very old) Software Mesa, or some other generic thing. */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* !!! FIXME: swrast? llvmpipe? softpipe? */
|
|
||||||
|
|
||||||
return SDL_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static SDL_Renderer *GL_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_props)
|
static SDL_Renderer *GL_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_props)
|
||||||
{
|
{
|
||||||
SDL_Renderer *renderer;
|
SDL_Renderer *renderer;
|
||||||
|
@ -1739,10 +1713,6 @@ static SDL_Renderer *GL_CreateRenderer(SDL_Window *window, SDL_PropertiesID crea
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GL_IsProbablyAccelerated(data)) {
|
|
||||||
renderer->info.flags |= SDL_RENDERER_ACCELERATED;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef SDL_PLATFORM_MACOS
|
#ifdef SDL_PLATFORM_MACOS
|
||||||
/* Enable multi-threaded rendering */
|
/* Enable multi-threaded rendering */
|
||||||
/* Disabled until Ryan finishes his VBO/PBO code...
|
/* Disabled until Ryan finishes his VBO/PBO code...
|
||||||
|
@ -1919,7 +1889,7 @@ error:
|
||||||
SDL_RenderDriver GL_RenderDriver = {
|
SDL_RenderDriver GL_RenderDriver = {
|
||||||
GL_CreateRenderer,
|
GL_CreateRenderer,
|
||||||
{ "opengl",
|
{ "opengl",
|
||||||
(SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
SDL_RENDERER_PRESENTVSYNC,
|
||||||
4,
|
4,
|
||||||
{ SDL_PIXELFORMAT_ARGB8888,
|
{ SDL_PIXELFORMAT_ARGB8888,
|
||||||
SDL_PIXELFORMAT_ABGR8888,
|
SDL_PIXELFORMAT_ABGR8888,
|
||||||
|
|
|
@ -2099,7 +2099,6 @@ static SDL_Renderer *GLES2_CreateRenderer(SDL_Window *window, SDL_PropertiesID c
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
renderer->info = GLES2_RenderDriver.info;
|
renderer->info = GLES2_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
GLES2_InvalidateCachedState(renderer);
|
GLES2_InvalidateCachedState(renderer);
|
||||||
renderer->window = window;
|
renderer->window = window;
|
||||||
|
@ -2264,7 +2263,7 @@ error:
|
||||||
SDL_RenderDriver GLES2_RenderDriver = {
|
SDL_RenderDriver GLES2_RenderDriver = {
|
||||||
GLES2_CreateRenderer,
|
GLES2_CreateRenderer,
|
||||||
{ "opengles2",
|
{ "opengles2",
|
||||||
(SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
SDL_RENDERER_PRESENTVSYNC,
|
||||||
4,
|
4,
|
||||||
{ SDL_PIXELFORMAT_RGBA32,
|
{ SDL_PIXELFORMAT_RGBA32,
|
||||||
SDL_PIXELFORMAT_BGRA32,
|
SDL_PIXELFORMAT_BGRA32,
|
||||||
|
|
|
@ -704,7 +704,6 @@ static SDL_Renderer *PS2_CreateRenderer(SDL_Window *window, SDL_PropertiesID cre
|
||||||
renderer->DestroyRenderer = PS2_DestroyRenderer;
|
renderer->DestroyRenderer = PS2_DestroyRenderer;
|
||||||
renderer->SetVSync = PS2_SetVSync;
|
renderer->SetVSync = PS2_SetVSync;
|
||||||
renderer->info = PS2_RenderDriver.info;
|
renderer->info = PS2_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
PS2_InvalidateCachedState(renderer);
|
PS2_InvalidateCachedState(renderer);
|
||||||
renderer->window = window;
|
renderer->window = window;
|
||||||
|
@ -719,7 +718,7 @@ SDL_RenderDriver PS2_RenderDriver = {
|
||||||
.CreateRenderer = PS2_CreateRenderer,
|
.CreateRenderer = PS2_CreateRenderer,
|
||||||
.info = {
|
.info = {
|
||||||
.name = "PS2 gsKit",
|
.name = "PS2 gsKit",
|
||||||
.flags = (SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
.flags = SDL_RENDERER_PRESENTVSYNC,
|
||||||
.num_texture_formats = 2,
|
.num_texture_formats = 2,
|
||||||
.texture_formats = {
|
.texture_formats = {
|
||||||
[0] = SDL_PIXELFORMAT_ABGR1555,
|
[0] = SDL_PIXELFORMAT_ABGR1555,
|
||||||
|
|
|
@ -1336,7 +1336,6 @@ SDL_Renderer *PSP_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_pro
|
||||||
renderer->DestroyRenderer = PSP_DestroyRenderer;
|
renderer->DestroyRenderer = PSP_DestroyRenderer;
|
||||||
renderer->SetVSync = PSP_SetVSync;
|
renderer->SetVSync = PSP_SetVSync;
|
||||||
renderer->info = PSP_RenderDriver.info;
|
renderer->info = PSP_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
PSP_InvalidateCachedState(renderer);
|
PSP_InvalidateCachedState(renderer);
|
||||||
renderer->window = window;
|
renderer->window = window;
|
||||||
|
@ -1414,7 +1413,7 @@ SDL_RenderDriver PSP_RenderDriver = {
|
||||||
.CreateRenderer = PSP_CreateRenderer,
|
.CreateRenderer = PSP_CreateRenderer,
|
||||||
.info = {
|
.info = {
|
||||||
.name = "PSP",
|
.name = "PSP",
|
||||||
.flags = (SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
.flags = SDL_RENDERER_PRESENTVSYNC,
|
||||||
.num_texture_formats = 4,
|
.num_texture_formats = 4,
|
||||||
.texture_formats = {
|
.texture_formats = {
|
||||||
[0] = SDL_PIXELFORMAT_BGR565,
|
[0] = SDL_PIXELFORMAT_BGR565,
|
||||||
|
|
|
@ -1131,6 +1131,7 @@ SDL_Renderer *SW_CreateRendererForSurface(SDL_Surface *surface, SDL_PropertiesID
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
renderer->magic = &SDL_renderer_magic;
|
renderer->magic = &SDL_renderer_magic;
|
||||||
|
renderer->software = SDL_TRUE;
|
||||||
|
|
||||||
data = (SW_RenderData *)SDL_calloc(1, sizeof(*data));
|
data = (SW_RenderData *)SDL_calloc(1, sizeof(*data));
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
@ -1217,8 +1218,8 @@ static SDL_Renderer *SW_CreateRenderer(SDL_Window *window, SDL_PropertiesID crea
|
||||||
|
|
||||||
SDL_RenderDriver SW_RenderDriver = {
|
SDL_RenderDriver SW_RenderDriver = {
|
||||||
SW_CreateRenderer,
|
SW_CreateRenderer,
|
||||||
{ "software",
|
{ SDL_SOFTWARE_RENDERER,
|
||||||
(SDL_RENDERER_SOFTWARE | SDL_RENDERER_PRESENTVSYNC),
|
SDL_RENDERER_PRESENTVSYNC,
|
||||||
0,
|
0,
|
||||||
{ /* formats filled in later */
|
{ /* formats filled in later */
|
||||||
SDL_PIXELFORMAT_UNKNOWN },
|
SDL_PIXELFORMAT_UNKNOWN },
|
||||||
|
|
|
@ -103,7 +103,7 @@ SDL_RenderDriver VITA_GXM_RenderDriver = {
|
||||||
.CreateRenderer = VITA_GXM_CreateRenderer,
|
.CreateRenderer = VITA_GXM_CreateRenderer,
|
||||||
.info = {
|
.info = {
|
||||||
.name = "VITA gxm",
|
.name = "VITA gxm",
|
||||||
.flags = (SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
.flags = SDL_RENDERER_PRESENTVSYNC,
|
||||||
.num_texture_formats = 8,
|
.num_texture_formats = 8,
|
||||||
.texture_formats = {
|
.texture_formats = {
|
||||||
[0] = SDL_PIXELFORMAT_ABGR8888,
|
[0] = SDL_PIXELFORMAT_ABGR8888,
|
||||||
|
@ -261,7 +261,6 @@ SDL_Renderer *VITA_GXM_CreateRenderer(SDL_Window *window, SDL_PropertiesID creat
|
||||||
renderer->SetVSync = VITA_GXM_SetVSync;
|
renderer->SetVSync = VITA_GXM_SetVSync;
|
||||||
|
|
||||||
renderer->info = VITA_GXM_RenderDriver.info;
|
renderer->info = VITA_GXM_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = data;
|
renderer->driverdata = data;
|
||||||
VITA_GXM_InvalidateCachedState(renderer);
|
VITA_GXM_InvalidateCachedState(renderer);
|
||||||
renderer->window = window;
|
renderer->window = window;
|
||||||
|
|
|
@ -4094,7 +4094,6 @@ SDL_Renderer *VULKAN_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_
|
||||||
renderer->DestroyTexture = VULKAN_DestroyTexture;
|
renderer->DestroyTexture = VULKAN_DestroyTexture;
|
||||||
renderer->DestroyRenderer = VULKAN_DestroyRenderer;
|
renderer->DestroyRenderer = VULKAN_DestroyRenderer;
|
||||||
renderer->info = VULKAN_RenderDriver.info;
|
renderer->info = VULKAN_RenderDriver.info;
|
||||||
renderer->info.flags = SDL_RENDERER_ACCELERATED;
|
|
||||||
renderer->driverdata = rendererData;
|
renderer->driverdata = rendererData;
|
||||||
VULKAN_InvalidateCachedState(renderer);
|
VULKAN_InvalidateCachedState(renderer);
|
||||||
|
|
||||||
|
@ -4135,8 +4134,7 @@ SDL_RenderDriver VULKAN_RenderDriver = {
|
||||||
VULKAN_CreateRenderer,
|
VULKAN_CreateRenderer,
|
||||||
{
|
{
|
||||||
"vulkan",
|
"vulkan",
|
||||||
(SDL_RENDERER_ACCELERATED |
|
SDL_RENDERER_PRESENTVSYNC, /* flags. see SDL_RendererFlags */
|
||||||
SDL_RENDERER_PRESENTVSYNC), /* flags. see SDL_RendererFlags */
|
|
||||||
4, /* num_texture_formats */
|
4, /* num_texture_formats */
|
||||||
{ /* texture_formats */
|
{ /* texture_formats */
|
||||||
SDL_PIXELFORMAT_ARGB8888,
|
SDL_PIXELFORMAT_ARGB8888,
|
||||||
|
|
|
@ -955,12 +955,6 @@ static void SDLTest_PrintButtonMask(char *text, size_t maxlen, Uint32 flags)
|
||||||
static void SDLTest_PrintRendererFlag(char *text, size_t maxlen, Uint32 flag)
|
static void SDLTest_PrintRendererFlag(char *text, size_t maxlen, Uint32 flag)
|
||||||
{
|
{
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
case SDL_RENDERER_SOFTWARE:
|
|
||||||
SDL_snprintfcat(text, maxlen, "Software");
|
|
||||||
break;
|
|
||||||
case SDL_RENDERER_ACCELERATED:
|
|
||||||
SDL_snprintfcat(text, maxlen, "Accelerated");
|
|
||||||
break;
|
|
||||||
case SDL_RENDERER_PRESENTVSYNC:
|
case SDL_RENDERER_PRESENTVSYNC:
|
||||||
SDL_snprintfcat(text, maxlen, "PresentVSync");
|
SDL_snprintfcat(text, maxlen, "PresentVSync");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -253,7 +253,7 @@ static int SDL_CreateWindowTexture(SDL_VideoDevice *_this, SDL_Window *window, S
|
||||||
const SDL_bool specific_accelerated_renderer = (hint && *hint != '0' && *hint != '1' &&
|
const SDL_bool specific_accelerated_renderer = (hint && *hint != '0' && *hint != '1' &&
|
||||||
SDL_strcasecmp(hint, "true") != 0 &&
|
SDL_strcasecmp(hint, "true") != 0 &&
|
||||||
SDL_strcasecmp(hint, "false") != 0 &&
|
SDL_strcasecmp(hint, "false") != 0 &&
|
||||||
SDL_strcasecmp(hint, "software") != 0);
|
SDL_strcasecmp(hint, SDL_SOFTWARE_RENDERER) != 0);
|
||||||
|
|
||||||
/* Check to see if there's a specific driver requested */
|
/* Check to see if there's a specific driver requested */
|
||||||
if (specific_accelerated_renderer) {
|
if (specific_accelerated_renderer) {
|
||||||
|
@ -264,20 +264,15 @@ static int SDL_CreateWindowTexture(SDL_VideoDevice *_this, SDL_Window *window, S
|
||||||
}
|
}
|
||||||
return SDL_SetError("Requested renderer for " SDL_HINT_FRAMEBUFFER_ACCELERATION " is not available");
|
return SDL_SetError("Requested renderer for " SDL_HINT_FRAMEBUFFER_ACCELERATION " is not available");
|
||||||
}
|
}
|
||||||
/* if it was specifically requested, even if SDL_RENDERER_ACCELERATED isn't set, we'll accept this renderer. */
|
|
||||||
} else {
|
} else {
|
||||||
const int total = SDL_GetNumRenderDrivers();
|
const int total = SDL_GetNumRenderDrivers();
|
||||||
for (i = 0; i < total; ++i) {
|
for (i = 0; i < total; ++i) {
|
||||||
const char *name = SDL_GetRenderDriver(i);
|
const char *name = SDL_GetRenderDriver(i);
|
||||||
if (name && (SDL_strcmp(name, "software") != 0)) {
|
if (name && (SDL_strcmp(name, SDL_SOFTWARE_RENDERER) != 0)) {
|
||||||
renderer = SDL_CreateRenderer(window, name, 0);
|
renderer = SDL_CreateRenderer(window, name, 0);
|
||||||
if (renderer && (SDL_GetRendererInfo(renderer, &info) == 0) && (info.flags & SDL_RENDERER_ACCELERATED)) {
|
if (renderer) {
|
||||||
break; /* this will work. */
|
break; /* this will work. */
|
||||||
}
|
}
|
||||||
if (renderer) { /* wasn't accelerated, etc, skip it. */
|
|
||||||
SDL_DestroyRenderer(renderer);
|
|
||||||
renderer = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!renderer) {
|
if (!renderer) {
|
||||||
|
@ -3049,7 +3044,7 @@ static SDL_Surface *SDL_CreateWindowFramebuffer(SDL_Window *window)
|
||||||
/* See if the user or application wants to specifically disable the framebuffer */
|
/* See if the user or application wants to specifically disable the framebuffer */
|
||||||
const char *hint = SDL_GetHint(SDL_HINT_FRAMEBUFFER_ACCELERATION);
|
const char *hint = SDL_GetHint(SDL_HINT_FRAMEBUFFER_ACCELERATION);
|
||||||
if (hint) {
|
if (hint) {
|
||||||
if ((*hint == '0') || (SDL_strcasecmp(hint, "false") == 0) || (SDL_strcasecmp(hint, "software") == 0)) {
|
if ((*hint == '0') || (SDL_strcasecmp(hint, "false") == 0) || (SDL_strcasecmp(hint, SDL_SOFTWARE_RENDERER) == 0)) {
|
||||||
attempt_texture_framebuffer = SDL_FALSE;
|
attempt_texture_framebuffer = SDL_FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ static int isSupported(int code);
|
||||||
static void InitCreateRenderer(void *arg)
|
static void InitCreateRenderer(void *arg)
|
||||||
{
|
{
|
||||||
int width = 320, height = 240;
|
int width = 320, height = 240;
|
||||||
int renderer_flags = SDL_RENDERER_ACCELERATED;
|
const char *renderer_name = NULL;
|
||||||
renderer = NULL;
|
renderer = NULL;
|
||||||
window = SDL_CreateWindow("render_testCreateRenderer", width, height, 0);
|
window = SDL_CreateWindow("render_testCreateRenderer", width, height, 0);
|
||||||
SDLTest_AssertPass("SDL_CreateWindow()");
|
SDLTest_AssertPass("SDL_CreateWindow()");
|
||||||
|
@ -59,10 +59,10 @@ static void InitCreateRenderer(void *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SDL_strcmp(SDL_GetCurrentVideoDriver(), "dummy") == 0) {
|
if (SDL_strcmp(SDL_GetCurrentVideoDriver(), "dummy") == 0) {
|
||||||
renderer_flags = 0;
|
renderer_name = SDL_SOFTWARE_RENDERER;
|
||||||
}
|
}
|
||||||
|
|
||||||
renderer = SDL_CreateRenderer(window, NULL, renderer_flags);
|
renderer = SDL_CreateRenderer(window, renderer_name, 0);
|
||||||
SDLTest_AssertPass("SDL_CreateRenderer()");
|
SDLTest_AssertPass("SDL_CreateRenderer()");
|
||||||
SDLTest_AssertCheck(renderer != NULL, "Check SDL_CreateRenderer result: %s", renderer != NULL ? "success" : SDL_GetError());
|
SDLTest_AssertCheck(renderer != NULL, "Check SDL_CreateRenderer result: %s", renderer != NULL ? "success" : SDL_GetError());
|
||||||
if (renderer == NULL) {
|
if (renderer == NULL) {
|
||||||
|
|
Loading…
Reference in New Issue