|
5b58cae2
|
2015-11-05T14:51:47
|
|
Revert "In D3D, cache static vertex buffers to prevent wasteful recreation"
Perf bisect traced performance regression to this CL:
8.1% regression in angle_perftests/DrawCallPerf_d3d9_null/score
6.2% regression in angle_perftests/DrawCallPerf_d3d11_null/score
BUG=angleproject:197
This reverts commit 868651d334d060458af13c7ff9211c2f72be0cad.
Change-Id: Iaba7eb4e574eb886496361e61fd5fe78ca14dcb8
Reviewed-on: https://chromium-review.googlesource.com/311150
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
868651d3
|
2015-08-31T15:31:18
|
|
In D3D, cache static vertex buffers to prevent wasteful recreation
BUG=angleproject:197
Change-Id: I66cd10609b2edbcf12b99530eafe1727511fe515
Reviewed-on: https://chromium-review.googlesource.com/296503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3edfe034
|
2015-09-04T16:38:24
|
|
Support primitive restart in RendererGL.
Store index ranges in a new struct that tracks how many real indices were
seen. Update index caching to key on primitive restart being enabled and
update index counting functions to skip primitive restart indicies when
needed.
Passes dEQP-GLES3.functional.primitive_restart.*
Change-Id: Id1e25a5adcdcd4e998836e8ff6679c64be4c3066
Reviewed-on: https://chromium-review.googlesource.com/297770
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4d61f7ed
|
2015-08-12T10:56:50
|
|
Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
BUG=angleproject:1120
Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
Reviewed-on: https://chromium-review.googlesource.com/293028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b195643c
|
2015-08-12T17:35:20
|
|
Revert "Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'"
Seems to have quite a few warnings in 64-bit on my machine.
BUG=angleproject:1120
This reverts commit c5cf9bc47d0ee028adbbf9e9f94ca567eec601dc.
Change-Id: I86768b900aeba52e7a2242d9ae8949f93f1a5ba9
Reviewed-on: https://chromium-review.googlesource.com/293280
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5cf9bc4
|
2015-08-06T10:46:48
|
|
Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
BUG=angleproject:1120
Change-Id: I01ef10bea7f487c2b394d030c76628f38d2ea645
Reviewed-on: https://chromium-review.googlesource.com/292780
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
94d0e3e8
|
2015-07-22T14:22:05
|
|
IndexDataManager: always add the offset when streaming
When the static buffer has just been invalidated we stream from the buffer
directly for some time. This streaming forgot to offset the starting
point, causing a bug.
BUG=510585
Change-Id: I8321e462841eb0bd7ed97ab78197914cbdb68c55
Reviewed-on: https://chromium-review.googlesource.com/287525
Reviewed-by: Hendrik Wagenaar <hendrikw@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bc3b5e63
|
2015-07-07T10:08:05
|
|
D3D11: map index buffers only when needed.
Before this patch, index buffers where always mapped in case we needed the
index data for the indexed point sprites workaround.
This patch makes it so the index buffer is only mapped in this case, when
we need to stream index data or when we need to fill the static copies of
the index buffers.
This make the memory usage of
http://alteredqualia.com/xg/examples/mammoth.html go down from 41MB to
28MB.
BUG=angleproject:516
Change-Id: I937506d06fd6f074ef2120469dbd235e20245fca
Reviewed-on: https://chromium-review.googlesource.com/283626
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
2e62a9a8
|
2015-07-03T14:13:50
|
|
Simplify the flow of IndexDataManager::prepareIndexData
This will simplify the work on follow up CLs a lot
BUG=angleproject:516
Change-Id: Ie8374ec28fce2e01e76c711a4d280e1ed004a21f
Reviewed-on: https://chromium-review.googlesource.com/283380
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
558f2b5a
|
2015-06-02T09:34:11
|
|
Added emulated indexed pointsprite rendering support.
This emulation is for renderers that do not support Geometry Shaders.
BUG=angleproject:949
Change-Id: I7acf003e83ea6661f10a703486e6d07eb28786f8
Reviewed-on: https://chromium-review.googlesource.com/274851
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
|
|
b48e8b07
|
2015-04-15T14:26:37
|
|
D3D11: Only rewrite for primitive restart when needed.
We would rewrite our index data every draw call. Change the index
check to see if we're writing to the same sized / typed static
buffer and only rewrite the data if the user re-uploaded.
Also add a performance test for the primitive restart workaround.
As a future improvement we could avoid creating new D3D objects
every time we reinitialize static data, since BufferSubData
calls don't change the size of the buffer if the index type
remains the same.
BUG=476658
Change-Id: I9d2540ad8b1b34fa0142ba0bf794cf572da8c61d
Reviewed-on: https://chromium-review.googlesource.com/265838
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
fd1bf4e6
|
2015-03-31T09:46:02
|
|
Add an BufferFactoryD3D class to help mocking.
This D3D-only class has one method, used to generate the D3D
IndexBuffer/VertexBuffer. This can help us mock up
IndexDataManager.
At a later point we can refactor the VertexFormat queries
from Renderer into a Caps struct that mirrors our Texure
Caps.
BUG=angleproject:956
Change-Id: Id8b1220a763873ee871ce92365bbee03633789c7
Reviewed-on: https://chromium-review.googlesource.com/262774
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ff5e7374
|
2015-03-25T16:52:11
|
|
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>
|
|
11ffe1b8
|
2015-03-24T17:28:18
|
|
Micro-optimize math in IndexDataManager
Use bitwise operations instead of division, which is expensive on multiple CPU
architectures.
BUG=angleproject:956
TEST=angle_end2end_tests
Change-Id: I57ab540d447c03dae5a96bafb4975fc37e310261
Reviewed-on: https://chromium-review.googlesource.com/262181
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8fcd4e0c
|
2015-03-24T16:19:33
|
|
Fix redundant index validation on the D3D9 backend
Make sure that the computed index range is added to the cache of the main
buffer object, instead of just to the static buffer object created for the
buffer object. This applies to the code path used for D3D9. This way the
front-end code in ValidateDrawElements gets the index range from the cache
instead of having to iterate over all the indices used on every draw call.
BUG=chromium:461274
TEST=WebGL conformance tests, angle_end2end_tests
Change-Id: I07cf493d2771dab8e76d69bafda7ac49e5a04808
Reviewed-on: https://chromium-review.googlesource.com/262180
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
9236b418
|
2015-02-02T16:51:52
|
|
Add generic Impl casting helper methods.
GetAs and GetImplAs are template helpers that can replace all of our
custom "makeTextureD3D", etc methods. This will help save code across
different back-ends.
Change-Id: Ib3215c005bfac5a819c5d8f7d60a73a725241332
Reviewed-on: https://chromium-review.googlesource.com/245390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2b5420c0
|
2014-11-19T14:20:15
|
|
Merge libGLESv2 and libEGL classes into libANGLE.
BUG=angle:733
Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|