- 25 Jul, 2018 3 commits
-
-
Jamie Madill authored
Unblocks further error refactoring. Also cleans up some checked math logic. Bug: angleproject:2738 Change-Id: I0c9fba9bb908dfc8424921d0db9871241b86e7de Reviewed-on: https://chromium-review.googlesource.com/1142954Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This removes the use of the ErrorOrResult pattern in Renderer11. Bug: angleproject:2738 Change-Id: Icc046ddd86394df56ca1acd10b1804fd6afa8ad0 Reviewed-on: https://chromium-review.googlesource.com/1142953Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This pattern isn't available when using angle::Result instead of gl::Error. Refactor the Buffer11 class to use gl::Error instead. This unblocks further return value refactoring for perf. Bug: angleproject:2738 Change-Id: I739044ae318c6b1fc40756a4f1fcadf609276c1a Reviewed-on: https://chromium-review.googlesource.com/1142952Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 24 Jul, 2018 5 commits
-
-
Omar El Sheikh authored
The mInFlightCommand vector could grow faster than the GPU can complete tasks. Check for this edge case and give the GPU a chance to catch up with work. Also allows us to enable performance tests for Draw Calls on vulkan since it was affected by this limit check before. Bug: angleproject:2742 Change-Id: I66a86ea6b5300fa3d74b07dc341aa597824b5f09 Reviewed-on: https://chromium-review.googlesource.com/1147607Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2507 Change-Id: I0e5879acfbb7ba1b9d711f518205cebad2edb643 Reviewed-on: https://chromium-review.googlesource.com/1148657 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Yuly Novikov authored
Bug: 850060 Change-Id: I9672e6c93e92941e61763d77180bef1548f5fbde Reviewed-on: https://chromium-review.googlesource.com/1148897Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
Bug: angleproject:2743 Change-Id: I1693a5b301fa10a92263aab0cec14829851fe21f Reviewed-on: https://chromium-review.googlesource.com/1148461Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Instead of having separate main() and gl_main() functions in HLSL shaders, add initializing outputs and inputs directly to the main function that's in the AST. This works around some HLSL bugs and should not introduce name conflicts inside main() since all the user-defined variables are prefixed. BUG=angleproject:2325 TEST=angle_end2end_tests Change-Id: I5b000c96aac8f321cefe50b6a893008498eac0d5 Reviewed-on: https://chromium-review.googlesource.com/1146647Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 23 Jul, 2018 7 commits
-
-
Jamie Madill authored
This extends of the copy, read and write functions to cover depth and stencil formats. Refactoring change only. Bug: angleproject:2673 Change-Id: I4b0b2f4cf8621051cacd95cdbd6d70f94ca612e2 Reviewed-on: https://chromium-review.googlesource.com/1147152Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Depth/stencil formats are packed tightly when reading back Images with vkCmdCopyImageToBuffer. Same for the reverse. Thus we need to take this into account when doing our blitWithReadback implementation. This splits the depth/stencil blit into two separate steps. Fixes all the remaining blit failures in BlitFramebufferANGLETest. Bug: angleproject:2673 Change-Id: Ie9f43f782a82b5a0746d00122b24f81088d57c4c Reviewed-on: https://chromium-review.googlesource.com/1140740 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Yuly Novikov authored
This validation error was added in 01868135 without explanation. Shouldn't be an error according to GLES 2.0.25 spec. Bug: 844846 Change-Id: Idc6d4d76304cbede7aa6d96bdccaefec40272b84 Reviewed-on: https://chromium-review.googlesource.com/1147149Reviewed-by:
Antoine Labour <piman@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
This removes the format type parameter from places where it isn't needed. It also removes the 'write color' functions map. This map was redundant with the angle::Format write function. Bug: angleproject:2729 Change-Id: I24e4548a89342237d7ed25180fea156fba51ccab Reviewed-on: https://chromium-review.googlesource.com/1142300 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2507 Change-Id: I6c195434131709203f892be6037e974002c174c2 Reviewed-on: https://chromium-review.googlesource.com/1143453Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Lingfeng Yang authored
BUG=angleproject:2306 This implements GL_OES_draw_texture using a few bits of new state in the renderer and adding a code path for it in the shader, using gl_VertexID to draw the quad backing the texture draw. This allows us to avoid allocating a separate vertex array for the texture draw and reuses the current shader as much as possible, plugging in to the existing multitexturing pipeline. - Add unit test and sample - No new test expectations, but advertising GL_OES_draw_texture makes the DrawTex GLES1 conformance test non-trivial and actually test glDrawTex*. Change-Id: I1485098249fe44d46a01cab4bb7b2c39d0492923 Reviewed-on: https://chromium-review.googlesource.com/1135930Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com>
-
Olli Etuaho authored
This brings the ANGLE_multiview spec in line with WEBGL_multiview. This also fixes the test so that the timer query extension is requested when it is being tested. BUG=angleproject:2062 TEST=angle_end2end_tests Change-Id: Ibd5c117a5ae2642d26137d9ad44420d6601ba762 Reviewed-on: https://chromium-review.googlesource.com/1143283Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 20 Jul, 2018 2 commits
-
-
Jamie Madill authored
This allow for predeclaring the enum. It solves some include dependency issues. Bug: angleproject:2729 Change-Id: Ibbbab0796e466c62848404ba277c5f454fd9ac62 Reviewed-on: https://chromium-review.googlesource.com/1142299 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Frank Henigman <fjhenigman@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Renames mReadPixelBuffer to make it consistent with the blit buffer. Also moves the rectangle clipping out of the blit implementation methods. This shares a bit of code. Also renames some blit implementation methods for consistency. Bug: angleproject:2729 Change-Id: Ida81e85af4751cf8cb4b3029ed4e4b53bfa7b03d Reviewed-on: https://chromium-review.googlesource.com/1142298 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 19 Jul, 2018 4 commits
-
-
Jamie Madill authored
This test suite was missing the "GL_" prefix on some of the extension checks. This was causing every test in the suite to be skipped. Fix the check and also add some sanity checks that should ensure we expose certain extensions on particular platforms and renderers. Was discovered while working on changing the egl::Image class. Bug: angleproject:2714 Change-Id: Ida89b5c3c33c534e60cbd55c7e1117a6ef6faae9 Reviewed-on: https://chromium-review.googlesource.com/1142963Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
ViewID_OVR should not be decorated in HLSL output since it is an internal variable. Make sure that DecorateVariableIfNeeded() is used for varyings instead of just Decorate() so that the internalness is checked correctly and ViewID_OVR doesn't get decorated. This avoids possible name conflicts between the internal ViewID_OVR and any user-defined variables named ViewID_OVR. BUG=angleproject:2062 TEST=angle_end2end_tests, angle_unittests Change-Id: I9ed9876d4b2c760e7a11b0b270a2190993e840e5 Reviewed-on: https://chromium-review.googlesource.com/1143398Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Jiawei Shao authored
This patch intends to clean up some issues in VaryingPacking to implement geometry shader easiler. 1. Use emplace_back() instead of push_back() when necessary. 2. Remove unnecessary parameter in VaryingPacking::packUserVaryings(). 3. Remove the assignment of semanticIndex and only handle them in D3D11 back-ends. BUG=angleproject:1941 Change-Id: Ia09c07f01dc442ce95cb4984e4b768d0c79872c7 Reviewed-on: https://chromium-review.googlesource.com/1128576Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
-
Jiawei Shao authored
This patch implements Vertex Attrib Binding on D3D11 and enables all the test cases related to Vertex Attrib Binding on D3D11 back-ends. On D3D11 back-ends the information in both GL vertex attributes and bindings should be updated together. When a binding is dirty, we need to find out and update all the attributes that are using this binding. To speed up this process, this patch adds a map from each binding to all the attrib indexes that are using this binding. This map may be updated when VertexAttribBinding is implicitly or explicitly called. With this map we can easily get all the attributes that should be updated with the current dirty binding. This patch also removes some unused variables in VertexArray11.cpp. BUG=angleproject:2700 TEST=dEQP-GLES31.functional.vertex_attribute_binding.* angle_end2end_tests Change-Id: I9a28ec357fd3aba835812cecc410cfa4e3734f0c Reviewed-on: https://chromium-review.googlesource.com/1048980 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by:Jamie Madill <jmadill@chromium.org>
-
- 18 Jul, 2018 7 commits
-
-
Geoff Lang authored
We sometimes emulate depth-only or stencil-only buffers with depth-stencil buffers. Disable depth-stencil states that allow reading or writing to these buffers that should not exist. BUG=angleproject:2739 Change-Id: I4f54800404f340eb53f04176e208f19a83a2899c Reviewed-on: https://chromium-review.googlesource.com/1141932Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Frank Henigman <fjhenigman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This cleans up a few places where we were initializing the dynamic buffers. Bug: angleproject:2729 Change-Id: I0c9a61c62ef4d0eb865abc0011f7086d6e2acef6 Reviewed-on: https://chromium-review.googlesource.com/1142297 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Frank Henigman <fjhenigman@chromium.org>
-
Tobin Ehlis authored
Update Vulkan Layers/Loader/Header to latest versions as of 7/17. This includes additional validation checks related to vertex attributes that will be useful to have in ANGLE. Bug: angleproject:2736 Change-Id: I7c5b07c73be8958cb9f8783fd9dd7a51e1f82caa Reviewed-on: https://chromium-review.googlesource.com/1141081Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Bug: angleproject:2740 Change-Id: I5f942e3add90b0cbf82aff7280d3a256ee60ac3b Reviewed-on: https://chromium-review.googlesource.com/1142381Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
Since the backbuffer's depth stencil is always emualted, it can support any depth stencil format. BUG=angleproject:2692 Change-Id: I29df62bb322c1ac4e9fcd54e4cbc4c219cf12e83 Reviewed-on: https://chromium-review.googlesource.com/1119075 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Adding an explicit X8 channel packs the format into 32 bits. This gives the correct 4-byte alignment instead of a mysterious 3-byte version. Bug: angleproject:2729 Change-Id: Id38f74db4ba61c500baeb6526a9d14e1d31d4363 Reviewed-on: https://chromium-review.googlesource.com/1140739Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jiang authored
According to the OpenGL extension spec EXT_sRGB.txt, EXT_SRGB is based on ES 2.0 and generateMipmap is not allowed if texture format is SRGB_EXT or SRGB_ALPHA_EXT. BUG=769989 TEST=SRGBTextureTest.SRGBValidation* TEST=SRGBTextureTest.SRGBAValidation* Change-Id: Ic51da224fcd318187865a44630af6fca5c3ad2de Reviewed-on: https://chromium-review.googlesource.com/1137924Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
-
- 17 Jul, 2018 4 commits
-
-
Geoff Lang authored
Simply exposing the extension string allows the passthrough command decoder to initialize for testing. It still fails all tests that use the extension. BUG=angleproject:2722 Change-Id: I71f408d05009afb594835c0b741256e26209d93e Reviewed-on: https://chromium-review.googlesource.com/1138824 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2724 Change-Id: I4a86c88ec8a1508a0961091ad6b4429dcd8775d4 Reviewed-on: https://chromium-review.googlesource.com/1138823Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2723 Change-Id: Ic3905531d3e91f94ff0ce10a09ca5dcdf643e21f Reviewed-on: https://chromium-review.googlesource.com/1134084Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
If we are restoring a lost device we should have deleted all Contexts. This would have freed any bound textures. Remove the release call and replace it with an ASSERT. One usage of the Proxy Context remains: Display::destroyImage. Bug: angleproject:2714 Change-Id: Id3e4b7b0341092a8fae37705a6bb171167196fe2 Reviewed-on: https://chromium-review.googlesource.com/1137880 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 16 Jul, 2018 8 commits
-
-
Jamie Madill authored
This frees up one more use of ProxyContext. It will also keep the bound surface alive until it is unbound from a Texture. Two usages of the proxy context remains. * DisplayD3D::restoreLostDevice. * Display::destroyImage. Bug: angleproject:2714 Change-Id: Ied72c6ebe060d7fc1743b3313e162d540fcbfe02 Reviewed-on: https://chromium-review.googlesource.com/1137878 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Omar El Sheikh authored
After the first test using the Mock ICD runs, an environment variable VK_ICD_FILENAMES is set when previously it did not exists. The cleanup of that test, rather than deleting the environment variable, set it to an empty string, which the Vulkan loader would use for subsequent Vulkan tests, causing issues with Vulkan not finding the correct extensions. Had to disable two more tests since they started failing once those backends were enabled. Bug: angleproject:2604 Change-Id: Ie103756eed60d255d1dd92d7ef3b726183feeb1e Reviewed-on: https://chromium-review.googlesource.com/1137342Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Omar El Sheikh <theoking@google.com>
-
Geoff Lang authored
Only the read framebuffer should affect the flipping for ReadPixels. BUG=angleproject:2673 Change-Id: I3733bb823f5f3ebd55df63a36cc99b510dc0b1aa Reviewed-on: https://chromium-review.googlesource.com/1138817Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This encapsulates most of the logic for a Program into a helper class. Now we can store multiple instances of the Program's back-end to implement different shader behaviour at draw time. This will be useful for shader patching for OpenGL line segment raster. Bug: angleproject:2598 Change-Id: I800a737088574e28f3a4ec23b91c0cb2647e4e12 Reviewed-on: https://chromium-review.googlesource.com/1127302Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This would cause internal errors to trigger a nullptr dereference. Bug introduced in "Add gl::ErrorSet and angle::Result." 6b873dd7 Bug: angleproject:2491 Change-Id: Ia98d59d27614912631d41ff0823ee5aa50769733 Reviewed-on: https://chromium-review.googlesource.com/1138408Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Rendering from disabled attributes is implemented using small dynamic buffers. The buffers use a stride of zero so the same vertex data is pulled for every index. This fixes all the disable attribute tests in dEQP. Bug: angleproject:2444 Change-Id: I04fe139076da3e3ff723bed8eb17e333b4cb0ddf Reviewed-on: https://chromium-review.googlesource.com/1136664 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Frank Henigman authored
Add two members to vk::Format: - vertex data copy function - flag indicating if the function converts or not Use the function when streaming vertex data so it gets converted if needed. Add fallbacks for integer formats. These formats will now work everywhere, as long as they are in client memory, not a buffer object. Adjust test expectations accordingly. BUG=angleproject:2405 Change-Id: I677221219d933c35740633a0ab7694293e218177 Reviewed-on: https://chromium-review.googlesource.com/1084328Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The program textures update needs to call into the incomplete textures cache. Moving this step into an update mechanism allows us to avoid some complexity of calling the incomplete textures cache inside the ProgramVk class. This enables further refactors for draw call shader patching and line segment raster. Bug: angleproject:2598 Change-Id: I0fd81ca58d2641572a2dd444992ccddd99ebc823 Reviewed-on: https://chromium-review.googlesource.com/1127301 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-