/** * Shut down the shader. * This must be run from within a valid GL context! */ void GLShader::end(void) { switch (m_shaderType) { case ST_GL_ARB_FRAGMENT_PROGRAM: #ifdef ENABLE_ATI_TEXT_FRAGMENT_SHADER case ST_GL_ATI_TEXT_FRAGMENT_SHADER: #endif // Delete the ARB program. if (m_ARB_program > 0) glDeleteProgramsARB(1, &m_ARB_program); break; case ST_GL_ATI_FRAGMENT_SHADER: if (m_ATI_fragment_shader > 0) glDeleteFragmentShaderATI(m_ATI_fragment_shader); break; default: break; } }
void piglit_init(int argc, char **argv) { bool pass = true; piglit_require_extension("GL_ATI_fragment_shader"); glBeginFragmentShaderATI(); pass &= piglit_check_gl_error(GL_NO_ERROR); glGenFragmentShadersATI(1); pass &= piglit_check_gl_error(GL_INVALID_OPERATION); glBindFragmentShaderATI(2); pass &= piglit_check_gl_error(GL_INVALID_OPERATION); glDeleteFragmentShaderATI(3); pass &= piglit_check_gl_error(GL_INVALID_OPERATION); glBeginFragmentShaderATI(); pass &= piglit_check_gl_error(GL_INVALID_OPERATION); piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL); }
cGLState_ATIDiffuse::~cGLState_ATIDiffuse() { Log("Deleting ATI shader to %d\n",mlBind); if (mlBind) glDeleteFragmentShaderATI(mlBind); }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglDeleteFragmentShaderATI(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { glDeleteFragmentShaderATIPROC glDeleteFragmentShaderATI = (glDeleteFragmentShaderATIPROC)((intptr_t)function_pointer); glDeleteFragmentShaderATI(id); }