Browse Source

radeonsi: fix streamout queries

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
tags/mesa-10.1-devel
Marek Olšák 12 years ago
parent
commit
6cf29c7dab
1 changed files with 5 additions and 4 deletions
  1. 5
    4
      src/gallium/drivers/radeonsi/r600_hw_context.c

+ 5
- 4
src/gallium/drivers/radeonsi/r600_hw_context.c View File

@@ -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;

Loading…
Cancel
Save