Recompute stream offset instead of fetching a cached value
Recomputing the stream offset is relatively cheap now after recent changes.
Remove caching it to make the code less complex.
TEST=angle_end2end_tests
BUG=angleproject:956
Change-Id: Icb9cc4e4ffd685a78b7f8a45958992a471ebb0f5
Reviewed-on: https://chromium-review.googlesource.com/262422
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/libANGLE/validationES.cpp b/src/libANGLE/validationES.cpp
index 76232fd..fa741b0 100644
--- a/src/libANGLE/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -1557,7 +1557,7 @@
}
const gl::VertexArray *vao = state.getVertexArray();
- const gl::Buffer *elementArrayBuffer = vao->getElementArrayBuffer();
+ gl::Buffer *elementArrayBuffer = vao->getElementArrayBuffer();
if (!indices && !elementArrayBuffer)
{
context->recordError(Error(GL_INVALID_OPERATION));
@@ -1612,6 +1612,7 @@
const uint8_t *offsetPointer = dataPointer + offset;
*indexRangeOut = rx::IndexRangeCache::ComputeRange(type, offsetPointer, count);
+ elementArrayBuffer->getIndexRangeCache()->addRange(type, offset, count, *indexRangeOut, offset);
}
}
else