|
c1948415
|
2015-08-27T14:40:48
|
|
Implement the instanced draw calls in RendererGL.
BUG=angleproject:1136
Change-Id: Id04e357b97c04b3843b25827f705fd802e6a68e3
Reviewed-on: https://chromium-review.googlesource.com/295233
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
63805b47
|
2015-08-25T13:17:39
|
|
Make the Program's semantic index D3D-only.
This concept isn't strictly necessary for GL-side validation. Instead
we can use a bitset to track active attribs, and determine is a
particular location is active.
BUG=angleproject:1123
Change-Id: If7a920a3071672116bafffb3368671f721723b65
Reviewed-on: https://chromium-review.googlesource.com/294570
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bc0b1d47
|
2015-08-21T17:00:03
|
|
Track local dirty state in StateManagerGL.
Make the state setting functions of StateManagerGL public.
BUG=angleproject:1113
Change-Id: Ic435c06ece24064a2f2403119fa30309aba37608
Reviewed-on: https://chromium-review.googlesource.com/295240
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0b9e9032
|
2015-08-17T11:51:52
|
|
Revert "Revert "Implement dirty bits acceleration for VertexArrayGL.""
Should be fixed with the Iterator change.
BUG=angleproject:1040
This reverts commit 5b21ed5fd030d33ae379b8cc493746244d2928b4.
Change-Id: Ibb77775b6b2ce5a49cee7dd81efc62d8c3ba3c62
Reviewed-on: https://chromium-review.googlesource.com/293901
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5b21ed5f
|
2015-08-14T18:12:50
|
|
Revert "Implement dirty bits acceleration for VertexArrayGL."
Seems to cause an exception in Release, in end2end_tests.
BUG=angleproject:1040
This reverts commit 6d51c70ccf63a2c5ec240d960ff1bc179d36c92c.
Change-Id: I6548bc68dce07d2d85e40afdb604157e689c1d6c
Reviewed-on: https://chromium-review.googlesource.com/293821
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6d51c70c
|
2015-08-14T10:38:10
|
|
Implement dirty bits acceleration for VertexArrayGL.
BUG=angleproject:1040
TEST=angle_end2end_tests,angle_perftests,WebGL
Change-Id: I91d9aea5eefb58ecaf5b1cc95926fddb2aa846ea
Reviewed-on: https://chromium-review.googlesource.com/289570
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@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>
|
|
1e0bc3ad
|
2015-08-11T08:12:21
|
|
Implement dirty bits acceleration for Current Values.
BUG=angleproject:1040
TEST=angle_end2end_tests,angle_perftests,WebGL
Change-Id: If471cfb9676795d5cc985eea52ad7144d4544ed1
Reviewed-on: https://chromium-review.googlesource.com/289559
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1b94d432
|
2015-08-07T13:23:23
|
|
Implement dirty bits for RendererGL's basic state.
BUG=angleproject:1040
TEST=angle_end2end_tests,angle_perftests,WebGL
Change-Id: I72beaf7e178e042440337fbb8b9669638c5ad016
Reviewed-on: https://chromium-review.googlesource.com/289558
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c64d993d
|
2015-07-27T10:55:25
|
|
StateManagerGL: Use an array instead of map for FBOs.
The std::map became a significant bottleneck for draw calls.
BUG=angleproject:959
Change-Id: I28176d1474fe5cff05018f89878ea8b2a3e3f9f1
Reviewed-on: https://chromium-review.googlesource.com/288702
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eec431c7
|
2015-07-20T16:02:32
|
|
Enable point sprites in StateManagerGL.
Test it against multiple versions of the OpenGL renderer so make sure that
both core and compatibility profile are tested.
Fixes:
* conformance/rendering/point-size.html
* conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
* PointSpritesTest
* particle_system sample
BUG=angleproject:883
Change-Id: I31f1c3d9bee1d191b4d731afbaa2d6de1a5c9454
Reviewed-on: https://chromium-review.googlesource.com/287855
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3cca86b5
|
2015-07-23T19:30:46
|
|
Revert "Enable point sprites in StateManagerGL."
Failures on AMD and Intel bots.
This reverts commit e1bb74e7305cee5ea92ecd2b3b3d2ecad1cdee32.
Change-Id: I8ae50bcf9ca365969f5231105fadc28f843aa527
Reviewed-on: https://chromium-review.googlesource.com/287854
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e1bb74e7
|
2015-07-20T16:02:32
|
|
Enable point sprites in StateManagerGL.
Test it against multiple versions of the OpenGL renderer so make sure that
both core and compatibility profile are tested.
Fixes:
* conformance/rendering/point-size.html
* conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
* PointSpritesTest
* particle_system sample
BUG=angleproject:883
Change-Id: Ib7625cb12faeac21016a9ff551aa650ba24e789f
Reviewed-on: https://chromium-review.googlesource.com/277692
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
5ec53c82
|
2015-06-05T16:32:14
|
|
Handle the remaining pixel unpack parameters in TextureGL.
BUG=angleproject:884
Change-Id: I9e248e623f3b342f878bf65c9686768b90cf5ed8
Reviewed-on: https://chromium-review.googlesource.com/275692
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
afce829a
|
2015-06-05T16:25:16
|
|
Sync pixel pack state before glReadPixels in FramebufferGL.
Fixes conformance/reading/read-pixels-pack-alignment.html
BUG=angleproject:885
Change-Id: I48f1598d9a67f3980d2ff86307eb107ec7506776
Reviewed-on: https://chromium-review.googlesource.com/275691
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
464a6b8b
|
2015-06-15T21:25:28
|
|
Revert "Enable point sprites in StateManagerGL."
Speculative fix for failures on the AMD FYI bot.
This reverts commit 67e04be12dda07ac9b37798558e842f50bd42776.
Change-Id: Ia57e3c800a6ff9e81e31bf5b37a95e97460ceda4
Reviewed-on: https://chromium-review.googlesource.com/277681
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
67e04be1
|
2015-06-08T11:05:40
|
|
Enable point sprites in StateManagerGL.
Fixes:
* conformance/rendering/point-size.html
* conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
* PointSpritesTest
* particle_system sample
BUG=angleproject:883
Change-Id: Idb3352fa916cf08817496f0a8425c95ece9bfa49
Reviewed-on: https://chromium-review.googlesource.com/275860
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
19fafa4b
|
2015-06-02T12:41:44
|
|
Fix incorrect value being synced for the alpha blend equation.
Fixes angle_end2end_test BlendMinMaxTest with the blend_minmax extension
enabled.
BUG=angleproject:883
Change-Id: Iae2441d11a3c4c497a1ddc4d250120fd85175d52
Reviewed-on: https://chromium-review.googlesource.com/274802
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ae6584e6
|
2015-06-01T15:49:26
|
|
Sync the scissor tests state before clearing.
Fixes:
* conformance/rendering/gl-scissor-fbo-test.html
* conformance/rendering/gl-scissor-canvas-dimensions.html
BUG=angleproject:883
Change-Id: Icd337894f1dbc7464a4566bfab9a30b70fd4bbfa
Reviewed-on: https://chromium-review.googlesource.com/274445
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
294cad9d
|
2015-05-26T15:11:23
|
|
When applying vertex array objects, update the currently applied index buffer.
When binding a vertex array object, it was not changing the tracked index
buffer binding. This was causing the buffer bindings to sometimes not be
updated between index and non-indexed draw calls.
Fixes:
* Intermittent crashes in chromium startup.
* conformance/rendering/many-draw-calls.html
* conformance/rendering/framebuffer-switch.html
* conformance/attribs/gl-bindAttribLocation-aliasing.html
* conformance/attribs/gl-vertex-attrib-render.html
* conformance/buffers/index-validation-verifies-too-many-indices.html
BUG=angleproject:883
Change-Id: I34ed1ebc65b339329c0f9ab9c28a392f552ed3d8
Reviewed-on: https://chromium-review.googlesource.com/273300
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
113bc73e
|
2015-05-26T15:03:49
|
|
Fix missing break statements.
Fixes:
* conformance/glsl/functions/glsl-function*
BUG=angleproject:883
Change-Id: I22a528c6ba4c4077ba47269e14396b4117d1c849
Reviewed-on: https://chromium-review.googlesource.com/273169
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@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>
|
|
27464aa9
|
2015-05-01T11:07:46
|
|
Sync the generic vertex attribute data.
BUG=angleproject:883
Change-Id: If5616bf24c1ac5477ae80cf1d25efa70b62edea1
Reviewed-on: https://chromium-review.googlesource.com/268750
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-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>
|
|
716cc88e
|
2015-05-04T15:30:15
|
|
Always sync writemasks and front face.
BUG=angleproject:883
Change-Id: Ie1d544c8f30472238d859d8fd7f553a73b066802
Reviewed-on: https://chromium-review.googlesource.com/269145
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5b028d18
|
2015-04-27T10:43:54
|
|
Add a special case for binding to GL_FRAMEBUFFER for state tracking.
Binding to GL_FRAMEBUFFER is supposed to set the read and draw framebuffer
bindings instead of being a separate binding point.
BUG=angleproject:885
Change-Id: Ic6d9056a2f8bfa472587c5ed030c15fcc93574c7
Reviewed-on: https://chromium-review.googlesource.com/267460
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d42f5b8c
|
2015-04-16T14:03:29
|
|
Sync the remaining miscellaneous state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: Id530f855ab14b6ec575101c9e74c02842c27d3d6
Reviewed-on: https://chromium-review.googlesource.com/266036
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4b3f4169
|
2015-04-16T13:22:05
|
|
Sync the entire rasterizer state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: I721c198f33caa18ec04899d6323faa9dbd4aa100
Reviewed-on: https://chromium-review.googlesource.com/266035
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b8517346
|
2015-04-16T12:10:19
|
|
Sync the entire depth stencil state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: I1d748281184ff8111f8ff1c63f56882650b6871b
Reviewed-on: https://chromium-review.googlesource.com/266034
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0fbb600f
|
2015-04-16T11:11:53
|
|
Sync the entire blend state before drawing in RendererGL.
BUG=angleproject:883
Change-Id: I903090c1a7ba90bd479ad8d24f943672eb51054e
Reviewed-on: https://chromium-review.googlesource.com/266033
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6d5463bd
|
2015-03-31T10:31:48
|
|
Always sync the texture sampler state.
The sampler state may have changed even if the texture is already bound.
BUG=angleproject:884
Change-Id: I591f493099397bb07608096cf30ff46ed5090224
Reviewed-on: https://chromium-review.googlesource.com/263147
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
cd69f1c9
|
2015-03-18T14:33:23
|
|
Implement RenderbufferGL.
BUG=angleproject:886
Change-Id: I7480943d678b2cdf6e997c3f8316acdef32f5f0d
Reviewed-on: https://chromium-review.googlesource.com/260889
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4ad1709f
|
2015-03-10T16:47:44
|
|
Implement FramebufferGL.
BUG=angleproject:885
Change-Id: Ifb5818f185236c671cd7f20ed352edb887b49675
Reviewed-on: https://chromium-review.googlesource.com/258420
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7c82bc46
|
2015-03-09T16:18:08
|
|
Handle client data for draw calls with RendererGL.
BUG=angleproject:880
Change-Id: I67839d4934767db77cff7b501002c5aafbcbaef2
Reviewed-on: https://chromium-review.googlesource.com/257672
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6ae6efca
|
2015-03-09T14:42:35
|
|
Only sync the VAO state just before the draw call.
BUG=angleproject:880
Change-Id: Ifd59c0f67aeab0e4700b3dca57c1b75e3fae48b8
Reviewed-on: https://chromium-review.googlesource.com/257671
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c05f7065
|
2015-03-10T09:50:57
|
|
TextureGL implementation.
BUG=angleproject:884
Change-Id: I877c0a9f753dacff96bbb82486bee71d1996ecb7
Reviewed-on: https://chromium-review.googlesource.com/252982
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d6e50872
|
2015-02-24T12:42:26
|
|
Add a StateManagerGL method to sync state required for a draw call.
BUG=angle:883
Change-Id: Iabeb25aef2228a1900bd0209422ddce21771c688
Reviewed-on: https://chromium-review.googlesource.com/252802
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ba4c4a85
|
2015-02-24T12:38:46
|
|
Implement basic functionality in VertexArrayGL.
No support for raw vertex data pointers yet.
BUG=angle:880
Change-Id: Ifa8099b0f49028a1465edecde495ba725ac79598
Reviewed-on: https://chromium-review.googlesource.com/252801
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
36c79011
|
2015-02-24T11:47:20
|
|
Implement basic functionality in BufferGL.
BUG=angle:881
Change-Id: I8d761741d204d26cea1c87eec725bc8ebaaaa584
Reviewed-on: https://chromium-review.googlesource.com/252800
Reviewed-by: Jamie Madill <jmadill@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>
|
|
94463d58
|
2015-02-18T13:09:37
|
|
Add a state manager for the currently applied GL state.
BUG=angle:883
Change-Id: Ie69c883c5ee539f911480fdcd9e73c46a3001b33
Reviewed-on: https://chromium-review.googlesource.com/250930
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|