Make sure we initialize texture 0. We don't actually use it yet
(binding zero disables texturing) but I believe the spec says that texture 0 is the "default texture" and is an actual texture object.
This commit is contained in:
parent
a5891056db
commit
52a0215ed8
48
GL/texture.c
48
GL/texture.c
|
@ -451,6 +451,29 @@ void _glResetSharedPalettes()
|
||||||
memset((void*) SUBBANKS_USED, 0x0, sizeof(SUBBANKS_USED));
|
memset((void*) SUBBANKS_USED, 0x0, sizeof(SUBBANKS_USED));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _glInitializeTextureObject(TextureObject* txr, unsigned int id) {
|
||||||
|
txr->index = id;
|
||||||
|
txr->width = txr->height = 0;
|
||||||
|
txr->mipmap = 0;
|
||||||
|
txr->uv_clamp = 0;
|
||||||
|
txr->env = GPU_TXRENV_MODULATEALPHA;
|
||||||
|
txr->data = NULL;
|
||||||
|
txr->mipmapCount = 0;
|
||||||
|
txr->minFilter = GL_NEAREST;
|
||||||
|
txr->magFilter = GL_NEAREST;
|
||||||
|
txr->palette = NULL;
|
||||||
|
txr->isCompressed = GL_FALSE;
|
||||||
|
txr->isPaletted = GL_FALSE;
|
||||||
|
txr->mipmap_bias = GL_KOS_INTERNAL_DEFAULT_MIPMAP_LOD_BIAS;
|
||||||
|
|
||||||
|
/* Not mipmapped by default */
|
||||||
|
txr->baseDataOffset = 0;
|
||||||
|
|
||||||
|
/* Always default to the first shared bank */
|
||||||
|
txr->shared_bank = 0;
|
||||||
|
}
|
||||||
|
|
||||||
GLubyte _glInitTextures() {
|
GLubyte _glInitTextures() {
|
||||||
|
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
@ -460,6 +483,9 @@ GLubyte _glInitTextures() {
|
||||||
// Reserve zero so that it is never given to anyone as an ID!
|
// Reserve zero so that it is never given to anyone as an ID!
|
||||||
named_array_reserve(&TEXTURE_OBJECTS, 0);
|
named_array_reserve(&TEXTURE_OBJECTS, 0);
|
||||||
|
|
||||||
|
// Initialize zero as an actual texture object though because apparently it is!
|
||||||
|
_glInitializeTextureObject((TextureObject*) named_array_get(&TEXTURE_OBJECTS, 0), 0);
|
||||||
|
|
||||||
for (i=0; i < MAX_GLDC_SHARED_PALETTES;i++){
|
for (i=0; i < MAX_GLDC_SHARED_PALETTES;i++){
|
||||||
SHARED_PALETTES[i] = _initTexturePalette();
|
SHARED_PALETTES[i] = _initTexturePalette();
|
||||||
}
|
}
|
||||||
|
@ -509,28 +535,6 @@ GLboolean APIENTRY glIsTexture(GLuint texture) {
|
||||||
return (named_array_used(&TEXTURE_OBJECTS, texture)) ? GL_TRUE : GL_FALSE;
|
return (named_array_used(&TEXTURE_OBJECTS, texture)) ? GL_TRUE : GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _glInitializeTextureObject(TextureObject* txr, unsigned int id) {
|
|
||||||
txr->index = id;
|
|
||||||
txr->width = txr->height = 0;
|
|
||||||
txr->mipmap = 0;
|
|
||||||
txr->uv_clamp = 0;
|
|
||||||
txr->env = GPU_TXRENV_MODULATEALPHA;
|
|
||||||
txr->data = NULL;
|
|
||||||
txr->mipmapCount = 0;
|
|
||||||
txr->minFilter = GL_NEAREST;
|
|
||||||
txr->magFilter = GL_NEAREST;
|
|
||||||
txr->palette = NULL;
|
|
||||||
txr->isCompressed = GL_FALSE;
|
|
||||||
txr->isPaletted = GL_FALSE;
|
|
||||||
txr->mipmap_bias = GL_KOS_INTERNAL_DEFAULT_MIPMAP_LOD_BIAS;
|
|
||||||
|
|
||||||
/* Not mipmapped by default */
|
|
||||||
txr->baseDataOffset = 0;
|
|
||||||
|
|
||||||
/* Always default to the first shared bank */
|
|
||||||
txr->shared_bank = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void APIENTRY glGenTextures(GLsizei n, GLuint *textures) {
|
void APIENTRY glGenTextures(GLsizei n, GLuint *textures) {
|
||||||
TRACE();
|
TRACE();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user