wined3d: Disable client storage in upload_palette().
Stack pointers don't work so well with client storage.
This commit is contained in:
parent
66d453ce5c
commit
107369d018
|
@ -6950,6 +6950,13 @@ static void upload_palette(const struct wined3d_surface *surface, struct wined3d
|
|||
d3dfmt_p8_init_palette(surface, table, colorkey);
|
||||
|
||||
ENTER_GL();
|
||||
|
||||
if (gl_info->supported[APPLE_CLIENT_STORAGE])
|
||||
{
|
||||
glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_FALSE);
|
||||
checkGLcall("glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_FALSE)");
|
||||
}
|
||||
|
||||
if (!priv->palette_texture)
|
||||
glGenTextures(1, &priv->palette_texture);
|
||||
|
||||
|
@ -6966,6 +6973,12 @@ static void upload_palette(const struct wined3d_surface *surface, struct wined3d
|
|||
/* TODO: avoid unneeded uploads in the future by adding some SFLAG_PALETTE_DIRTY mechanism */
|
||||
glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, table);
|
||||
|
||||
if (gl_info->supported[APPLE_CLIENT_STORAGE])
|
||||
{
|
||||
glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE);
|
||||
checkGLcall("glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE)");
|
||||
}
|
||||
|
||||
/* Switch back to unit 0 in which the 2D texture will be stored. */
|
||||
context_active_texture(context, gl_info, 0);
|
||||
LEAVE_GL();
|
||||
|
|
Loading…
Reference in New Issue