|
|
@@ -474,8 +474,8 @@ void r600_query_begin(struct r600_context *ctx, struct r600_query *query) |
|
|
|
case PIPE_QUERY_SO_OVERFLOW_PREDICATE: |
|
|
|
cs->buf[cs->cdw++] = PKT3(PKT3_EVENT_WRITE, 2, 0); |
|
|
|
cs->buf[cs->cdw++] = EVENT_TYPE(EVENT_TYPE_SAMPLE_STREAMOUTSTATS) | EVENT_INDEX(3); |
|
|
|
cs->buf[cs->cdw++] = query->results_end; |
|
|
|
cs->buf[cs->cdw++] = 0; |
|
|
|
cs->buf[cs->cdw++] = va; |
|
|
|
cs->buf[cs->cdw++] = (va >> 32UL) & 0xFF; |
|
|
|
break; |
|
|
|
case PIPE_QUERY_TIME_ELAPSED: |
|
|
|
cs->buf[cs->cdw++] = PKT3(PKT3_EVENT_WRITE_EOP, 4, 0); |
|
|
@@ -529,10 +529,11 @@ void r600_query_end(struct r600_context *ctx, struct r600_query *query) |
|
|
|
case PIPE_QUERY_PRIMITIVES_GENERATED: |
|
|
|
case PIPE_QUERY_SO_STATISTICS: |
|
|
|
case PIPE_QUERY_SO_OVERFLOW_PREDICATE: |
|
|
|
va += query->results_end + query->result_size/2; |
|
|
|
cs->buf[cs->cdw++] = PKT3(PKT3_EVENT_WRITE, 2, 0); |
|
|
|
cs->buf[cs->cdw++] = EVENT_TYPE(EVENT_TYPE_SAMPLE_STREAMOUTSTATS) | EVENT_INDEX(3); |
|
|
|
cs->buf[cs->cdw++] = query->results_end + query->result_size/2; |
|
|
|
cs->buf[cs->cdw++] = 0; |
|
|
|
cs->buf[cs->cdw++] = va; |
|
|
|
cs->buf[cs->cdw++] = (va >> 32UL) & 0xFF; |
|
|
|
break; |
|
|
|
case PIPE_QUERY_TIME_ELAPSED: |
|
|
|
va += query->results_end + query->result_size/2; |