- 16 Jun, 2014 2 commits
-
-
Geoff Lang authored
BUG=angle:670 Change-Id: I88b4823f25ec28fa52831d856ff9fb836fdfc533 Reviewed-on: https://chromium-review.googlesource.com/203120Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Only generate pixel shader output variables for render targets that are currently bound. Fixes some performance issues with D3D10 cards that were slow to discard unused outputs. Fixed memory leaks in ProgramBinary by refactoring the freeing of the current state into a reset function. BUG=angle:670 Change-Id: I40f83e15724fb9a1a9ae61363a056999f1fa26d2 Reviewed-on: https://chromium-review.googlesource.com/202977Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 13 Jun, 2014 5 commits
-
-
Nicolas Capens authored
They've been replaced by using constructor nodes, so any code handling conversion operators can be removed. BUG=380353 Change-Id: I70413179e7443efccbf997a5dd0f053c23689589 Reviewed-on: https://chromium-review.googlesource.com/203453Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
We use a significant amount of code duplication in our draw validation, that we can consolidate. BUG=angle:571 Change-Id: I96787cbddf00d9289e368456fb85079d8acec513 Reviewed-on: https://chromium-review.googlesource.com/202975Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Separate draw call validation functions will give us a flexible base for refactoring and cleaning up all draw call validation. BUG=angle:571 Change-Id: Ia8e3c83cfe48fedb8f2c7aef1fb282f646c66e82 Reviewed-on: https://chromium-review.googlesource.com/202974Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Using a helper class keeps our main parser stateless as we define std140 structs which need padding. The only functional change should be that we no longer use a global counter for struct padding hidden variables, but a local padding per-struct. BUG=angle:466 Change-Id: I8b92d65884b86571c8b2f052b0cba6150a4bbab0 Reviewed-on: https://chromium-review.googlesource.com/202911Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Geoff Lang authored
Removes support for fallbacks in D3D9 texture formats. The fallback formats did not work properly anyways. BUG=angle:658 Change-Id: Idfa5183bf71fd8ebf4608f940f9d93177b9eff08 Reviewed-on: https://chromium-review.googlesource.com/200813Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 12 Jun, 2014 2 commits
-
-
Jamie Madill authored
This allows us to delete the Windows batch file. Changes the commit_id script to take the working directory so that it can be called from a different working directory than the angle repository is in. Renames the generated commit header to angle_commit.h. This is being written to the shared generated code directory for the entire build, and "commit.h" is insufficiently unique. BUG=angle:669 Change-Id: I35e80411a7e8ba1e02ce3f6a4fc54ed4dbc918f3 Reviewed-on: https://chromium-review.googlesource.com/202048Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Could cause a crash when running the WebGL CTS with Firefox. BUG=angle:675 Change-Id: I58bf9eed622660d4702b775f368ff9cbd693197a Reviewed-on: https://chromium-review.googlesource.com/203456Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org>
-
- 11 Jun, 2014 7 commits
-
-
Nicolas Capens authored
GLSL only supports explicit conversion through constructors. Therefore the conversion nodes are redundant. BUG=380353 Change-Id: Id871c34750191dac431bf72aac9afed7b0db7f8e Reviewed-on: https://chromium-review.googlesource.com/203452Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Nicolas Capens authored
BUG=380353 Change-Id: I9828a3f193ccfdda2013fa3de0e41e6e28953ea2 Reviewed-on: https://chromium-review.googlesource.com/203451Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Nicolas Capens authored
BUG=380353 Change-Id: I5a350ca09e2b7e7abb9fa079365adb5aad5af607 Reviewed-on: https://chromium-review.googlesource.com/203450Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Nicolas Capens authored
BUG=380353 Change-Id: I3b0fe55b829602554bb63bbd281ad58d47364502 Reviewed-on: https://chromium-review.googlesource.com/202966Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Nicolas Capens authored
This prevents overflow issues in the HLSL translator and some drivers. The limit it hard-coded to 65536 to be larger than the Shader Model 5 register limit (4096) to account for register allocation optimizations and future hardware. BUG=379799 Change-Id: I20f05c9dd230fbfc1c92af52533cd2b50f2ff994 Reviewed-on: https://chromium-review.googlesource.com/202939Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Geoff Lang authored
Since libGLESv2 and libEGL will eventually be cross platform, it will be useful to have platform defines and TLS functions that work everywhere. BUG=angle:664 Change-Id: Ia357925a0992d82e8b446d88d32a1984d319e6e8 Reviewed-on: https://chromium-review.googlesource.com/202133Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
If the actual format has more channels than the internal format of a framebuffer, bits counts greater than zero will be returned for channels that should not exist. While it is not against the spec to return more bits than exist in the format, it can be confusing for users or break tests. get*Bits will now only return greater than zero bit counts when the format should have the given channel. Since this is the only location that we return information about the "real" internal format we're using, it's safe to only make the modifications here. BUG=angle:653 Change-Id: I43ef4c6290c8c70737d579d7e9a2dd30d653330b Reviewed-on: https://chromium-review.googlesource.com/202594Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 10 Jun, 2014 5 commits
-
-
Jamie Madill authored
Instead of recording data and mutating a local table as we parse, store all of the offsets for the std140 structs when we first generate the struct. This should have no behavioural change, as structs should always be defined first in any case. BUG=angle:466 Change-Id: I1b732d67bd4f5b908211410e5e7796d72d836174 Reviewed-on: https://chromium-review.googlesource.com/202910Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
Jamie Madill authored
With a unique ID, similar to how we handle scoped structures in the HLSL translator, we can simplify the declared structure check. BUG=angle:618 Change-Id: I5fe61c8d353650ac67a7c7ecdf53a70b91a9b717 Reviewed-on: https://chromium-review.googlesource.com/202500Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Shannon Woods authored
BUG=381413 Multisample textures can only be bound as both depth stencil views and shader resource views at feature level 10_1 and above. We don't need to bind textures as SRVs if they're multisample depth targets, so we should avoid the SRV flag in that case. Change-Id: I28ca98bdc4a86eb5442b39ea3cf2b42aa9216aab Reviewed-on: https://chromium-review.googlesource.com/202921Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Jamie Madill authored
Since FBO attachments and Renderbuffers are semantically distinct, make a new location for attachments to live. BUG=angle:660 Change-Id: I51753f8a814e89641637c5d8293f7e9a573a7ba5 Reviewed-on: https://chromium-review.googlesource.com/201833Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Part of the refactoring effort to clean up our classes for FBO attachments and Renderbuffers. BUG=angle:660 Change-Id: Id23df904f56499568159611b66c8922b9dce6a3d Reviewed-on: https://chromium-review.googlesource.com/201832Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 06 Jun, 2014 2 commits
-
-
Jamie Madill authored
In several places we weren't handling certain errors, or were returning the wrong error code. Several dEQP negative API tests are affected in functional.negative_api.texture. BUG=angle:571 Change-Id: I19d7250aab2c15d709fd591b8df90ce883f9ac60 Reviewed-on: https://chromium-review.googlesource.com/201250Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
A unique ID gives a more flexible renaming scheme than our current method of using nested scope identifiers. The reduced complexity allows for fewer points of breakage and fixes an outstanding bug with scoped structures (with added test). BUG=angle:618 Change-Id: I6551248bb9fa2d185ab67248721f898dd50151f0 Reviewed-on: https://chromium-review.googlesource.com/202183Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 05 Jun, 2014 3 commits
-
-
Jamie Madill authored
Change-Id: I57817666faca834e075216e63d7b0353d7a4d72c Reviewed-on: https://chromium-review.googlesource.com/202596Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Broken in 560a8d88. BUG=angle:571 Change-Id: Idb2414e11ad397cc45c2bdf5f357fd1b8e7fe6c2 Reviewed-on: https://chromium-review.googlesource.com/202602Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Move the common validation code to a shared base function. BUG=angle:571 Change-Id: Id70b413b408a21f0a8933cfd4a09e261e637bae1 Reviewed-on: https://chromium-review.googlesource.com/200559Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 02 Jun, 2014 2 commits
-
-
Jamie Madill authored
Broken in ed14b79d. BUG=angle:628 Change-Id: Ia6b92dd13362bb51f0aa17a14278039d568f5434 Reviewed-on: https://chromium-review.googlesource.com/202182Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Structures with names ending in "_#" such as "_0" could conflict with the internally rewritten scoped structures. Fix this by using a prepending rule instead of appending. Also includes a test, and fixes a WebGL test in Firefox. (Chrome is not affected because of the variable hashing step.) BUG=angle:618 Change-Id: I3d441f1de268b6d7e74a0834b43e889b7bfe578c Reviewed-on: https://chromium-review.googlesource.com/201468Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org>
-
- 29 May, 2014 4 commits
-
-
Geoff Lang authored
BUG=angle:658 Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f Reviewed-on: https://chromium-review.googlesource.com/201465Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=skia:2272 Change-Id: I29540e009c41a1638e1a0399950621abbbbf2904 Reviewed-on: https://chromium-review.googlesource.com/201839Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
In D3D9, sometimes the compiler would return the same shader pointer on different calls to compile, if the programs were similar. Work around this quirk by storing an applied serial for the program, so we know when to refresh uniform data. BUG=angle:661 Change-Id: I9750ee2298701dbe3f121dac6626198d24a2d1b2 Reviewed-on: https://chromium-review.googlesource.com/201562Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Nicolas Capens authored
According to msdn.microsoft.com/en-us/library/windows/desktop/bb173075(v=vs.85).aspx the front buffer is the desktop and is not a dedicated part of the swap chain. Thus we should only need 1 swap chain buffer instead of the currently allocated 2. Samples in the DirectX SDK also only allocate just one. BUG=angle:662 Change-Id: If88eeab1954cbc92b39ac7cf42f924515c4b77f9 Reviewed-on: https://chromium-review.googlesource.com/201860Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 28 May, 2014 3 commits
-
-
Geoff Lang authored
BUG=skia:2272 Change-Id: Ibf03efedc662fea2a389ad2dc5af5b7b014181a8 Reviewed-on: https://chromium-review.googlesource.com/201900Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Vladimir Vukicevic authored
Fixes WebGL test misc/shader-with-array-of-structs-uniform BUG=angle:656 Change-Id: If79a19db4d40bab9110422f7876de32e7f85e506 Reviewed-on: https://chromium-review.googlesource.com/200620Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Jamie Madill authored
This is useful for determining if we are compiling to a D3D9 or D3D11 shader outside of the internal translator classes. BUG=angle:656 Change-Id: Ib1c1d3de569edaa2b65c24c09d05aa4dd229d3e4 Reviewed-on: https://chromium-review.googlesource.com/201564Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 27 May, 2014 1 commit
-
-
Geoff Lang authored
With our added padding to some structures, using only 'out' in the generated HLSL can cause warnings because not all of the structure members are initialized. BUG=angle:286 Change-Id: I866960883de487f19883fb2bc086c02703ea6271 Reviewed-on: https://chromium-review.googlesource.com/201364Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 26 May, 2014 2 commits
-
-
Jamie Madill authored
Change-Id: Ibaccaa46457e9ee4379c137182673153a17f207d Reviewed-on: https://chromium-review.googlesource.com/201461Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The windows header must be included before versionhelpers.h. BUG=angle:649 Change-Id: Ifee95b2918ea039f9a1c93ad0244bf2d35bd8570 Reviewed-on: https://chromium-review.googlesource.com/201462Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 23 May, 2014 2 commits
-
-
Nicolas Capens authored
BUG=angle:331 Change-Id: Idb3c3ddc6ddd6bfc21b15b7e8942975ce4cd051f Reviewed-on: https://chromium-review.googlesource.com/200811Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@chromium.org>
-
Jamie Madill authored
Generate all GL errors in the validation helper functions, instead of within the state manipulation logic and internals of Context. BUG=angle:571 Change-Id: I7a3f540e2ae0f5f8c7126e2593717cc3200dd7e5 Reviewed-on: https://chromium-review.googlesource.com/200551Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-