Lines Matching refs:query

38 	struct radeon_query_object *query = (struct radeon_query_object *)q;
43 "%s: query id %d, result %d\n",
44 __FUNCTION__, query->Base.Id, (int) query->Base.Result);
46 radeon_bo_map(query->bo, GL_FALSE);
47 result = query->bo->ptr;
49 query->Base.Result = 0;
50 for (i = 0; i < query->curr_offset/sizeof(uint32_t); ++i) {
51 query->Base.Result += LE32_TO_CPU(result[i]);
55 radeon_bo_unmap(query->bo);
60 struct radeon_query_object *query;
62 query = calloc(1, sizeof(struct radeon_query_object));
64 query->Base.Id = id;
65 query->Base.Result = 0;
66 query->Base.Active = GL_FALSE;
67 query->Base.Ready = GL_TRUE;
69 radeon_print(RADEON_STATE, RADEON_VERBOSE,"%s: query id %d\n", __FUNCTION__, query->Base.Id);
71 return &query->Base;
76 struct radeon_query_object *query = (struct radeon_query_object *)q;
78 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d\n", __FUNCTION__, q->Id);
80 if (query->bo) {
81 radeon_bo_unref(query->bo);
84 free(query);
90 struct radeon_query_object *query = (struct radeon_query_object *)q;
92 /* If the cmdbuf with packets for this query hasn't been flushed yet, do it now */
93 if (radeon_bo_is_referenced_by_cs(query->bo, radeon->cmdbuf.cs))
96 radeon_print(RADEON_STATE, RADEON_VERBOSE, "%s: query id %d, bo %p, offset %d\n", __FUNCTION__, q->Id, query->bo, query->curr_offset);
100 query->Base.Ready = GL_TRUE;
107 struct radeon_query_object *query = (struct radeon_query_object *)q;
109 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d\n", __FUNCTION__, q->Id);
111 assert(radeon->query.current == NULL);
116 if (!query->bo) {
117 query->bo = radeon_bo_open(radeon->radeonScreen->bom, 0, RADEON_QUERY_PAGE_SIZE, RADEON_QUERY_PAGE_SIZE, RADEON_GEM_DOMAIN_GTT, 0);
119 query->curr_offset = 0;
121 radeon->query.current = query;
123 radeon->query.queryobj.dirty = GL_TRUE;
130 struct radeon_query_object *query = radeon->query.current;
132 if (!query)
135 if (query->emitted_begin == GL_FALSE)
138 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d, bo %p, offset %d\n", __FUNCTION__, query->Base.Id, query->bo, query->curr_offset);
141 query->bo,
151 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d\n", __FUNCTION__, q->Id);
157 radeon->query.current = NULL;
162 radeon_print(RADEON_STATE, RADEON_TRACE, "%s: query id %d\n", __FUNCTION__, q->Id);
167 struct radeon_query_object *query = (struct radeon_query_object *)q;
171 if (radeon_bo_is_referenced_by_cs(query->bo, radeon->cmdbuf.cs)) {
175 if (radeon_bo_is_busy(query->bo, &domain) == 0) {
177 query->Base.Ready = GL_TRUE;
197 struct radeon_query_object *query = radeon->query.current;
199 if (!query || query->emitted_begin)
216 radeon->query.current->emitted_begin = GL_TRUE;