gxquickly / angleproject

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

Programs and shaders for the GL back-end #882

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Implement the ProgramGL, ShaderGL and CompilerGL classes.

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

GoogleCodeExporter commented 9 years ago

Original comment by geofflang@chromium.org on 17 Feb 2015 at 6:22

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

Code-Review  0 : Geoff Lang
Code-Review  +2: Jamie Madill
Verified     0 : Jamie Madill
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Idb55fae7b6fc7b23bc85d0bf376499f28669d771
Reviewed-at    : https://chromium-review.googlesource.com/263250

Disable UNIMPLEMENTED in ProgramGL::validateSamplers.

Removing this allows many angle end2end tests to run without hitting any
UNIMPLEMENTEDs.

BUG=angleproject:882

src/libANGLE/renderer/gl/ProgramGL.cpp

Original comment by bugdroid1@chromium.org on 31 Mar 2015 at 4:53

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

Code-Review  0 : Brandon Jones, Geoff Lang, Zhenyao Mo
Code-Review  +1: Jamie Madill
Code-Review  +2: Kenneth Russell
Verified     0 : Brandon Jones, Jamie Madill, Kenneth Russell, Zhenyao Mo
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : I00fd6d3cfaa107561cee5e4c82d3c60438052963
Reviewed-at    : https://chromium-review.googlesource.com/265723

Refactor uniform array name parsing to a utility function.

BUG=angleproject:882

src/common/utilities.cpp
src/common/utilities.h
src/common/utilities_unittest.cpp
src/libANGLE/renderer/ProgramImpl.cpp
src/libANGLE/renderer/ProgramImpl.h
src/tests/angle_unittests.gypi

Original comment by bugdroid1@chromium.org on 15 Apr 2015 at 3:41

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

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

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

src/libANGLE/renderer/gl/ProgramGL.cpp
src/tests/end2end_tests/UniformTest.cpp

Original comment by bugdroid1@chromium.org on 17 Apr 2015 at 5:39

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

Code-Review  0 : Geoff Lang
Code-Review  +2: Jamie Madill
Verified     0 : Jamie Madill
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Idd5cb8c794bbeec162f65255231fe2ae0180bdf8
Reviewed-at    : https://chromium-review.googlesource.com/266180

Temporarily disable UniformArrayLocations test on Intel OpenGL.

BUG=angleproject:882

src/tests/end2end_tests/UniformTest.cpp

Original comment by bugdroid1@chromium.org on 17 Apr 2015 at 8:20

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

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

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

src/libANGLE/Program.cpp
src/libANGLE/renderer/ProgramImpl.h
src/libANGLE/renderer/d3d/ProgramD3D.cpp
src/libANGLE/renderer/d3d/ProgramD3D.h
src/libANGLE/renderer/gl/ProgramGL.cpp
src/libANGLE/renderer/gl/ProgramGL.h

Original comment by bugdroid1@chromium.org on 8 May 2015 at 5:55

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

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

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

src/common/utilities.cpp
src/common/utilities.h
src/libANGLE/renderer/gl/ProgramGL.cpp
src/libANGLE/renderer/gl/ProgramGL.h
src/libANGLE/renderer/gl/StateManagerGL.cpp

Original comment by bugdroid1@chromium.org on 11 May 2015 at 2:04

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

commit 6db25f15e76ac0d1d048c6998b1c8d1da0165c11
Author: Geoff Lang <geofflang@chromium.org>
Date: Wed May 27 19:15:41 2015

Always init gl_Position in vertex shaders in ShaderGL.

Fixes:
 * conformance/glsl/misc/empty_main.vert.html
 * conformance/glsl/misc/gl_position_unset.vert.html

BUG=angleproject:882

Change-Id: I92a465b58f319b14e4f697d9bb5b45427a6247c0
Reviewed-on: https://chromium-review.googlesource.com/273548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>

[modify] 
http://crrev.com/6db25f15e76ac0d1d048c6998b1c8d1da0165c11/src/libANGLE/renderer/
gl/ShaderGL.cpp

Original comment by bugdroid1@chromium.org on 28 May 2015 at 5:56

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

commit c3ab9f7fe4cfd5b5c1f5cc4c4411286b8a14e0c1
Author: Geoff Lang <geofflang@chromium.org>
Date: Wed May 27 18:45:59 2015

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>

[modify] 
http://crrev.com/c3ab9f7fe4cfd5b5c1f5cc4c4411286b8a14e0c1/src/libANGLE/renderer/
gl/ProgramGL.cpp

Original comment by bugdroid1@chromium.org on 28 May 2015 at 5:57