mirror of
https://github.com/yawut/SDL.git
synced 2026-04-25 15:58:04 -05:00
wiiu/render: Fix GX2ContextState alignment
This commit is contained in:
parent
0ea992080b
commit
aa08e434c9
|
|
@ -78,7 +78,7 @@ int WIIU_SDL_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
|
|||
GX2Invalidate(GX2_INVALIDATE_MODE_CPU_ATTRIBUTE_BUFFER, a_texCoord, sizeof(float) * 8);
|
||||
|
||||
/* Render */
|
||||
GX2SetContextState(&data->ctx);
|
||||
GX2SetContextState(data->ctx);
|
||||
wiiuSetTextureShader();
|
||||
GX2SetPixelTexture(&tdata->texture, 0);
|
||||
GX2SetPixelSampler(&tdata->sampler, 0);
|
||||
|
|
@ -130,7 +130,7 @@ int WIIU_SDL_RenderCopyEx(SDL_Renderer * renderer, SDL_Texture * texture,
|
|||
GX2Invalidate(GX2_INVALIDATE_MODE_CPU_ATTRIBUTE_BUFFER, a_texCoord, sizeof(float) * 8);
|
||||
|
||||
/* Render */
|
||||
GX2SetContextState(&data->ctx);
|
||||
GX2SetContextState(data->ctx);
|
||||
wiiuSetTextureShader();
|
||||
GX2SetPixelTexture(&tdata->texture, 0);
|
||||
GX2SetPixelSampler(&tdata->sampler, 0);
|
||||
|
|
@ -164,7 +164,7 @@ int WIIU_SDL_RenderDrawPoints(SDL_Renderer * renderer, const SDL_FPoint * points
|
|||
(float)renderer->b / 255.0f,
|
||||
(float)renderer->a / 255.0f};
|
||||
|
||||
GX2SetContextState(&data->ctx);
|
||||
GX2SetContextState(data->ctx);
|
||||
wiiuSetColorShader();
|
||||
GX2SetAttribBuffer(0, sizeof(float) * 2 * count, sizeof(float) * 2, a_position);
|
||||
GX2SetPixelUniformReg(wiiuColorShader.pixelShader->uniformVars[0].offset, 4, (uint32_t*)u_color);
|
||||
|
|
@ -197,7 +197,7 @@ int WIIU_SDL_RenderDrawLines(SDL_Renderer * renderer, const SDL_FPoint * points,
|
|||
(float)renderer->b / 255.0f,
|
||||
(float)renderer->a / 255.0f};
|
||||
|
||||
GX2SetContextState(&data->ctx);
|
||||
GX2SetContextState(data->ctx);
|
||||
wiiuSetColorShader();
|
||||
GX2SetAttribBuffer(0, sizeof(float) * 2 * count, sizeof(float) * 2, a_position);
|
||||
GX2SetPixelUniformReg(wiiuColorShader.pixelShader->uniformVars[0].offset, 4, (uint32_t*)u_color);
|
||||
|
|
@ -238,7 +238,7 @@ int WIIU_SDL_RenderFillRects(SDL_Renderer * renderer, const SDL_FRect * rects, i
|
|||
(float)renderer->b / 255.0f,
|
||||
(float)renderer->a / 255.0f};
|
||||
|
||||
GX2SetContextState(&data->ctx);
|
||||
GX2SetContextState(data->ctx);
|
||||
wiiuSetColorShader();
|
||||
GX2SetAttribBuffer(0, sizeof(float) * 2 * 4 * count, sizeof(float) * 2, a_position);
|
||||
GX2SetPixelUniformReg(wiiuColorShader.pixelShader->uniformVars[0].offset, 4, (uint32_t*)u_color);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include <gx2/registers.h>
|
||||
|
||||
#include <malloc.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -103,7 +104,9 @@ SDL_Renderer *WIIU_SDL_CreateRenderer(SDL_Window * window, Uint32 flags)
|
|||
GX2SetPointSize(1.0f, 1.0f);
|
||||
|
||||
// Create a fresh context state
|
||||
GX2SetupContextStateEx(&data->ctx, TRUE);
|
||||
data->ctx = (GX2ContextState *) memalign(GX2_CONTEXT_STATE_ALIGNMENT, sizeof(GX2ContextState));
|
||||
memset(data->ctx, 0, sizeof(GX2ContextState));
|
||||
GX2SetupContextStateEx(data->ctx, TRUE);
|
||||
|
||||
// Setup colour buffer, rendering to the window
|
||||
WIIU_SDL_SetRenderTarget(renderer, NULL);
|
||||
|
|
@ -135,7 +138,7 @@ int WIIU_SDL_SetRenderTarget(SDL_Renderer * renderer, SDL_Texture * texture)
|
|||
GX2InitColorBufferRegs(&data->cbuf);
|
||||
|
||||
// Update context state
|
||||
GX2SetContextState(&data->ctx);
|
||||
GX2SetContextState(data->ctx);
|
||||
GX2SetColorBuffer(&data->cbuf, GX2_RENDER_TARGET_0);
|
||||
// These may be unnecessary - see SDL_render.c: SDL_SetRenderTarget's calls
|
||||
// to UpdateViewport and UpdateClipRect. TODO for once the render is
|
||||
|
|
@ -156,6 +159,8 @@ void WIIU_SDL_DestroyRenderer(SDL_Renderer * renderer)
|
|||
SDL_free(ptr);
|
||||
}
|
||||
|
||||
free(data->ctx);
|
||||
|
||||
wiiuFreeColorShader();
|
||||
wiiuFreeTextureShader();
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ typedef struct
|
|||
typedef struct
|
||||
{
|
||||
GX2ColorBuffer cbuf;
|
||||
GX2ContextState ctx;
|
||||
GX2ContextState *ctx;
|
||||
WIIU_RenderAllocData *listfree;
|
||||
} WIIU_RenderData;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user