void MetricBackend_AMD_perfmon::enumGroups(enumGroupsCallback callback, void* userData) { std::vector<unsigned> groups; int num_groups; glGetPerfMonitorGroupsAMD(&num_groups, 0, nullptr); groups.resize(num_groups); glGetPerfMonitorGroupsAMD(nullptr, num_groups, &groups[0]); for(unsigned &g : groups) { callback(g, 0, userData); } }
PIGLIT_GL_TEST_CONFIG_END /******************************************************************************/ /** * Get a list of group IDs. */ static void get_groups(unsigned **groups, int *num_groups) { glGetPerfMonitorGroupsAMD(num_groups, 0, NULL); *groups = calloc(*num_groups, sizeof(unsigned)); glGetPerfMonitorGroupsAMD(NULL, *num_groups, *groups); }