From 7e503ab99717e2ee44b72e1d3d506d3b73db7c51 Mon Sep 17 00:00:00 2001 From: rw-r-r-0644 Date: Thu, 25 Oct 2018 17:16:23 +0200 Subject: [PATCH] wiiu: Linking fixes --- Makefile.wiiu | 1 + src/render/SDL_render.c | 11 +++++++---- src/render/SDL_sysrender.h | 1 + src/video/wiiu/wiiu_shaders.c | 6 ++++++ src/video/wiiu/wiiu_shaders.h | 8 ++++---- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Makefile.wiiu b/Makefile.wiiu index ca831b966..59f22425a 100644 --- a/Makefile.wiiu +++ b/Makefile.wiiu @@ -23,6 +23,7 @@ SOURCES = \ src/filesystem/dummy/*.c \ src/render/*.c \ src/render/wiiu/*.c \ + src/render/software/*.c \ src/stdlib/*.c \ src/thread/*.c \ src/thread/wiiu/*.c \ diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c index 5b0c1bf30..3254ee9dd 100644 --- a/src/render/SDL_render.c +++ b/src/render/SDL_render.c @@ -100,6 +100,9 @@ static const SDL_RenderDriver *render_drivers[] = { #endif #if SDL_VIDEO_RENDER_PSP &PSP_RenderDriver, +#endif +#if SDL_VIDEO_RENDER_WIIU + &WIIU_RenderDriver, #endif &SW_RenderDriver }; @@ -715,7 +718,7 @@ SDL_RendererEventWatch(void *userdata, SDL_Event *event) } } else if (event->window.event == SDL_WINDOWEVENT_MINIMIZED) { renderer->hidden = SDL_TRUE; - } else if (event->window.event == SDL_WINDOWEVENT_RESTORED || + } else if (event->window.event == SDL_WINDOWEVENT_RESTORED || event->window.event == SDL_WINDOWEVENT_MAXIMIZED) { if (!(SDL_GetWindowFlags(window) & SDL_WINDOW_HIDDEN)) { renderer->hidden = SDL_FALSE; @@ -1975,9 +1978,9 @@ UpdateLogicalSize(SDL_Renderer *renderer) SDL_RenderSetViewport(renderer, NULL); } else if (want_aspect > real_aspect) { if (scale_policy == 1) { - /* We want a wider aspect ratio than is available - - zoom so logical height matches the real height - and the width will grow off the screen + /* We want a wider aspect ratio than is available - + zoom so logical height matches the real height + and the width will grow off the screen */ scale = (float)h / renderer->logical_h; viewport.y = 0; diff --git a/src/render/SDL_sysrender.h b/src/render/SDL_sysrender.h index 93865621c..b8ec42c36 100644 --- a/src/render/SDL_sysrender.h +++ b/src/render/SDL_sysrender.h @@ -251,6 +251,7 @@ extern SDL_RenderDriver DirectFB_RenderDriver; extern SDL_RenderDriver METAL_RenderDriver; extern SDL_RenderDriver PSP_RenderDriver; extern SDL_RenderDriver SW_RenderDriver; +extern SDL_RenderDriver WIIU_RenderDriver; /* Blend mode functions */ extern SDL_BlendFactor SDL_GetBlendModeSrcColorFactor(SDL_BlendMode blendMode); diff --git a/src/video/wiiu/wiiu_shaders.c b/src/video/wiiu/wiiu_shaders.c index a7c098abe..e3ee6a03a 100644 --- a/src/video/wiiu/wiiu_shaders.c +++ b/src/video/wiiu/wiiu_shaders.c @@ -1,3 +1,5 @@ +#include + /* ======================================= @@ -50,6 +52,8 @@ END_OF_PROGRAM */ +WHBGfxShaderGroup wiiuTextureShader; +int wiiuTextureShaderInit = 0; unsigned char wiiuTextureShaderData[] = { 0x47, 0x66, 0x78, 0x32, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, @@ -224,6 +228,8 @@ END_OF_PROGRAM */ +WHBGfxShaderGroup wiiuColorShader; +int wiiuColorShaderInit = 0; unsigned char wiiuColorShaderData[] = { 0x47, 0x66, 0x78, 0x32, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, diff --git a/src/video/wiiu/wiiu_shaders.h b/src/video/wiiu/wiiu_shaders.h index 812229a71..0f9b98ca9 100644 --- a/src/video/wiiu/wiiu_shaders.h +++ b/src/video/wiiu/wiiu_shaders.h @@ -31,8 +31,8 @@ extern unsigned char wiiuTextureShaderData[]; extern unsigned char wiiuColorShaderData[]; -WHBGfxShaderGroup wiiuTextureShader; -int wiiuTextureShaderInit = 0; +extern WHBGfxShaderGroup wiiuTextureShader; +extern int wiiuTextureShaderInit; static inline void wiiuInitTextureShader() { if (!wiiuTextureShaderInit) { @@ -56,8 +56,8 @@ static inline void wiiuSetTextureShader() { GX2SetPixelShader(wiiuTextureShader.pixelShader); } -WHBGfxShaderGroup wiiuColorShader; -int wiiuColorShaderInit = 0; +extern WHBGfxShaderGroup wiiuColorShader; +extern int wiiuColorShaderInit; static inline void wiiuInitColorShader() { if (!wiiuColorShaderInit) {