- 02 May, 2016 3 commits
-
-
Corentin Wallez authored
BUG=605775 Change-Id: Ie76cae5be686478019c61c1877611bea83d7502f Reviewed-on: https://chromium-review.googlesource.com/340114Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG=605775 Change-Id: Ie7af2c0dc4536b26473510a80955f4628ea496bb Reviewed-on: https://chromium-review.googlesource.com/340113Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG=605775 Change-Id: I0e23fae25d450c504f174a080279cf51aebcd123 Reviewed-on: https://chromium-review.googlesource.com/340112Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
- 30 Apr, 2016 1 commit
-
-
Jamie Madill authored
BUG=angleproject:1363 Change-Id: I5acf670bd88988941676cc9bc75606d55cca224e Reviewed-on: https://chromium-review.googlesource.com/340744Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 29 Apr, 2016 6 commits
-
-
Jamie Madill authored
BUG=angleproject:1363 Change-Id: I49cb5d7319742487c8c00c58ec58f9a29561b9c1 Reviewed-on: https://chromium-review.googlesource.com/340743Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Ian Ewell authored
The main functionality for NV12 texture support through EGL streams has been added. Updates to the compiler, texture code, and stream code were added to support binding to external D3D11 NV12 textures. An end2end test was also added to test sampling of YUV textures and converting to RGB. There is also a new script to convert BMP files to an NV12 texture ready to load into D3D11 for testing purposes. BUG=angleproject:1332 Change-Id: I39b6ec393ea338e2c843fb911acc1b36cd1158a0 Reviewed-on: https://chromium-review.googlesource.com/339454Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Ewell <ewell@google.com> Reviewed-on: https://chromium-review.googlesource.com/341254Reviewed-by:
Ian Ewell <ewell@google.com>
-
Jamie Madill authored
Moving this out of the Framebuffer class allows us to forward- declare it. BUG=angleproject:1363 Change-Id: I91971c37a92151df508cdf7f0eb8c3e93506d112 Reviewed-on: https://chromium-review.googlesource.com/340741Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
BUG=605775 Change-Id: I37c1dc7117e7e47ee3a7e031cbccb44f39458c09 Reviewed-on: https://chromium-review.googlesource.com/340111Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
Broke Windows Clang compilation, see https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Clang%20Builder%20%28dbg%29/builds/3583/steps/compile/logs/stdio and search for TextureStorage11.h This reverts commit 9b8b359f. Change-Id: I6e54305eba02b40927a35577594df39e951adb32 Reviewed-on: https://chromium-review.googlesource.com/341430Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Part of the new world order of renaming the Obj::Data classes to ObjState. BUG=angleproject:1363 Change-Id: I15cf002b8b093d687f540b9e86f045874af24a7e Reviewed-on: https://chromium-review.googlesource.com/340740Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 28 Apr, 2016 6 commits
-
-
Ian Ewell authored
The main functionality for NV12 texture support through EGL streams has been added. Updates to the compiler, texture code, and stream code were added to support binding to external D3D11 NV12 textures. An end2end test was also added to test sampling of YUV textures and converting to RGB. There is also a new script to convert BMP files to an NV12 texture ready to load into D3D11 for testing purposes. BUG=angleproject:1332 Change-Id: I098940e6f25e113dcc4fc8d22ffed4b5a16fd860 Reviewed-on: https://chromium-review.googlesource.com/339454Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Ewell <ewell@google.com>
-
Olli Etuaho authored
Failure is consistently seen in the dEQP tests on Windows 10 on NVIDIA and Intel drivers, where creating an SRV from the buffer in the right format fails. Disable the fast copy path for this format similarly to how it's already disabled for some other formats. BUG=angleproject:1095 TEST=dEQP-GLES3.functional.texture.specification.teximage2d_pbo.rgb5* Change-Id: I7a1cd15c2cd130c9e8a637457c201778f157333b Reviewed-on: https://chromium-review.googlesource.com/341170Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Corentin Wallez authored
BUG=605775 Change-Id: I11039ee9ba21dbe2716eed0d3a12a0fb2cf50ea4 Reviewed-on: https://chromium-review.googlesource.com/340116Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
BUG=angleproject:882 Change-Id: I8d57c185066e9fc0c1b8def09bc48d80ad97d328 Reviewed-on: https://chromium-review.googlesource.com/303901Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
BUG=590870 Change-Id: I8b2548038635182bafa691671bdaa16f12b45694 Reviewed-on: https://chromium-review.googlesource.com/339450Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Frank Henigman authored
FunctionsEGL is an abstract class. FunctionsEGLDL is an libdl-based implementation. BUG=angleproject:1297 Change-Id: I0fe5a337e34518cc6248494dbc4ee5c2938d4b77 Reviewed-on: https://chromium-review.googlesource.com/338884Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
-
- 27 Apr, 2016 1 commit
-
-
Jamie Madill authored
This was used by developers to copy compiled libs around. With better dEQP integration and supporting tools it is no longer necessary. BUG=None Change-Id: Iff35be88111c2c806bb02abf43ffb33ed5b641fd Reviewed-on: https://chromium-review.googlesource.com/340589Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 26 Apr, 2016 3 commits
-
-
Geoff Lang authored
BUG=angleproject:1353 Change-Id: Ia219ff973de0de2f8e112c276b3ab6319f7d3884 Reviewed-on: https://chromium-review.googlesource.com/334252Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We should not be using the pool allocator for destructable objects. BUG=None Change-Id: I89236b28f04bd9b7095056edbda4172dbbfe9586 Reviewed-on: https://chromium-review.googlesource.com/340362Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
The initial implementation of DeferGlobalInitializers did not take HLSL corner cases into account. In particular, in case there was a const-qualified array variable with an initializer that contained elements that weren't constant folded, initialization would not be deferred and the global scope of HLSL output would contain a call to angle_construct_into_*(). On the other hand, deferring global initializers was also done in cases where it wasn't necessary. Initializers of non-const qualified array variables that could be written as HLSL literals by HLSL output were unnecessarily deferred. This patch fixes both of these issues: Now all global initializers are potential candidates for deferral instead of just those where the symbol has the EvqGlobal qualifier, and initializers that are constructors taking only constant unions as parameters are not unnecessarily deferred. BUG=angleproject:1205 BUG=541551 TEST=angle_end2end_tests Change-Id: I4027059e0e5f39c8a5a48b5c97a3fceaac6b6f8a Reviewed-on: https://chromium-review.googlesource.com/339201Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 25 Apr, 2016 1 commit
-
-
Geoff Lang authored
This state-setting code was not ported when adding the dirty bits for D3D9 depth stencil state in https://chromium-review.googlesource.com/#/c/316449. BUG=597107 Change-Id: I0a1bdae18dd22c9b01f12a73267040157a866654 Reviewed-on: https://chromium-review.googlesource.com/340436 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 22 Apr, 2016 1 commit
-
-
Olli Etuaho authored
This improves encapsulation inside the Texture class, and removes duplication of createTexture calls. This is a necessary step towards adding a shared "Data" structure to the Texture classes, following a similar pattern as for example the Framebuffer class. This patch also shares the same MockFactory class among different unit tests. BUG=angleproject:596 TEST=angle_unittests Change-Id: Ie8d3a9aa4ec35565d7ecbabb8c40e7b1ba068721 Reviewed-on: https://chromium-review.googlesource.com/340200Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 21 Apr, 2016 1 commit
-
-
Jamie Madill authored
The hard-coded threshold of five uses before a release was regressing the Oort online benchmark, which seems to use an index buffer many times, then change to a different range of indices, which would need to check the system memory for index range validation. Also add a performance regression test, and an update to the perf runner script which checks for the most recent binary among the search directories. BUG=594066 Change-Id: Id09cc32fd00bff1c72cbe9b6fb7c210fd047a551 Reviewed-on: https://chromium-review.googlesource.com/339271Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 20 Apr, 2016 1 commit
-
-
Olli Etuaho authored
This refactoring is done to prepare for adding more mipmap tests for ES3 where base level / max level is changed from 0. 1. Reuse drawQuad() from ANGLETest instead of having completely custom quad drawing code, and reuse the same clear+draw function for both 2D and cube map texture tests. 2. Add a helper function for clearing texture level 0 with glClear. 3. Remove a few redundant texture binding and useProgram calls. 4. Rely on sampler uniforms being set to 0 by default and texture unit 0 being active by default. 5. Remove "Offscreen" from variable names. 6. Split SetUp functions to helper functions. 7. Reuse FillWithRGBA from TextureTest also in MipmapTest. BUG=angleproject:596 TEST=angle_end2end_tests Change-Id: I9fd738f4b8b0a19c7aa1d267f7dbaa40a6935631 Reviewed-on: https://chromium-review.googlesource.com/338791Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 18 Apr, 2016 2 commits
-
-
Geoff Lang authored
The previous NativeWindow class included D3D11 headers while being included in all D3D backds and had platform-dependent includes and members. This turns it into an abstract class that only implements the minimal functionality for each renderer. BUG=angleproject:1345 Change-Id: I8f20339dd6bba719e574a1dcb3ec859897c9228f Reviewed-on: https://chromium-review.googlesource.com/336780Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
When using the zero color mask workaround in StateManager9, the blend state and blend equation were being modified. This caused inconsistant state if the workaround stopped being used in subsequent draw calls. To deal with this issue, dirty the BLEND_ENABLED and BLEND_EQUATION states when the COLOR_MASK changes and dirty the COLOR_MASK state wheneither BLEND_ENABLED or BLEND_EQUATION changes. BUG=597107 Change-Id: I03de934b419b7593e4863838720ced1e5773c092 Reviewed-on: https://chromium-review.googlesource.com/339280Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org>
-
- 15 Apr, 2016 3 commits
-
-
Olli Etuaho authored
This change is pure refactoring, it does not introduce any functional changes. Separate texture function output into a helper class and further into different helper functions to make the code more maintainable. Some of the logic is simplified slightly by eliminating duplicate cases and limiting the scope of variables where possible, but care has been taken to preserve the exact same functionality as before. Re-land with a fix to typo in include guard. BUG=angleproject:1349 TEST=dEQP-GLES3.functional.shaders.texture_functions.* (no regression) dEQP-GLES3.texture.* (no regression) Change-Id: I57c1ec1950fa05bd16275ca578eb5ee99b34a5ae Reviewed-on: https://chromium-review.googlesource.com/339180Reviewed-by:Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
It triggered an include guard warning on Windows Clang This reverts commit 6f6c5580. Change-Id: Ibd4f2851f311a494f16376d8eed38f3119594761 Reviewed-on: https://chromium-review.googlesource.com/338933Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
This change is pure refactoring, it does not introduce any functional changes. Separate texture function output into a helper class and further into different helper functions to make the code more maintainable. Some of the logic is simplified slightly by eliminating duplicate cases and limiting the scope of variables where possible, but care has been taken to preserve the exact same functionality as before. BUG=angleproject:1349 TEST=dEQP-GLES3.functional.shaders.texture_functions.* (no regression) dEQP-GLES3.texture.* (no regression) Change-Id: I5d81b842d693c0055890d5724eae6c105e454cd8 Reviewed-on: https://chromium-review.googlesource.com/337931Reviewed-by:Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 14 Apr, 2016 3 commits
-
-
Minmin Gong authored
Insteading of getting the BC1 endpoints from the max and min intensity, a PCA on pixels might give us better quality results, with limited costs. Change-Id: I7638d78c666c2580a6b0c267470bf4a0f7082e05 Reviewed-on: https://chromium-review.googlesource.com/332871 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Move global variable initializers that are not constant expressions to a function that gets called at the start of main(). This is done with an AST transformation. This needs to be done because global variable initializers must be constant in native GL, but ANGLE is more lenient with what can be put into ESSL 1.00 global initializers to remain compatible with legacy WebGL content. Non-constant global variable initializers also caused issues in HLSL output, since in HLSL output some types of expressions get unfolded into multiple statements. These include short-circuiting operators and array initialization. To make sure that these cases are covered, any initializers that can't be constant folded are deferred, even if they have the const qualifier. The old deferring mechanism in OutputHLSL is removed in favor of this new AST transformation based approach. BUG=angleproject:819 BUG=angleproject:1205 BUG=angleproject:1350 BUG=596616 TEST=WebGL conformance test conformance/glsl/misc/global-variable-init.html Change-Id: I039cc05d6b8c284baeefbdf7f10062cae4bc5716 Reviewed-on: https://chromium-review.googlesource.com/338291Reviewed-by:Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
The wrap mode information for all three dimensions is packed to a single integer in order to conserve sampler metadata space. Only one int4 vector is used for the metadata for a single sampler. The sampler metadata is now packed into a struct instead of an array of integers in order to make the code more readable and maintainable. The internalFormatBits field is not removed in this patch. It's better to remove it in a separate patch, so restoring it is easier in case it will be used for optimizing some of the texture sampling functions. The wrap mode passed in sampler metadata is used to wrap the texture coordinates in the code generated to implement ESSL 3.00 integer texture sampling built-ins. Those dEQP-GLES3.functional.texture.units.* tests that sample from integer cube maps still fail on Intel D3D after this change, presumably due to driver issues. BUG=angleproject:1244 BUG=angleproject:1095 BUG=angleproject:1092 TEST=dEQP-GLES3.functional.texture.units.* (all pass on NVIDIA), dEQP-GLES3.functional.shaders.texture_functions.* (no regressions) Change-Id: I4e31e5796086f9cc290c6f1f8c4380a768758d71 Reviewed-on: https://chromium-review.googlesource.com/336638Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 13 Apr, 2016 1 commit
-
-
Geoff Lang authored
BUG=angleproject:1353 Change-Id: Iaae79bb85318583c12b9a939ea27a7f7f7f64faf Reviewed-on: https://chromium-review.googlesource.com/338441Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
- 12 Apr, 2016 7 commits
-
-
Brett Wilson authored
This warning happens on some older versions of the X headers, such as those present on the current Chromium linux_chromium_chromeos_rel_ng bots. The default warnings in the GN build are slightly more strict than in GYP which is why we need to add some isolated warning disables. BUG=432959 Change-Id: Id6218780195c59f160adae789305638d3463be9a Reviewed-on: https://chromium-review.googlesource.com/338424Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Frank Henigman authored
Introduce gyp flag 'use_ozone' to select Ozone code. Ozone is a display method used on Chrome OS which is based on gbm, drm/kms, and surfaceless egl. BUG=angleproject:1297 Change-Id: Ic1f66121d23d26bac56b09e3e6aedefec5a131df Reviewed-on: https://chromium-review.googlesource.com/338442 Commit-Queue: Frank Henigman <fjhenigman@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
When parsing something like x.} the following would happen: - Parsing "." the lexer would move to the FIELDS start condition - Parsing } the lexer wouldn't find any <FIELDS> rule matching - The parser would fall back to <*>. that was asserted unreachable. The fix is to add a <FIELDS>. rule to catch bad field starts BUG=angleproject:1352 Change-Id: I262d2b9ef5f7346c19ae5e19a173e24f40f2f600 Reviewed-on: https://chromium-review.googlesource.com/338222Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:1217 BUG=587781 Change-Id: I2fd20c686863c1409228717606977a3c4e1cd7fa Reviewed-on: https://chromium-review.googlesource.com/338180Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Translated attributes are now stored in the VertexArray11 in a cache, and only updated when dirty bits change. Currently dynamic attributes must be re-translated every call, so these are stored in a list and processed repeatedly. This skips doing a lot of the VertexDataManager work for vertex attributes that don't change between draw calls. Current value attributes, which correspond to disabled attributes that the program will pulls vertex data from, are owned by the Context, so these need to be handled outside of the VertexArray11. Further changes will be necessary to reduce the redundant work we do in the InputLayoutCache. We shouldn't need to re-check the cache if nothing relevant changed. This give about a 23% performance improvement on the draw call benchmark on my machine. Re-land with a fix for the start vertex offset. Re-re-land with a fix for using XFB with deleted buffers. BUG=angleproject:1327 Change-Id: I0fba49515375c149bbf54d933f8d1f747fbb8158 Reviewed-on: https://chromium-review.googlesource.com/338003Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
This broke the Linux standalone build. Error message seen when running "gclient runhooks": "gyp: name 'use_ozone' is not defined while evaluating condition 'OS=="linux" and use_ozone==0' in build/ANGLE.gyp while trying to load build/ANGLE.gyp" This reverts commit 35e65e92. Change-Id: Iee5f08195ee1c74ead99bb9d70d04928c9bae7af Reviewed-on: https://chromium-review.googlesource.com/338290Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Frank Henigman authored
Introduce gyp flag 'use_ozone' to select Ozone code. Ozone is a display method used on Chrome OS which is based on gbm, drm/kms, and surfaceless egl. BUG=angleproject:1297 Change-Id: I5272651bd1af5806b6b42067d2d0f0abf0895af3 Reviewed-on: https://chromium-review.googlesource.com/337781Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
-