+ //we don't filter frames
+ if (event->type() == ApiTraceEvent::Frame) {
+ return true;
+ }
+
+ ApiTraceCall *call = static_cast<ApiTraceCall*>(event);
+ QString function = call->name();
+
+ if (!m_regexp.isEmpty() && m_regexp.isValid()) {
+ return function.contains(m_regexp);
+ }
+
+ if (m_filters & ResolutionsFilter) {
+ if (function.contains(QLatin1String("glXGetProcAddress")))
+ return false;
+ if (function.contains(QLatin1String("wglGetProcAddress")))
+ return false;
+ }
+
+ if (m_filters & ErrorsQueryFilter) {
+ if (function.contains(QLatin1String("glGetError")))
+ return false;
+ }
+
+ if (m_filters & ExtraStateFilter) {
+ if (function.contains(QLatin1String("glXGetCurrentDisplay")))
+ return false;
+ if (function.contains(QLatin1String("wglDescribePixelFormat")))
+ return false;
+ }
+
+ if (m_filters & ExtensionsFilter) {
+ if (function.contains(QLatin1String("glXGetClientString")))
+ return false;
+ if (function.contains(QLatin1String("glXQueryExtensionsString")))
+ return false;
+ if (function.contains(QLatin1String("glGetString")))
+ return false;
+ }
+
+ if (m_filters & CustomFilter) {
+ return !function.contains(m_customRegexp);
+ }
+