|
76f8fa66
|
2015-10-29T10:32:56
|
|
Refactor Geometry Shader support to enable pass-through.
This should be a refactoring change only. The new code is exercised in
follow-up CLs.
BUG=angleproject:754
Change-Id: I99285e1e7772cae467013102f25c911ebc9f54a9
Reviewed-on: https://chromium-review.googlesource.com/309153
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5d124a69
|
2015-09-15T13:03:27
|
|
Support UBOs in RendererGL and ProgramGL.
Reland: fix compile warnings on Windows.
BUG=angleproject:882
BUG=angleproject:883
Change-Id: If4844d50d43ff9b765f64606e8f08d65a1afd9a4
Reviewed-on: https://chromium-review.googlesource.com/303431
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
cf2dbd91
|
2015-10-01T15:48:22
|
|
Revert "Support UBOs in RendererGL and ProgramGL."
Compile error.
This reverts commit 97d82b724b71be464f2aff377f056cade44fca94.
Change-Id: I71ae10cb01b8ded0297eaf4742fb1098ce02a9bb
Reviewed-on: https://chromium-review.googlesource.com/303303
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
97d82b72
|
2015-09-15T13:03:27
|
|
Support UBOs in RendererGL and ProgramGL.
BUG=angleproject:882
BUG=angleproject:883
Change-Id: I36f8ef42d87e289658a6ba4899380bc72b9bcebf
Reviewed-on: https://chromium-review.googlesource.com/299871
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
69cce580
|
2015-09-17T13:20:36
|
|
Split the SamplerState struct into SamplerState and TextureState.
SamplerState is now only the members that are overridden by a sampler
object, this makes it easy to update those specific members.
Opted for getters and setters for each member in Texture and Sampler
because it will be required to enable dirty bits for these states.
Added maxAnisotropy to the SamplerState instead of texture state. The
sampler objects extension mentions it should be there.
BUG=angleproject:1162
Change-Id: I5aa6d702bd5915ee9df1976afef3c8c1f69d27c8
Reviewed-on: https://chromium-review.googlesource.com/300490
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
14389ccf
|
2015-07-23T10:57:20
|
|
Always use sized internal formats for textures in TextureGL.
On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
textures even if format is set to GL_FLOAT. Use sized internal formats
whenever possible to ensure that the internal format of the texture is
the expected format.
Work around issues with Intel and AMD drivers that always round up when
writing to a 1-bit alpha framebuffer format.
Fixes:
* conformance/extensions/oes-texture-float-with-image-data.htm
* conformance/extensions/oes-texture-float-with-image.html
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float-linear.html
* conformance/extensions/oes-texture-half-float-with-image-data.html
* conformance/extensions/oes-texture-half-float-with-image.html
* conformance/extensions/oes-texture-half-float.html
Reland of https://chromium-review.googlesource.com/#/c/288350/
BUG=angleproject:884
Change-Id: Ia2f9251d12dd3bbc7b6918d46e61623d0abedfac
Reviewed-on: https://chromium-review.googlesource.com/288584
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
d5451f11
|
2015-06-05T10:59:04
|
|
Inline comparison operators of several small ANGLE structs.
Improves draw call overhead of RendererGL.
DrawCallPerf_gl:
Before: 129779 score
After: 136973 score
Improvement: 5.543%
No noticeable difference in DLL size or draw call perf of the D3D
renderers.
BUG=angleproject:959
Change-Id: Id54d49e9e2cfb69431ee26d632c58fee2c42b82c
Reviewed-on: https://chromium-review.googlesource.com/275408
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d3dfda2b
|
2015-07-06T08:28:49
|
|
Refactor how we store vertex formats.
Instead of storing a vertex format as a struct with the full info,
instead use an enum, and look up the info when we need it. This
saves a lot of constructor initialization time, operator comparison
time, and storage. It also will allow us to look up D3D format info
more quickly.
BUG=angleproject:959
Change-Id: I202fd1ea96981073bc1b5b232b1ec3efa91485cb
Reviewed-on: https://chromium-review.googlesource.com/277289
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8c25cdec
|
2015-04-01T16:37:48
|
|
Only check dynamic type in Impl casting helpers.
We can use the Impl casting helper methods to clean up dynamic type
casting.
Change-Id: I5706da74eedd9f3cdc5a728420074a91ad7c95cb
Reviewed-on: https://chromium-review.googlesource.com/263520
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
87de3627
|
2015-03-16T10:41:44
|
|
Implement pass-through pack state params.
Same as for unpack, this allows us to pass through the state reset
code of dEQP without UNIMPLEMENTED errors, while still throwing
asserts if they are set to non-default values.
BUG=angleproject:901,angleproject:512
Change-Id: I0ce0258b0e91eb83c066c241693aaa5c164b2989
Reviewed-on: https://chromium-review.googlesource.com/257131
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
67102f01
|
2015-03-16T10:41:42
|
|
Add pass-through for new unpack store params.
Move the UNIMPLEMENTED checks to where they are used with non-default
values. This allows dEQP to pass the prerequisite tests like state
reset without throwing assertion failures in debug.
BUG=angleproject:901,angleproject:512
Change-Id: I3bd35f6dea61e7d80d1379ba4e8e13437e68431a
Reviewed-on: https://chromium-review.googlesource.com/257130
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f75ab350
|
2015-03-16T10:46:52
|
|
Make ClearParameters an rx-only type.
This legacy struct duplicates some methods in the gl::State. We
can restrict its use to D3D and on newer back-ends use the State
directly.
BUG=angleproject:930
Change-Id: I2c298e76b072ee73f2b3e17f6696693031ce1f91
Reviewed-on: https://chromium-review.googlesource.com/258070
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0fe40534
|
2015-02-10T12:01:27
|
|
Cache sampler completeness in the Texture class.
BUG=angle:909
Change-Id: I14e06e01d111e9d5eec415f4c2d831b61dcb1e3d
Reviewed-on: https://chromium-review.googlesource.com/248070
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b8aee3bc
|
2015-01-27T14:42:36
|
|
Add UNPACK_ROW_LENGTH support to D3D11 renderer
Change-Id: I31ccffddcb04a45f19d3c3eb9a396c30e794b218
Reviewed-on: https://chromium-review.googlesource.com/243951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Minmin Gong <mgong@microsoft.com>
|
|
9236b418
|
2015-02-02T16:51:52
|
|
Add generic Impl casting helper methods.
GetAs and GetImplAs are template helpers that can replace all of our
custom "makeTextureD3D", etc methods. This will help save code across
different back-ends.
Change-Id: Ib3215c005bfac5a819c5d8f7d60a73a725241332
Reviewed-on: https://chromium-review.googlesource.com/245390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
051dbc79
|
2015-01-05T15:48:58
|
|
Create a formatutilsD3D and move some functions from formatutils.
BUG=angle:681
Change-Id: I694073c50dccd05c3117761e446eba0d15c03293
Reviewed-on: https://chromium-review.googlesource.com/238480
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3c9db122
|
2015-01-15T16:36:55
|
|
Fix pixel unpack buffers for some formats.
The renderability test got flipped in 6cf8e1b906ebfc.
See dEQP test:
texture.specification.teximage2d_pbo.rgba8_snorm_2d
Note: this test still fails due to a bug in isMipmapComplete, which
has a fix in a subsequent patch.
Change-Id: Ied8ad7712bbb844132b6ac37426716780c9801c9
Reviewed-on: https://chromium-review.googlesource.com/240761
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0a4f1e27
|
2014-12-17T12:33:26
|
|
Merge the Texture set*Image methods and use objects for sizes and offsets.
BUG=angle:681
Change-Id: If2e981c522ca5ba3eab4484594cb41aa23800ec4
Reviewed-on: https://chromium-review.googlesource.com/236261
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
47e156c0
|
2015-01-05T13:15:13
|
|
Use #include <stdint.h> instead of <cstdint>.
This fixes the compile on OSX.
BUG=angle:773
Change-Id: I68111e178986bb78b73006a1559ba26120275599
Reviewed-on: https://chromium-review.googlesource.com/238441
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7dd2e10d
|
2014-11-10T15:19:26
|
|
Merge the ProgramBinary class into Program.
BUG=angle:731
Change-Id: I2ee97155841dc62f04bb71c1f2035d210fd3883c
Reviewed-on: https://chromium-review.googlesource.com/232694
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
21329414
|
2014-12-02T20:50:30
|
|
Revert "Merge the ProgramBinary class into Program."
Issues appeared on the FYI waterfall, content_gl_tests hangs.
This reverts commit 2195a6d6032883ed05468d5ecd019e7cb9a27bce.
Change-Id: I9fe1a53cf40887ae5a98fd77b4872f41085fcea7
Reviewed-on: https://chromium-review.googlesource.com/232386
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2195a6d6
|
2014-11-10T15:19:26
|
|
Merge the ProgramBinary class into Program.
BUG=angle:731
Change-Id: Ia0a356c0684f3a3576c71dfd04b00874318dd084
Reviewed-on: https://chromium-review.googlesource.com/228701
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
55573e13
|
2014-11-25T11:21:13
|
|
Use cross-platform enum for Vendor ID.
BUG=angle:795
Change-Id: Ibe9bbb79b92730ba80ca7275528c8b61d5d44c59
Reviewed-on: https://chromium-review.googlesource.com/228914
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2207213b
|
2014-11-20T15:15:01
|
|
Move as many files as possible from common to libANGLE.
BUG=angle:733
Change-Id: If01c91cd52ac5c2102276a9fdc4b68ebc13e47f9
Reviewed-on: https://chromium-review.googlesource.com/231850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4349ab85
|
2014-11-25T15:53:34
|
|
Revert "Move as many files as possible from common to libANGLE."
Chromium directly includes our common/version.h and couldn't build after this change.
This reverts commit f0a2c7727f9863c38a435a16a69d513c481fbbdd.
Change-Id: Iafc41b1a3973f609518fe3588fdb64cecc285332
Reviewed-on: https://chromium-review.googlesource.com/231840
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f0a2c772
|
2014-11-20T15:15:01
|
|
Move as many files as possible from common to libANGLE.
BUG=angle:733
Change-Id: I40cee6e2e305ac493acbc8649f858785c0569aed
Reviewed-on: https://chromium-review.googlesource.com/231051
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0a73dd85
|
2014-11-19T16:18:08
|
|
Fix include guards.
BUG=angle:733
Change-Id: I08b2c11c4831f1161c178c1842b10e807185aced
Reviewed-on: https://chromium-review.googlesource.com/230831
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2b5420c0
|
2014-11-19T14:20:15
|
|
Merge libGLESv2 and libEGL classes into libANGLE.
BUG=angle:733
Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|