Home | History | Annotate | Download | only in radeon

Lines Matching refs:query

37 	struct radeon_query_object *query = (struct radeon_query_object *)q;
42 "%s: query id %d, result %d\n",
43 __func__, query->Base.Id, (int) query->Base.Result);
45 radeon_bo_map(query->bo, GL_FALSE);
46 result = query->bo->ptr;
48 query->Base.Result = 0;
49 for (i = 0; i < query->curr_offset/sizeof(uint32_t); ++i) {
50 query->Base.Result += LE32_TO_CPU(result[i]);
54 radeon_bo_unmap(query->bo);
59 struct radeon_query_object *query;
61 query = calloc(1, sizeof(struct radeon_query_object));
63 query->Base.Id = id;
64 query->Base.Result = 0;
65 query->Base.Active = GL_FALSE;
66 query->Base.Ready = GL_TRUE;
68 radeon_print(RADEON_STATE, RADEON_VERBOSE,"%s: query id %d\n", __func__, query->Base.Id);
70 return &query->Base;
75 struct radeon_query_object *query = (struct radeon_query_object *)q;
77 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d\n", __func__, q->Id);
79 if (query->bo) {
80 radeon_bo_unref(query->bo);
83 free(query);
89 struct radeon_query_object *query = (struct radeon_query_object *)q;
91 /* If the cmdbuf with packets for this query hasn't been flushed yet, do it now */
92 if (radeon_bo_is_referenced_by_cs(query->bo, radeon->cmdbuf.cs))
95 radeon_print(RADEON_STATE, RADEON_VERBOSE, "%s: query id %d, bo %p, offset %d\n", __func__, q->Id, query->bo, query->curr_offset);
99 query->Base.Ready = GL_TRUE;
106 struct radeon_query_object *query = (struct radeon_query_object *)q;
108 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d\n", __func__, q->Id);
110 assert(radeon->query.current == NULL);
115 if (!query->bo) {
116 query->bo = radeon_bo_open(radeon->radeonScreen->bom, 0, RADEON_QUERY_PAGE_SIZE, RADEON_QUERY_PAGE_SIZE, RADEON_GEM_DOMAIN_GTT, 0);
118 query->curr_offset = 0;
120 radeon->query.current = query;
122 radeon->query.queryobj.dirty = GL_TRUE;
129 struct radeon_query_object *query = radeon->query.current;
131 if (!query)
134 if (query->emitted_begin == GL_FALSE)
137 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d, bo %p, offset %d\n", __func__, query->Base.Id, query->bo, query->curr_offset);
140 query->bo,
150 radeon_print(RADEON_STATE, RADEON_NORMAL, "%s: query id %d\n", __func__, q->Id);
156 radeon->query.current = NULL;
161 radeon_print(RADEON_STATE, RADEON_TRACE, "%s: query id %d\n", __func__, q->Id);
166 struct radeon_query_object *query = (struct radeon_query_object *)q;
170 if (radeon_bo_is_referenced_by_cs(query->bo, radeon->cmdbuf.cs)) {
174 if (radeon_bo_is_busy(query->bo, &domain) == 0) {
176 query->Base.Ready = GL_TRUE;
196 struct radeon_query_object *query = radeon->query.current;
198 if (!query || query->emitted_begin)
215 radeon->query.current->emitted_begin = GL_TRUE;