|
b61e173a
|
2015-06-05T11:49:55
|
|
Only sync attributes used by the current program in RendererGL.
Improves draw call overhead of RendererGL.
DrawCallPerf_gl:
Before: 136973 score
After: 153317 score
Improvement: 11.932%
BUG=angleproject:959
Change-Id: Ib75f6fdd756648e4a07f6e970cda03abbdbcf009
Reviewed-on: https://chromium-review.googlesource.com/275409
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
95137842
|
2015-06-02T15:38:43
|
|
Use a map to store uniform locations instead of a vector.
Some intel drivers use seemingly arbitrary integers as uniform locations.
This causes the location vector to be resized to arbitrarily large sizes.
BUG=angleproject:882
Change-Id: I8db89178907dd6206eb8e646a0b426aa9bac0832
Reviewed-on: https://chromium-review.googlesource.com/274816
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c3ab9f7f
|
2015-05-27T14:45:59
|
|
Disable UNIMPLEMENTED in ProgramGL::applyUniforms.
Disables lots of assertion failures in WebGL CTS.
BUG=angleproject:882
Change-Id: I407397a256955d608dbf1234e4e391704653bb5a
Reviewed-on: https://chromium-review.googlesource.com/273547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f51bc795
|
2015-05-04T14:57:03
|
|
Optimize Texture binding by only applying referenced textures.
Update ProgramGL to track which the current values of sampler uniforms so
that only the currently applied texture units have to be bound for the
draw call.
BUG=angleproject:882
Change-Id: I280aa106172b13a5fbb31cdefba27b6691c0a0e4
Reviewed-on: https://chromium-review.googlesource.com/264803
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0ca53786
|
2015-05-07T13:49:39
|
|
Fix issues with ProgramGL.
* Don't re-create the native GL program every link, some program state should
persist between re-linking such as bound attribute locations.
* Forward glBindAttribLocation calls to the ProgramImpl, fixes some chromium
rendering issues because chromium always binds attribute locations,
sometimes with gaps.
* Query the real attrib location before inserting it into the list of attribs.
It was unsafe to rely on the attrib having the same location as its index
into the active attributes.
BUG=angleproject:882
Change-Id: If14b4c4c2f5ebcdaa4f7c5a890b9519d6d4e6e43
Reviewed-on: https://chromium-review.googlesource.com/269991
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f611316b
|
2015-05-07T11:49:21
|
|
Use stream operators for appending to InfoLog.
Also add a helper class to keep the previous behaviour of
automatically appending a newline after every new message.
BUG=angleproject:992
Change-Id: I0ff5d2846175cf19de7a6af295af24a92451456f
Reviewed-on: https://chromium-review.googlesource.com/268744
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1eb708e1
|
2015-05-04T14:58:23
|
|
Clear cached state when deleting GL objects.
Change-Id: I84eac9b3796858e5e19e26851ad83baa1f9b6af2
Reviewed-on: https://chromium-review.googlesource.com/269142
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3da79b7b
|
2015-04-27T11:09:17
|
|
Reject shaders using attribute aliasing.
The current code rejects any shaders that use more than the caps
allow, but a bug would crash us before the check. We don't support
aliasing in shaders that use a lot of uniforms because this
causes problems with the D3D back-end, currently. This changes the
crash in the dEQP aliasing tests to a link error.
See dEQP-GLES2.functional.attribute_location.bind_aliasing.*
BUG=angleproject:901
Change-Id: I6906d3345abe9f89cfa0aa6cec4be26b5b2851d0
Reviewed-on: https://chromium-review.googlesource.com/266928
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
5ed74cfd
|
2015-04-14T13:57:07
|
|
Fix uniform locations in ProgramGL.
ProgramGL was unable to handle uniform arrays and improperly set uniform
locations. It now queries the driver for the location of each uniform and
iterates over all array elements.
BUG=angleproject:882
Change-Id: Iffe9d12944b2399f19f4a7823df2f535a430d6e3
Reviewed-on: https://chromium-review.googlesource.com/265724
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
68694e99
|
2015-03-24T14:03:37
|
|
Add UBO offset support for D3D11.1.
Also fixes the uniform count upper limit in glGetActiveUniformsiv,
as well as an assert hit with used but unbound uniform buffer.
BUG=angleproject:507
BUG=angleproject:962
Change-Id: I096fe1c9b4f0f398f3a638cd8311278987dfb7dc
Reviewed-on: https://chromium-review.googlesource.com/263404
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
90a09b56
|
2015-04-01T18:21:24
|
|
Revert "Add UBO offset support for D3D11.1."
Failed on 32-bit builds. See: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24828/steps/compile/logs/stdio
angle\src\libangle\validationes.cpp(1461) : error C2220: warning treated as error - no 'object' file generated
angle\src\libangle\validationes.cpp(1461) : warning C4018: '<' : signed/unsigned mismatch
This reverts commit 381f969315c0c70bacf183e58de7194f42486112.
Change-Id: I05f09f19e40046994d34809c5b79095458f56148
Reviewed-on: https://chromium-review.googlesource.com/263474
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
381f9693
|
2015-03-24T14:03:37
|
|
Add UBO offset support for D3D11.1.
Also fixes the uniform count upper limit in glGetActiveUniformsiv,
as well as an assert hit with used but unbound uniform buffer.
BUG=angleproject:507
BUG=angleproject:962
Change-Id: I263b14df41d4e45a67304c1d145646398721cf0a
Reviewed-on: https://chromium-review.googlesource.com/263412
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3917f578
|
2015-04-01T15:17:21
|
|
Revert "Add UBO offset support for D3D11.1."
Was ignoring the uniform block bindings.
This reverts commit 7159ea6778eb73c233736cc2fa59ae9177b75e4b.
Change-Id: Ie7d2b40d3fb2adedd309f1162fb6fd33ab0b4c3c
Reviewed-on: https://chromium-review.googlesource.com/263420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
35d315c3
|
2015-03-31T12:48:54
|
|
Disable UNIMPLEMENTED in ProgramGL::validateSamplers.
Removing this allows many angle end2end tests to run without hitting any
UNIMPLEMENTEDs.
BUG=angleproject:882
Change-Id: Idb55fae7b6fc7b23bc85d0bf376499f28669d771
Reviewed-on: https://chromium-review.googlesource.com/263250
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7159ea67
|
2015-03-24T14:03:37
|
|
Add UBO offset support for D3D11.1.
Also fixes the uniform count upper limit in glGetActiveUniformsiv.
BUG=angleproject:507
Change-Id: Icfc90ed64cf94b1bab2d4cc93a8fb5e11b28d666
Reviewed-on: https://chromium-review.googlesource.com/261874
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
63cbace6
|
2015-02-26T10:03:12
|
|
Rename StateManagerGL::setProgram to useProgram.
BUG=angle:882
Change-Id: I4046e23bf720690869558fa6a5528d40c4b3bfa3
Reviewed-on: https://chromium-review.googlesource.com/254070
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b1f435e4
|
2015-02-20T10:01:01
|
|
Implement basic functionality of ProgramGL.
BUG=angle:882
Change-Id: I1d859197011081729c4c5733b78ac10491fe926c
Reviewed-on: https://chromium-review.googlesource.com/251542
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f9a6f084
|
2015-01-22T13:32:49
|
|
Add GL and WGL renderer stubs.
BUG=angle:890
Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4
Reviewed-on: https://chromium-review.googlesource.com/242573
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|