gxquickly / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

Draw call state syncing for the GL back-end #883

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Implement GL state syncing in the RendererGL class for draw calls.

Original issue reported on code.google.com by geofflang@chromium.org on 22 Jan 2015 at 6:49

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 2c919145cfe70cab201be96ff86ebf06d93d824c

Code-Review  0 : Geoff Lang
Code-Review  +1: Jamie Madill
Code-Review  +2: Kenneth Russell
Verified     0 : Jamie Madill, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Idc474c58d3971c5f7c2c2760cd21aefdf65424b4
Reviewed-at    : https://chromium-review.googlesource.com/263502

Implement flush and finish in RendererGL.

BUG=angleproject:883

src/libANGLE/renderer/gl/RendererGL.cpp

Original comment by bugdroid1@chromium.org on 2 Apr 2015 at 2:21

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 4b3f4169d6423a6f069bb6115aaf8bd7faf2018d

Code-Review  0 : Geoff Lang
Code-Review  +1: Brandon Jones
Code-Review  +2: Kenneth Russell
Verified     0 : Brandon Jones, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : I721c198f33caa18ec04899d6323faa9dbd4aa100
Reviewed-at    : https://chromium-review.googlesource.com/266035

Sync the entire rasterizer state before drawing in RendererGL.

BUG=angleproject:883

src/libANGLE/State.cpp
src/libANGLE/State.h
src/libANGLE/renderer/gl/StateManagerGL.cpp
src/libANGLE/renderer/gl/StateManagerGL.h

Original comment by bugdroid1@chromium.org on 23 Apr 2015 at 7:24

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : b851734650c59acdaaeeb621197e6a388a2b952c

Code-Review  0 : Geoff Lang
Code-Review  +1: Brandon Jones
Code-Review  +2: Kenneth Russell
Verified     0 : Brandon Jones, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : I1d748281184ff8111f8ff1c63f56882650b6871b
Reviewed-at    : https://chromium-review.googlesource.com/266034

Sync the entire depth stencil state before drawing in RendererGL.

BUG=angleproject:883

src/libANGLE/renderer/gl/StateManagerGL.cpp
src/libANGLE/renderer/gl/StateManagerGL.h

Original comment by bugdroid1@chromium.org on 23 Apr 2015 at 7:24

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 0fbb600f9ff7d6b8f89b5d7518fee0d0b493989b

Code-Review  0 : Geoff Lang
Code-Review  +1: Brandon Jones
Code-Review  +2: Kenneth Russell
Verified     0 : Brandon Jones, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : I903090c1a7ba90bd479ad8d24f943672eb51054e
Reviewed-at    : https://chromium-review.googlesource.com/266033

Sync the entire blend state before drawing in RendererGL.

BUG=angleproject:883

src/libANGLE/State.cpp
src/libANGLE/State.h
src/libANGLE/renderer/d3d/RendererD3D.cpp
src/libANGLE/renderer/gl/StateManagerGL.cpp
src/libANGLE/renderer/gl/StateManagerGL.h

Original comment by bugdroid1@chromium.org on 23 Apr 2015 at 7:24

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : d42f5b8c16760b98b6de373003fe779b66fd78f3

Code-Review  0 : Geoff Lang
Code-Review  +1: Brandon Jones
Code-Review  +2: Kenneth Russell
Verified     0 : Brandon Jones, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Id530f855ab14b6ec575101c9e74c02842c27d3d6
Reviewed-at    : https://chromium-review.googlesource.com/266036

Sync the remaining miscellaneous state before drawing in RendererGL.

BUG=angleproject:883

src/libANGLE/State.cpp
src/libANGLE/State.h
src/libANGLE/renderer/d3d/RendererD3D.cpp
src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp
src/libANGLE/renderer/gl/StateManagerGL.cpp
src/libANGLE/renderer/gl/StateManagerGL.h

Original comment by bugdroid1@chromium.org on 23 Apr 2015 at 7:25

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 716cc88e1470839c7ad6625f59d7b3038a78da7f

Code-Review  0 : Geoff Lang
Code-Review  +1: Kenneth Russell
Code-Review  +2: Brandon Jones
Verified     0 : Brandon Jones, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Ie1d544c8f30472238d859d8fd7f553a73b066802
Reviewed-at    : https://chromium-review.googlesource.com/269145

Always sync writemasks and front face.

BUG=angleproject:883

src/libANGLE/renderer/gl/StateManagerGL.cpp

Original comment by bugdroid1@chromium.org on 7 May 2015 at 2:46

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 27464aa9101b13590656f5119b4e135761ead128

