mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
i965: Fix off-by-one in query object result gathering.
If we've written N pairs of values to the buffer, then last_index = N, but the values are 0 .. N-1. Thus, we need to use <, not <=. This worked anyway because we fill the buffer with zeroes, so we just added an extra (0 - 0) to our results. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
886c5085e3
commit
89e5c8e0fa
1 changed files with 2 additions and 2 deletions
|
|
@ -208,7 +208,7 @@ brw_queryobj_get_results(struct gl_context *ctx,
|
|||
* run out of space in the query's BO and allocated a new one. If so,
|
||||
* this function was already called to accumulate the results so far.
|
||||
*/
|
||||
for (i = 0; i <= query->last_index; i++) {
|
||||
for (i = 0; i < query->last_index; i++) {
|
||||
query->Base.Result += results[i * 2 + 1] - results[i * 2];
|
||||
}
|
||||
break;
|
||||
|
|
@ -218,7 +218,7 @@ brw_queryobj_get_results(struct gl_context *ctx,
|
|||
/* If the starting and ending PS_DEPTH_COUNT from any of the batches
|
||||
* differ, then some fragments passed the depth test.
|
||||
*/
|
||||
for (i = 0; i <= query->last_index; i++) {
|
||||
for (i = 0; i < query->last_index; i++) {
|
||||
if (results[i * 2 + 1] != results[i * 2]) {
|
||||
query->Base.Result = GL_TRUE;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue