//------------------------------------------------------------------ void GLHardwareOcclusionQuery::beginOcclusionQuery() { if(GLEW_VERSION_1_5 || GLEW_ARB_occlusion_query) { glBeginQueryARB(GL_SAMPLES_PASSED_ARB, mQueryID); } else if (GLEW_NV_occlusion_query) { glBeginOcclusionQueryNV(mQueryID); } }
void PerfQueryGLESNV::EnableQuery(PerfQueryGroup type) { // Is this sane? if (m_query_count > m_query_buffer.size() / 2) WeakFlush(); if (m_query_buffer.size() == m_query_count) { FlushOne(); //ERROR_LOG(VIDEO, "Flushed query buffer early!"); } // start query if (type == PQG_ZCOMP_ZCOMPLOC || type == PQG_ZCOMP) { auto& entry = m_query_buffer[(m_query_read_pos + m_query_count) % m_query_buffer.size()]; glBeginOcclusionQueryNV(entry.query_id); entry.query_type = type; ++m_query_count; } }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglBeginOcclusionQueryNV(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { glBeginOcclusionQueryNVPROC glBeginOcclusionQueryNV = (glBeginOcclusionQueryNVPROC)((intptr_t)function_pointer); glBeginOcclusionQueryNV(id); }