Code-Review  0 : Geoff Lang
Code-Review  +1: Kenneth Russell
Code-Review  +2: Brandon Jones
Verified     0 : Brandon Jones, Kenneth Russell
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : If5616bf24c1ac5477ae80cf1d25efa70b62edea1
Reviewed-at    : https://chromium-review.googlesource.com/268750

Sync the generic vertex attribute data.

BUG=angleproject:883

src/libANGLE/State.cpp
src/libANGLE/VertexAttribute.h
src/libANGLE/renderer/gl/StateManagerGL.cpp
src/libANGLE/renderer/gl/StateManagerGL.h

Original comment by bugdroid1@chromium.org on 7 May 2015 at 2:49

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/113bc73e8b34df069360851efd771b1b13aa7806

commit 113bc73e8b34df069360851efd771b1b13aa7806
Author: Geoff Lang <geofflang@chromium.org>
Date: Tue May 26 19:03:49 2015

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>

[modify] 
http://crrev.com/113bc73e8b34df069360851efd771b1b13aa7806/src/libANGLE/renderer/
gl/StateManagerGL.cpp

Original comment by bugdroid1@chromium.org on 26 May 2015 at 8:04

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/113bc73e8b34df069360851efd771b1b13aa7806

commit 113bc73e8b34df069360851efd771b1b13aa7806
Author: Geoff Lang <geofflang@chromium.org>
Date: Tue May 26 19:03:49 2015

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>

[modify] 
http://crrev.com/113bc73e8b34df069360851efd771b1b13aa7806/src/libANGLE/renderer/
gl/StateManagerGL.cpp

Original comment by bugdroid1@chromium.org on 26 May 2015 at 10:47

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/294cad9d701113380de3457c364e452f8e9c8615

commit 294cad9d701113380de3457c364e452f8e9c8615
Author: Geoff Lang <geofflang@chromium.org>
Date: Tue May 26 19:11:23 2015

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>

[modify] 
http://crrev.com/294cad9d701113380de3457c364e452f8e9c8615/src/libANGLE/renderer/
gl/StateManagerGL.h
[modify] 
http://crrev.com/294cad9d701113380de3457c364e452f8e9c8615/src/libANGLE/renderer/
gl/StateManagerGL.cpp
[modify] 
http://crrev.com/294cad9d701113380de3457c364e452f8e9c8615/src/libANGLE/renderer/
gl/VertexArrayGL.h
[modify] 
http://crrev.com/294cad9d701113380de3457c364e452f8e9c8615/src/libANGLE/renderer/
gl/VertexArrayGL.cpp

Original comment by bugdroid1@chromium.org on 27 May 2015 at 1:53

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/ae6584e60945e2957091a29c729f3e4027207766

commit ae6584e60945e2957091a29c729f3e4027207766
Author: Geoff Lang <geofflang@chromium.org>
Date: Mon Jun 01 19:49:26 2015

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>

[modify] 
http://crrev.com/ae6584e60945e2957091a29c729f3e4027207766/src/libANGLE/renderer/
gl/StateManagerGL.cpp

Original comment by bugdroid1@chromium.org on 1 Jun 2015 at 8:36

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/19fafa4b08ed3e6813a3752b07aecb659734fcb6

commit 19fafa4b08ed3e6813a3752b07aecb659734fcb6
Author: Geoff Lang <geofflang@chromium.org>
Date: Tue Jun 02 16:41:44 2015

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>

[modify] 
http://crrev.com/19fafa4b08ed3e6813a3752b07aecb659734fcb6/src/libANGLE/renderer/
gl/StateManagerGL.cpp

Original comment by bugdroid1@chromium.org on 3 Jun 2015 at 1:59

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/67e04be12dda07ac9b37798558e842f50bd42776

commit 67e04be12dda07ac9b37798558e842f50bd42776
Author: Geoff Lang <geofflang@chromium.org>
Date: Mon Jun 08 15:05:40 2015

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>

[modify] 
http://crrev.com/67e04be12dda07ac9b37798558e842f50bd42776/src/libANGLE/renderer/
gl/FunctionsGL.h
[modify] 
http://crrev.com/67e04be12dda07ac9b37798558e842f50bd42776/src/libANGLE/renderer/
gl/StateManagerGL.cpp
[modify] 
http://crrev.com/67e04be12dda07ac9b37798558e842f50bd42776/src/tests/gl_tests/Poi
ntSpritesTest.cpp
[modify] 
http://crrev.com/67e04be12dda07ac9b37798558e842f50bd42776/src/libANGLE/renderer/
gl/FunctionsGL.cpp
[modify] 
http://crrev.com/67e04be12dda07ac9b37798558e842f50bd42776/src/libANGLE/renderer/
gl/functionsgl_enums.h

Original comment by bugdroid1@chromium.org on 15 Jun 2015 at 8:10