src/libANGLE/renderer/gl/StateManagerGL.cpp


Log

Author Commit Date CI Message
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>