- 31 Aug, 2015 8 commits
-
-
Geoff Lang authored
BUG=angleproject:1136 Change-Id: I1167365618bdc3ca37ac0f4c60809de32c7a9d78 Reviewed-on: https://chromium-review.googlesource.com/295733Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Causing crashes in some dEQP tests. This reverts commit c1948415. Change-Id: Idedb32484b4f2b09090346bc4228fe536190a621 Reviewed-on: https://chromium-review.googlesource.com/296440Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=None Change-Id: Ibefeab05c9c9ac87263a23fd69e6725bf4998673 Reviewed-on: https://chromium-review.googlesource.com/295148Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1136 Change-Id: Id04e357b97c04b3843b25827f705fd802e6a68e3 Reviewed-on: https://chromium-review.googlesource.com/295233Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
With fix for VS2013. BUG=None Change-Id: I9f656efa6b540a03ce21f6b65fde0753c0d72538 Reviewed-on: https://chromium-review.googlesource.com/295157Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Seems to break VS2013. Reverting. This reverts commit 51e275b4. Change-Id: I37843bf457122614007ba455f6ee751577b14604 Reviewed-on: https://chromium-review.googlesource.com/296290Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=None Change-Id: I47b08593a38d710b59051a3107933c08c2789ca2 Reviewed-on: https://chromium-review.googlesource.com/295722Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG= Change-Id: I59c9716774df4615da6dd412795639e055f45034 Reviewed-on: https://chromium-review.googlesource.com/295732Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 28 Aug, 2015 5 commits
-
-
Zhenyao Mo authored
Recent test failures leads to suspicion that our variable packing algorithm is buggy - turns out to be an underlying driver bug. With the added test cases, such suspicion shouldn't even arise. BUG=angleproject:1142 TEST=angle_unittests Change-Id: I1fb3c5c7798d9ad17668a3d633286e031da79cab Reviewed-on: https://chromium-review.googlesource.com/295901Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Zhenyao Mo <zmo@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1139 Change-Id: I9d58b2c0b1e6465b58b2f3d4aad4b1d3517ae3ec Reviewed-on: https://chromium-review.googlesource.com/295147Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
Members such as divisor are not synced in VertexArrayGL::updateAttribPointer so assigning the whole attribute causes the divisor to not be synced. BUG=angleproject:1136 Change-Id: I947a144f81ae67953947e363debd1d1cff78207a Reviewed-on: https://chromium-review.googlesource.com/295145Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:1143 Change-Id: I5bd1a7de7b147062f2e093a30efe4ed06eb80ec2 Reviewed-on: https://chromium-review.googlesource.com/295247Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:1127 Change-Id: I6f38e5441c4a288e9c1f55fefa31d5d2f10a700c Reviewed-on: https://chromium-review.googlesource.com/295246Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
- 27 Aug, 2015 7 commits
-
-
Corentin Wallez authored
Also add a warning on top of the UnrollFlatten test that it works only when HLSL is enabled. BUG=angleproject:1140 Change-Id: Ide961bbed70dc9ed2a604f13273e4209b1dec29b Reviewed-on: https://chromium-review.googlesource.com/295125Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Zhenyao Mo authored
VariablePacker_test.cpp The other one UnrollFlatten_test.cpp crashes. BUG= TEST=angle_unittests Change-Id: I78e6e81e9b61f2a1599a5a0601b5b76165b180de Reviewed-on: https://chromium-review.googlesource.com/295767Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Zhenyao Mo <zmo@chromium.org>
-
Jamie Madill authored
BUG=none Change-Id: I3a3095b270ca3c199c14840f75b480e15298fa5c Reviewed-on: https://chromium-review.googlesource.com/295117Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:1127 Change-Id: Ia5f9442ef718625ed913fe3a76301a0edea00390 Reviewed-on: https://chromium-review.googlesource.com/295720Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1138 Change-Id: I20f3b542884fbaa2b2cccd65ceb45e54174bccc2 Reviewed-on: https://chromium-review.googlesource.com/295831Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1113 Change-Id: I808d521ffc257c2f45badbbd462698f91def314f Reviewed-on: https://chromium-review.googlesource.com/295830Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
These flags were written but they were never read. TEST=compile BUG=angleproject:1116 Change-Id: I41e3e89f13861ebda4828c76c753ca17c74c4358 Reviewed-on: https://chromium-review.googlesource.com/294931Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 26 Aug, 2015 13 commits
-
-
Geoff Lang authored
BUG=angleproject:1136 Change-Id: Ic7ff9c23201e1fe03c5a2135be24d61cfe3d6268 Reviewed-on: https://chromium-review.googlesource.com/295232Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
BUG= Change-Id: I5c4f5df14321644d7ac42af6059400ae43d0fe4d Reviewed-on: https://chromium-review.googlesource.com/295721Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Seems to be failing a WebGL/ES2 CTS test in D3D9: conformance/ogles/GL/mat3/mat3_001_to_006 BUG=angleproject:1116 BUG=525188 This reverts commit 83f3411d. Change-Id: Ic186f51240dbdd96ccab3f5470329cdc9727c618 Reviewed-on: https://chromium-review.googlesource.com/295730Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
glGetString() without a current context could cause a null dereference for some enums. Always return nullptr when no context is bound. BUG=angleproject:1106 Change-Id: Ic36f1adff8b2e3cd54a7b33b2e12899781feba82 Reviewed-on: https://chromium-review.googlesource.com/295142Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
Otherwise when detaching vertex array 0 and N the following would happen: - call Context::deleteVertexArray(0) - call Context::detachVertexArray(0) - call State::removeVertexArrayBinding(0) set mVertexArray to nullptr, returns true - call State::bindVertexArray(0) reset mVertexArray to its previous value - call Context::deleteVertexArray(n) - call Context::detachVertexArray(n) - call State::removeVertexArrayBinding(n) Incorrectly call mVertexArray->id() which is a use after free. BUG=angleproject:1137 Change-Id: I594044fee6c90b1775a61943b15df92bf323ff2a Reviewed-on: https://chromium-review.googlesource.com/295123Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
Generates lots of assertion failures when run, expectations and assertion fixes to come. BUG=angleproject:1139 Change-Id: Ia55b4b2ca3a7844d8d9d05cb7043cd42d55b86ed Reviewed-on: https://chromium-review.googlesource.com/295243Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1138 Change-Id: I0dd4e1a092e889cdb9de4773162e5416ac9be65d Reviewed-on: https://chromium-review.googlesource.com/295242Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Use R and RG textures with swizzle states to emulate them. A manual blit is required when calling CopyTex[Sub]Image from a RGB[A] framebuffer to an emulated L[A] texture so that the alpha channel ends up in the correct channel of the destination texture. Fixes the following tests when using the core profile: * conformance/extensions/oes-texture-float.html * conformance/extensions/oes-texture-half-float.html * conformance/textures/misc/tex-sub-image-2d.html * conformance/textures/misc/texture-formats-test.html * conformance/textures/misc/texture-npot.html BUG=angleproject:1113 Change-Id: If5540e66d9017596bd83d95ec3ede043cbcfe0d2 Reviewed-on: https://chromium-review.googlesource.com/293905Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
DrawElements' range was of the form [start, end] while DrawArrays' was of the form [start, end), which caused an out of bound array access in the client vertex pointers. This issue was detected while running angle_end2end_tests with AddressSanitizer. BUG=angleproject:1137 Change-Id: Id9abddf29eaf73bacfd08d1616a999be2fe616b8 Reviewed-on: https://chromium-review.googlesource.com/295122Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
HLSL doesn't support dynamic indexing of matrices and vectors, so replace that with helper functions that unroll dynamic indexing into switch/case and static indexing. Both the indexed vector/matrix expression and the index may have side effects, and these will be evaluated correctly. If necessary, index expressions that have side effects will be written to a temporary variable that will replace the index. Besides dEQP tests, this change is tested by a WebGL 2 conformance test. In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec allows undefined behavior. KHR_robust_buffer_access_behavior adds the requirement that program termination should not occur and that out-of-range reads must return either a value from the active program's memory or zero, and out-of-range writes should only affect the active program's memory or do nothing. This patch clamps out-of-range indices so that either the first or last item of the matrix/vector is accessed. The code is not transformed in case the it fits within the limited subset of ESSL 1.00 given in Appendix A of the spec. If the code isn't within the restricted subset, even ESSL 1.00 shaders may require this workaround. BUG=angleproject:1116 TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change) WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html) Change-Id: I024722ef4ca1e14d5ad47fdc540397e18858bed6 Reviewed-on: https://chromium-review.googlesource.com/290515Reviewed-by:Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
The register assignment stuff only applies to the D3D back-end. Cleans up the GL back-ends use of PackedVarying, and will lead to future cleanups relating to packing varyings. BUG=angleproject:1123 Change-Id: Iaaa5fc03577e5b61ea6ae76ee1e15ad608037f34 Reviewed-on: https://chromium-review.googlesource.com/295190Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Compiling an assert in Program.cpp was failing at least on GCC 4.8 because it compared unsigned size_t to zero, a comparison that was always true. The C standard defines size_t as unsigned, so the assert shouldn't be necessary on other platforms either. There was already a commit on top of the patch that added the bug, so it is simpler to fix the problem by changing the assert rather than reverting. TEST=standalone debug build on Linux Change-Id: Ifd910332a770f7360a15c31706beca740d0f289d Reviewed-on: https://chromium-review.googlesource.com/294971Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Resubmit with inconsistent override warnings fixed. Removing dynamic indexing of vectors and matrices will require copying the indexed nodes in case they are written. Any type of l-value node that doesn't have side effects may need to be copied. Add a copying function for all typed node classes so that this copying can be performed. Private copy constructors are used to implement the deepCopy function in order to make maintenance easier. With copy constructors, each subclass only needs to take care of copying its own members, and not the base class members, which reduces the possibility of errors. Copy constructors are disabled for all node classes that don't support deep copying by inheriting TIntermNode from angle::NonCopyable. Assignment operator is disabled for all node classes through inheriting angle::NonCopyable. This applies also to classes that now get the private copy constructor. Explicit copy constructor and assignment operator declarations are added to some classes which show up in node member variables to make code clearer. BUG=angleproject:1116 TEST=angle_unittests Change-Id: I7964976f5dac7dfd745b8c6612ca06fb01d271c4 Reviewed-on: https://chromium-review.googlesource.com/295080Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
- 25 Aug, 2015 7 commits
-
-
Corentin Wallez authored
BUG=angleproject:1137 Change-Id: Ic654b79aa56ae0c0a24097b85ab48f5af53ca1f7 Reviewed-on: https://chromium-review.googlesource.com/295154Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
Due to the many merges and changes to 37c3979e the default framebuffer deletion "disappeared". Add it back to the destructor of Surface. Update Surface_unittests and remove one of the two tests as they were equivalent. BUG=524495 BUG=angleproject:1137 Change-Id: I1309285ea00976ae2685628ea3f92731a9259718 Reviewed-on: https://chromium-review.googlesource.com/295153Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
When the packed stride and source stride were different, the streaming code path used a loop that added two times the offset for the start of the index range. BUG=angleproject:1135 Change-Id: I6d314a1a28abec4df22f7c798c1af87a18d8b7ec Reviewed-on: https://chromium-review.googlesource.com/295225Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Also initialize this structure within Program instead of DynamicHLSL. This should have benefits for other back-ends. Also these variables weren't being serialized and de-serialized with the program binary, which could mess up WebGL apps that use MRT. BUG=angleproject:1123 Change-Id: Ic0dd4840f26441a1bee8527dfa178b24daf82f8a Reviewed-on: https://chromium-review.googlesource.com/294571Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/294570Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
On a loaded machine, Sleep(0) can be very slow (40+ms) while Sleep(1) is consistantly 1-2ms. BUG=488571 Change-Id: I71de0b4cfc334a2476b7c613c103e77fe759041d Reviewed-on: https://chromium-review.googlesource.com/273183Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
HLSL output needs uniform information generated by the collectVariables() step to be able to write uniform registers. Tested manually by compiling a shader with a uniform with shader_translator. BUG=angleproject:1132 Change-Id: I91d19b5fa789b7b33cf76a654ffbbd17d279db01 Reviewed-on: https://chromium-review.googlesource.com/294962Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-