static RGLenum render_component_init(GLboolean (*gpa) (void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglDrawArrays, "glDrawArrays") && gpa((void **) &rglDrawElements, "glDrawElements") ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
static RGLenum renderbuffer_object_init(GLboolean (*gpa) (void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglDeleteRenderbuffers, "glDeleteRenderbuffers") && gpa((void **) &rglGenRenderbuffers, "glGenRenderbuffers") && ( (dsa && (GL_TRUE && gpa((void **) &rglNamedRenderbufferStorageEXT, "glNamedRenderbufferStorageEXT"))) || (GL_TRUE) ) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
void calcul_cles(mpz_t p, mpz_t q, mpz_t phi, mpz_t n, mpz_t e, mpz_t d, unsigned int taille, gmp_randstate_t state) { gpa(p,taille,state); premier(p); gpa(q,taille,state); premier(q); mpz_mul(n,p,q); // n = pq phi_n(phi,p,q); // phi = (p-1)*(q-1) mpz_set_ui(e,65537); calcul_d(d,e,phi); // calcul de d tel que e*d mod phi = 1 }
RGLenum shader_object_init(GLboolean (*gpa) (void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglCreateShader, "glCreateShader") && gpa((void **) &rglDeleteShader, "glDeleteShader") && gpa((void **) &rglShaderSource, "glShaderSource") && gpa((void **) &rglCompileShader, "glCompileShader") && gpa((void **) &rglGetShaderiv, "glGetShaderiv") && gpa((void **) &rglGetShaderiv, "glGetShaderiv") && gpa((void **) &rglGetShaderInfoLog, "glGetShaderInfoLog") ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
RGLenum rgl_initialize(GLboolean (*gpa)(void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglGetError, "glGetError") && RGL_NO_ERROR == texture_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == renderbuffer_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == framebuffer_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == buffer_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == vertex_array_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == shader_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == program_object_init(gpa, GL_TRUE) && RGL_NO_ERROR == render_component_init(gpa, GL_TRUE) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
const Mark& Mark::display(int type)const{ if (type == DSP_GRADE){ std::cout << grade(); } else if (type == DSP_GPA){ std::cout <<setprecision(1) << fixed << gpa(); } else if (type == DSP_MARK){ std::cout << weightedMark(); } else{ std::cout << "Bad display type for a mark"; } return *this; }
static RGLenum framebuffer_object_init(GLboolean (*gpa) (void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglDeleteFramebuffers, "glDeleteFramebuffers") && gpa((void **) &rglBindFramebuffer, "glBindFramebuffer") && gpa((void **) &rglGenFramebuffers, "glGenFramebuffers") && ( ( dsa && ( GL_TRUE && gpa((void **) &rglNamedFramebufferTexture1DEXT, "glNamedFramebufferTexture1DEXT") && gpa((void **) &rglNamedFramebufferTexture2DEXT, "glNamedFramebufferTexture2DEXT") && gpa((void **) &rglNamedFramebufferTexture3DEXT, "glNamedFramebufferTexture3DEXT") && gpa((void **) &rglNamedFramebufferRenderbufferEXT, "glNamedFramebufferRenderbufferEXT") && gpa((void **) &rglCheckNamedFramebufferStatusEXT, "glCheckNamedFramebufferStatusEXT") ) ) || (GL_TRUE) ) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
/* Various dispatchable objects will use the same underlying dispatch table if they * are created from that "parent" object. Thus use pointer to dispatch table * as the key to these table maps. * Instance -> PhysicalDevice * Device -> CommandBuffer or Queue * If use the object themselves as key to map then implies Create entrypoints have to be intercepted * and a new key inserted into map */ VkLayerInstanceDispatchTable *initInstanceTable(VkInstance instance, const PFN_vkGetInstanceProcAddr gpa, instance_table_map &map) { VkLayerInstanceDispatchTable *pTable; dispatch_key key = get_dispatch_key(instance); instance_table_map::const_iterator it = map.find((void *)key); if (it == map.end()) { pTable = new VkLayerInstanceDispatchTable; map[(void *)key] = pTable; } else { return it->second; } layer_init_instance_dispatch_table(instance, pTable, gpa); // Setup func pointers that are required but not externally exposed. These won't be added to the instance dispatch table by // default. pTable->GetPhysicalDeviceProcAddr = (PFN_GetPhysicalDeviceProcAddr)gpa(instance, "vk_layerGetPhysicalDeviceProcAddr"); return pTable; }
static RGLenum vertex_array_object_init(GLboolean (*gpa) (void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglDeleteVertexArrays, "glDeleteVertexArrays") && gpa((void **) &rglBindVertexArray, "glBindVertexArray") && gpa((void **) &rglGenVertexArrays, "glGenVertexArrays") && ( ( dsa && ( GL_TRUE && gpa((void **) &rglGetVertexArrayIntegeri_vEXT, "glGetVertexArrayIntegeri_vEXT") && gpa((void **) &rglGetVertexArrayPointeri_vEXT, "glGetVertexArrayPointeri_vEXT") && gpa((void **) &rglVertexArrayVertexAttribIOffsetEXT, "glVertexArrayVertexAttribIOffsetEXT") && gpa((void **) &rglVertexArrayVertexAttribOffsetEXT, "glVertexArrayVertexAttribOffsetEXT") && gpa((void **) &rglEnableVertexArrayAttribEXT, "glEnableVertexArrayAttribEXT") && gpa((void **) &rglDisableVertexArrayAttribEXT, "glDisableVertexArrayAttribEXT") ) ) || ( GL_TRUE /* && gpa((void**)&rglGetVertexArrayIntegeri_v, "glGetVertexArrayIntegeri_v") && gpa((void**)&rglGetVertexArrayPointeri_v, "glGetVertexArrayPointeri_v") */ && gpa((void **) &rglVertexAttribIPointer, "glVertexAttribIPointer") && gpa((void **) &rglVertexAttribPointer, "glVertexAttribPointer") && gpa((void **) &rglEnableVertexAttribArray, "glEnableVertexAttribArray") && gpa((void **) &rglDisableVertexAttribArray, "glDisableVertexAttribArray") ) ) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
static RGLenum buffer_object_init(GLboolean (*gpa)(void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglDeleteBuffers, "glDeleteBuffers") && gpa((void **) &rglBindBuffer, "glBindBuffer") && gpa((void **) &rglGenBuffers, "glGenBuffers") && ( ( dsa && ( GL_TRUE && gpa((void **) &rglUnmapNamedBufferEXT, "glUnmapNamedBufferEXT") && gpa((void **) &rglFlushMappedNamedBufferRangeEXT, "glFlushMappedNamedBufferRangeEXT") && gpa((void **) &rglGetNamedBufferSubDataEXT, "glGetNamedBufferSubDataEXT") && gpa((void **) &rglNamedBufferDataEXT, "glNamedBufferDataEXT") && gpa((void **) &rglNamedBufferSubDataEXT, "glNamedBufferSubDataEXT") && gpa((void **) &rglMapNamedBufferEXT, "glMapNamedBufferEXT") && gpa((void **) &rglMapNamedBufferRangeEXT, "glMapNamedBufferRangeEXT") && gpa((void **) &rglGetNamedBufferParameterivEXT, "glGetNamedBufferParameterivEXT") ) ) || ( GL_TRUE && gpa((void **) &rglUnmapBuffer, "glUnmapBuffer") && gpa((void **) &rglFlushMappedBufferRange, "glFlushMappedBufferRange") && gpa((void **) &rglGetBufferSubData, "glGetBufferSubData") && gpa((void **) &rglBufferData, "glBufferData") && gpa((void **) &rglBufferSubData, "glBufferSubData") && gpa((void **) &rglMapBuffer, "glMapBuffer") && gpa((void **) &rglMapBufferRange, "glMapBufferRange") && gpa((void **) &rglGetBufferParameteriv, "glGetBufferParameteriv") ) ) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
static RGLenum texture_object_init(GLboolean (*gpa)(void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglDeleteTextures, "glDeleteTextures") && gpa((void **) &rglGenTextures, "glGenTextures") && ( ( dsa && ( GL_TRUE && gpa((void **)&rglTextureImage1DEXT, "glTextureImage1DEXT") && gpa((void **)&rglTextureImage2DEXT, "glTextureImage2DEXT") && gpa((void **)&rglTextureImage3DEXT, "glTextureImage3DEXT") && gpa((void **)&rglTextureSubImage1DEXT, "glTextureSubImage1DEXT") && gpa((void **)&rglTextureSubImage2DEXT, "glTextureSubImage2DEXT") && gpa((void **)&rglTextureSubImage3DEXT, "glTextureSubImage3DEXT") && gpa((void **)&rglCopyTextureImage1DEXT, "glCopyTextureImage1DEXT") && gpa((void **)&rglCopyTextureImage2DEXT, "glCopyTextureImage2DEXT") && gpa((void **)&rglCopyTextureSubImage1DEXT, "glCopyTextureSubImage1DEXT") && gpa((void **)&rglCopyTextureSubImage2DEXT, "glCopyTextureSubImage2DEXT") && gpa((void **)&rglCopyTextureSubImage3DEXT, "glCopyTextureSubImage3DEXT") && gpa((void **)&rglBindMultiTextureEXT, "glBindMultiTextureEXT") && gpa((void **)&rglTextureParameterfEXT, "glTextureParameterfEXT") && gpa((void **)&rglGenerateTextureMipmapEXT, "glGenerateTextureMipmapEXT") ) ) || (GL_TRUE) ) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }
static RGLenum program_object_init(GLboolean (*gpa)(void **f, const GLchar *n), GLboolean dsa) { return ( GL_TRUE && gpa((void **) &rglCreateProgram, "glCreateProgram") && gpa((void **) &rglDeleteProgram, "glDeleteProgram") && gpa((void **) &rglAttachShader, "glAttachShader") && gpa((void **) &rglDetachShader, "glDetachShader") && gpa((void **) &rglBindAttribLocation, "glBindAttribLocation") && gpa((void **) &rglBindFragDataLocation, "glBindFragDataLocation") && gpa((void **) &rglLinkProgram, "glLinkProgram") && gpa((void **) &rglGetProgramiv, "glGetProgramiv") && gpa((void **) &rglGetProgramInfoLog, "glGetProgramInfoLog") && gpa((void **) &rglGetUniformLocation, "glGetUniformLocation") && gpa((void **) &rglUseProgram, "glUseProgram") && ( ( dsa && ( GL_TRUE && gpa((void **) &rglProgramUniform1fEXT, "glProgramUniform1fEXT") && gpa((void **) &rglProgramUniform2fEXT, "glProgramUniform2fEXT") && gpa((void **) &rglProgramUniform3fEXT, "glProgramUniform3fEXT") && gpa((void **) &rglProgramUniform4fEXT, "glProgramUniform4fEXT") && gpa((void **) &rglProgramUniform1iEXT, "glProgramUniform1iEXT") && gpa((void **) &rglProgramUniform2iEXT, "glProgramUniform2iEXT") && gpa((void **) &rglProgramUniform3iEXT, "glProgramUniform3iEXT") && gpa((void **) &rglProgramUniform4iEXT, "glProgramUniform4iEXT") && gpa((void **) &rglProgramUniform3fvEXT, "glProgramUniform3fvEXT") && gpa((void **) &rglProgramUniformMatrix3fvEXT, "glProgramUniformMatrix3fvEXT") && gpa((void **) &rglProgramUniformMatrix4fvEXT, "glProgramUniformMatrix4fvEXT") ) ) || ( GL_TRUE && gpa((void **) &rglUniform1f, "glUniform1f") && gpa((void **) &rglUniform2f, "glUniform2f") && gpa((void **) &rglUniform3f, "glUniform3f") && gpa((void **) &rglUniform4f, "glUniform4f") && gpa((void **) &rglUniform1i, "glUniform1i") && gpa((void **) &rglUniform2i, "glUniform2i") && gpa((void **) &rglUniform3i, "glUniform3i") && gpa((void **) &rglUniform4i, "glUniform4i") && gpa((void **) &rglUniform3fv, "glUniform3fv") && gpa((void **) &rglUniformMatrix3fv, "glUniformMatrix3fv") && gpa((void **) &rglUniformMatrix4fv, "glUniformMatrix4fv") ) ) ) ? RGL_NO_ERROR : RGL_NO_BINDING; }