Lines Matching refs:result
64 uint64_t result;
295 q->result = q->map->end != q->map->start;
300 q->result = intel_device_info_timebase_scale(devinfo, q->map->start);
301 q->result &= (1ull << TIMESTAMP_BITS) - 1;
304 q->result = iris_raw_timestamp_delta(q->map->start, q->map->end);
305 q->result = intel_device_info_timebase_scale(devinfo, q->result);
306 q->result &= (1ull << TIMESTAMP_BITS) - 1;
309 q->result = stream_overflowed((void *) q->map, q->index);
312 q->result = false;
314 q->result |= stream_overflowed((void *) q->map, i);
317 q->result = q->map->end - q->map->start;
321 q->result /= 4;
327 q->result = q->map->end - q->map->start;
363 struct mi_value result = stream_result[0];
365 result = mi_ior(b, result, stream_result[i]);
367 return result;
385 * Calculate the result using MI_MATH.
392 struct mi_value result;
400 result = calc_overflow_for_stream(b, q, q->index);
403 result = calc_overflow_any_stream(b, q);
411 result = mi_iand(b, mi_imm((1ull << 36) - 1),
418 result = mi_imul_imm(b, mi_isub(b, end_val, start_val), scale);
422 result = mi_isub(b, end_val, start_val);
430 result = mi_ushr32_imm(b, result, 2);
433 result = mi_iand(b, mi_nz(b, result), mi_imm(1));
435 return result;
523 q->result = 0ull;
587 * result and mark it ready. Does not flush (unlike iris_get_query_result).
604 union pipe_query_result *result)
610 return iris_get_monitor_result(ctx, q->monitor, wait, result->batch);
616 result->u64 = 0;
623 result->b = screen->fence_finish(screen, ctx, q->fence,
625 return result->b;
646 result->u64 = q->result;
673 /* They're asking for the availability of the result. If we still
674 * have commands queued up which produce the result, submit them
689 * the result on the CPU now...
695 /* We happen to have the result on the CPU, so just copy it. */
697 batch->screen->vtbl.store_data_imm32(batch, dst_bo, offset, q->result);
699 batch->screen->vtbl.store_data_imm64(batch, dst_bo, offset, q->result);
702 /* Make sure QBO is flushed before its result is used elsewhere. */
714 struct mi_value result = calculate_result_on_gpu(devinfo, &b, q);
723 mi_store_if(&b, dst, result);
725 mi_store(&b, dst, result);
771 /* The CPU doesn't have the query result yet; use hardware predication */
783 struct mi_value result;
787 result = calc_overflow_for_stream(&b, q, q->index);
790 result = calc_overflow_any_stream(&b, q);
798 result = mi_isub(&b, end, start);
803 result = inverted ? mi_z(&b, result) : mi_nz(&b, result);
804 result = mi_iand(&b, result, mi_imm(1));
809 * a different MI_PREDICATE_RESULT register. So, we save the result to
812 mi_value_ref(&b, result);
813 mi_store(&b, mi_reg32(MI_PREDICATE_RESULT), result);
815 predicate_result)), result);
840 if (q->result || q->ready) {
841 set_predicate_enable(ice, (q->result != 0) ^ condition);