1
0
forked from 0ad/0ad

Fix error at startup on 64-bit builds.

OglTex had a size_t added, which pushed it over HDATA_USER_SIZE.
Use u32 instead to minimise the difference between platforms.

This was SVN commit r14121.
This commit is contained in:
Ykkrosh 2013-11-09 18:39:45 +00:00
parent dcb3c0ad7a
commit 1ad9d5424a

View File

@ -425,7 +425,7 @@ struct OglTex
u16 flags; u16 flags;
size_t uploaded_size; u32 uploaded_size;
}; };
H_TYPE_DEFINE(OglTex); H_TYPE_DEFINE(OglTex);
@ -870,28 +870,28 @@ struct UploadParams
{ {
GLenum fmt; GLenum fmt;
GLint int_fmt; GLint int_fmt;
size_t* uploaded_size; u32* uploaded_size;
}; };
static void upload_level(size_t level, size_t level_w, size_t level_h, const u8* RESTRICT level_data, size_t level_data_size, void* RESTRICT cbData) static void upload_level(size_t level, size_t level_w, size_t level_h, const u8* RESTRICT level_data, size_t level_data_size, void* RESTRICT cbData)
{ {
const UploadParams* up = (const UploadParams*)cbData; const UploadParams* up = (const UploadParams*)cbData;
glTexImage2D(GL_TEXTURE_2D, (GLint)level, up->int_fmt, (GLsizei)level_w, (GLsizei)level_h, 0, up->fmt, GL_UNSIGNED_BYTE, level_data); glTexImage2D(GL_TEXTURE_2D, (GLint)level, up->int_fmt, (GLsizei)level_w, (GLsizei)level_h, 0, up->fmt, GL_UNSIGNED_BYTE, level_data);
*up->uploaded_size += level_data_size; *up->uploaded_size += (u32)level_data_size;
} }
static void upload_compressed_level(size_t level, size_t level_w, size_t level_h, const u8* RESTRICT level_data, size_t level_data_size, void* RESTRICT cbData) static void upload_compressed_level(size_t level, size_t level_w, size_t level_h, const u8* RESTRICT level_data, size_t level_data_size, void* RESTRICT cbData)
{ {
const UploadParams* up = (const UploadParams*)cbData; const UploadParams* up = (const UploadParams*)cbData;
pglCompressedTexImage2DARB(GL_TEXTURE_2D, (GLint)level, up->fmt, (GLsizei)level_w, (GLsizei)level_h, 0, (GLsizei)level_data_size, level_data); pglCompressedTexImage2DARB(GL_TEXTURE_2D, (GLint)level, up->fmt, (GLsizei)level_w, (GLsizei)level_h, 0, (GLsizei)level_data_size, level_data);
*up->uploaded_size += level_data_size; *up->uploaded_size += (u32)level_data_size;
} }
// upload the texture in the specified (internal) format. // upload the texture in the specified (internal) format.
// split out of ogl_tex_upload because it was too big. // split out of ogl_tex_upload because it was too big.
// //
// pre: <t> is valid for OpenGL use; texture is bound. // pre: <t> is valid for OpenGL use; texture is bound.
static void upload_impl(Tex* t, GLenum fmt, GLint int_fmt, int levels_to_skip, size_t* uploaded_size) static void upload_impl(Tex* t, GLenum fmt, GLint int_fmt, int levels_to_skip, u32* uploaded_size)
{ {
const GLsizei w = (GLsizei)t->w; const GLsizei w = (GLsizei)t->w;
const GLsizei h = (GLsizei)t->h; const GLsizei h = (GLsizei)t->h;