int __glXDisp_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc) { GLsizei n; GLboolean retval; __GLXcontext *cx; ClientPtr client = cl->client; int error; GLboolean answerBuffer[200]; char *answer; cx = __glXForceCurrent(cl, __GLX_GET_VENDPRIV_CONTEXT_TAG(pc), &error); if (!cx) { return error; } pc += __GLX_VENDPRIV_HDR_SIZE; n = *(GLsizei *)(pc + 0); __GLX_GET_ANSWER_BUFFER(answer,cl,n,1); retval = glAreTexturesResidentEXT( *(GLsizei *)(pc + 0), (GLuint *)(pc + 4), (GLboolean *) answer ); __GLX_PUT_RETVAL(retval); __GLX_BEGIN_REPLY(n); __GLX_SEND_HEADER(); __GLX_SEND_BYTE_ARRAY(n); return Success; }
GLboolean glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { #if 0 /* see comments above */ __GLX_SINGLE_DECLARE_VARIABLES(); GLboolean retval = 0; xGLXSingleReply reply; __GLX_SINGLE_LOAD_VARIABLES(); if (n < 0) return retval; cmdlen = 4+n*4; __GLX_SINGLE_BEGIN(X_GLsop_AreTexturesResident,cmdlen); __GLX_SINGLE_PUT_LONG(0,n); __GLX_PUT_LONG_ARRAY(4,textures,n); __GLX_SINGLE_READ_XREPLY(); __GLX_SINGLE_GET_RETVAL(retval, GLboolean); __GLX_SINGLE_GET_CHAR_ARRAY(residences,n); __GLX_SINGLE_END(); return retval; #else return glAreTexturesResidentEXT(n, textures, residences); #endif }
static void Key(unsigned char key, int x, int y) { int i; switch (key) { case 'h': for (i = 0; keyList[i][0] != NULL; i++) { printf("%-20s %s\n", keyList[i][0], keyList[i][1]); } break; case 'T': zTranslate += 0.25; glutPostRedisplay(); break; case 't': zTranslate -= 0.25; glutPostRedisplay(); break; case 's': doSphere = !doSphere; if (doSphere) { glTexGeniv(GL_S, GL_TEXTURE_GEN_MODE, sphereMap); glTexGeniv(GL_T, GL_TEXTURE_GEN_MODE, sphereMap); glEnable(GL_TEXTURE_GEN_S); glEnable(GL_TEXTURE_GEN_T); } else { glDisable(GL_TEXTURE_GEN_S); glDisable(GL_TEXTURE_GEN_T); } glutPostRedisplay(); break; case 'r': UnInit(); Init(); glutPostRedisplay(); break; case 'C': currentList = CUBE; glutPostRedisplay(); break; case 'S': currentList = SQUARE; glutPostRedisplay(); break; case 'P': currentList = PUSHPOP; glutPostRedisplay(); break; case 'G': { GLint name; GLfloat priority; GLboolean isTex, resident, residences[NUM_TEXTURES]; glGetIntegerv(GL_TEXTURE_2D_BINDING_EXT, &name); glGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY_EXT, &priority); isTex = glIsTextureEXT(name); resident = glAreTexturesResidentEXT(NUM_TEXTURES, texNames, residences); fprintf(stdout, "\tname=%d priority=%f allResident=%d isTex=%d\n", name, priority, resident, isTex); } glutPostRedisplay(); break; case '0': magFilter = nr; glutPostRedisplay(); break; case '1': magFilter = ln; glutPostRedisplay(); break; case '2': minFilter = nr; glutPostRedisplay(); break; case '3': minFilter = ln; glutPostRedisplay(); break; case '4': minFilter = nr_mipmap_nr; glutPostRedisplay(); break; case '5': minFilter = nr_mipmap_ln; glutPostRedisplay(); break; case '6': minFilter = ln_mipmap_nr; glutPostRedisplay(); break; case '7': minFilter = ln_mipmap_ln; glutPostRedisplay(); break; case 27: exit(0); } }