src/libANGLE


Log

Author Commit Date CI Message
Geoff Lang 56cf9af2 2015-02-17T10:16:49 Add a FunctionsGL class for loading GL entry points. BUG=angle:879 Change-Id: I35384f078d2ed86a6c72cc243753b56bc58617b0 Reviewed-on: https://chromium-review.googlesource.com/250390 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5b8b1087 2015-02-13T11:17:34 D3D: Re-init static buffer after invalidate. This allows the Buffer class to always know if it's intended to use static data vs dynamic. In some cases we would end up with NULL pointers and not know if we started with static or dynamic usage. BUG=angle:912 Change-Id: I79ca62674543e0cf4b2ba9b31b6d8918723b31ce Reviewed-on: https://chromium-review.googlesource.com/249460 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 026b4188 2015-02-13T11:17:33 Generalize NativeBuffer11::setData. We can replace this method with a base class method which uses our implementation of "map". This allows us to reuse setData in other mappable buffer storage types. BUG=angle:912 Change-Id: I7848cb9440b806364d9b2a6e2251323e53206921 Reviewed-on: https://chromium-review.googlesource.com/249182 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d2d21dca 2015-02-17T18:07:01 Revert "Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time"" Causes errors in Clang-Win. We can fix the error and then resubmit, but need to do a roll now. This reverts commit 310184861bab5e95139e0f34b1f8e88fe8c677b8. Change-Id: I1c91b0a97031df33c2261089f6b54ccd3270306b Reviewed-on: https://chromium-review.googlesource.com/250430 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin f7b10164 2015-02-12T14:56:07 Fixed variable shadowing warnings Change-Id: I7cf9e09f4003991e44195bedfe58891288541f81 Reviewed-on: https://chromium-review.googlesource.com/249432 Reviewed-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nico Weber d8d58301 2015-02-13T15:46:04 Make Buffer11.cpp build with clang. Change-Id: If72bc38dbb484e56a0a26c3aa7ac38bbc319653a Reviewed-on: https://chromium-review.googlesource.com/249921 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin d28f6113 2015-02-12T16:11:00 Fixed compressed texture support reporting for feature level 9_3 Change-Id: If6e27db912711532e184a3a716728a19653c0471 Reviewed-on: https://chromium-review.googlesource.com/249550 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 12892c91 2015-02-13T11:13:13 Remove the dependency on OpenGL32.lib by loading all WGL functions. BUG=angle:879 Change-Id: I1a10a86b710cb0c76be1907136345bcac078da4d Reviewed-on: https://chromium-review.googlesource.com/249740 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill d12971af 2015-02-12T13:29:15 Fix Buffer11 staging buffer revision update. This bug could trigger a potential extra copy when drawing with a pack buffer (or possibly packing vertex/index data). BUG=angle:912 Change-Id: Ifead6524322aac5bc0be79a05f4db08c8f5a3225 Reviewed-on: https://chromium-review.googlesource.com/249181 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 398d8e6e 2015-01-22T13:33:56 Add a basic WGL implementation. BUG=angle:890 Change-Id: I5202086990b4f4fbf455fd73c3e29e5e3e1f6160 Reviewed-on: https://chromium-review.googlesource.com/240092 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f03bcad6 2015-02-11T16:46:09 Clean up the style in Buffer11.cpp. Fix indentation, and simplify the naming scheme for the storage. Also add some missing DISALLOW_COPY_AND_ASSIGN macros. BUG=angle:912 Change-Id: I7ac36d8185ce926999501358cec222154d9a3492 Reviewed-on: https://chromium-review.googlesource.com/249180 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang f9a6f084 2015-01-22T13:32:49 Add GL and WGL renderer stubs. BUG=angle:890 Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4 Reviewed-on: https://chromium-review.googlesource.com/242573 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang ba887d90 2015-01-20T13:54:30 Store mShareHandle in SurfaceD3D. The type of the share handle depends on the implementation. BUG=angle:658 Change-Id: Id801f3d0c1e3def7cae5cbd88e7a7032b2f6d8fa Reviewed-on: https://chromium-review.googlesource.com/242050 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 45b4e74a 2015-01-20T13:23:03 Move surface size information out of SurfaceImpl. Some implementations need to query size information directly from their native window instead of listening for size events and storing the result. Also move mSwapInterval to SurfaceD3D since it doesn't need to be stored in all cases and there is no query for it. It no longer requires that the SurfaceImpl's derivation remembers to set mSwapInterval in setSwapInterval too. BUG=angle:658 Change-Id: I499c1b8b842254636fc25ff5f2a90107af8fe327 Reviewed-on: https://chromium-review.googlesource.com/242039 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f6bf23fd 2015-01-20T11:43:54 Split up the Display::create*Surface and have them match the API. BUG=angle:658 Change-Id: Id0054406a5ce6f6ffef28ce84737547c1869efde Reviewed-on: https://chromium-review.googlesource.com/242038 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b69a0923 2015-02-12T10:34:21 Fix UNREACHABLE being hit in Renderer9::applyTransformFeedbackBuffers. Since applyTransformFeedbackBuffers is called even if transform feedback is not active now, remove the UNREACHABLE. Change-Id: Ibc43cb715f8035437986d1eaa94faf4036581d8f Reviewed-on: https://chromium-review.googlesource.com/249121 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Gregoire Payen de La Garanderie 5274202f 2015-02-04T14:55:39 Unbind unused stream out from the D3D11 pipeline to avoid conflicts. Also allow points drawing without gl_PointSize if transform feedback is active. Change-Id: I172d423e847b35b94ebaea102dd97b695575c828 Reviewed-on: https://chromium-review.googlesource.com/246100 Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f4780c1c 2015-02-11T16:33:11 Use correct non-square register count in structs. For struct varyings with nested structs, we would count registers incorrectly, and produce D3D link errors. This fixes tests in the dEQP's shaders.linkage.varying.struct. BUG=angle:910 Change-Id: I47ea6dba36bf57cf94a7e7f30997c6c9096c2b40 Reviewed-on: https://chromium-review.googlesource.com/247243 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 2857f489 2015-02-09T15:35:29 Fix struct uniform packing. Our current code would not adapt properly for members that did not fit in the previous register. Instead, use the correct adjusted value as returned from the block layout encoder. This fixes a dEQP WebGL test: gles2/shaders/linkage. BUG=angle:910 Change-Id: Id77d0c76ce767665b3db97cb4d14e8008254fd9f Reviewed-on: https://chromium-review.googlesource.com/247241 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill b2a5e342 2015-02-11T13:13:21 Return egl::Error from Renderer::initialize. This extra Error info can be useful for passing back additional info. In the short-term this means we can implement a UMA histogram at some point with a code that represents a more specific reason why the init failed. BUG=436191 Change-Id: If5e099a9ce32e87843754cd4f40d726dd5bad4b8 Reviewed-on: https://chromium-review.googlesource.com/246564 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 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>
Jamie Madill 38832d17 2015-02-09T10:01:47 Add Display getters for native display and attribs. This simplifies the logic in the Renderer init. BUG=angle:905 Change-Id: I01bf3701dd85f50e369e2c11e0e2a7cb638ccf00 Reviewed-on: https://chromium-review.googlesource.com/247650 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang b0eecdfd 2015-02-10T11:09:12 Reduce the calls to get[Width|Height|InternalFormat] in Texture.cpp. BUG=angle:909 Change-Id: I8a66c1d317bcb7a01d79f9475390deb292e1ae2e Reviewed-on: https://chromium-review.googlesource.com/248052 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 866dd2d1 2015-02-10T11:08:32 Store the texture image information in a std::vector instead of a std::map. BUG=angle:909 Change-Id: Ib595306f6cf0633b16bff6389373c2bb2cc29ec9 Reviewed-on: https://chromium-review.googlesource.com/248051 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Régis Fénéon 83107970 2015-02-05T12:57:44 Implement eglQueryContext BUG=angle:895 Change-Id: I5e709f772d6222cdb7b5d7c060830a75eac9f815 Reviewed-on: https://chromium-review.googlesource.com/246490 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 74ba76c4 2015-02-09T10:31:23 Move rx::MemoryBuffer to common library. This class is not D3D-specific so can be shared among other back-ends, or other parts of the ANGLE codebase. Change-Id: Ie00760eb5dae4db52e465ee7a2f97789bae8c0b0 Reviewed-on: https://chromium-review.googlesource.com/246500 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 811b6352 2015-02-09T10:17:09 Add a script to generate a new Renderer. Also refactor our current Impl headers slightly to facilitate parsing by the generation script. BUG=angle:905 Change-Id: Ib86cff71d18e7f911cf526b27b8a82757bacd738 Reviewed-on: https://chromium-review.googlesource.com/245497 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b0e83f46 2015-01-28T17:39:34 Catch errors in TextureStorage creation in TextureD3D::getNativeTexture. BUG=450257 Change-Id: Iba75d9f0607177fff0bec7fcd2564a8d2e26da8e Reviewed-on: https://chromium-review.googlesource.com/243882 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f81b6a15 2015-01-19T16:51:55 Move eglCreatePbuffer* validation into validationEGL. BUG=angle:658 Change-Id: I25d1be1ef86f82892186b08c9a8ff0133d520ac6 Reviewed-on: https://chromium-review.googlesource.com/242037 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 0eef0826 2015-01-19T16:22:40 Move eglCreateWindowSurface validation into validationEGL. BUG=angle:658 Change-Id: Iaa7e6033fb323c1089907c9ed753746729887061 Reviewed-on: https://chromium-review.googlesource.com/242036 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 33b6ae54 2015-01-19T15:58:09 Move eglCreateContext validation into validationEGL. BUG=angle:658 Change-Id: Ibdf601725536edf40c0499aba0402fb160b2c841 Reviewed-on: https://chromium-review.googlesource.com/242035 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dd43fccc 2015-01-19T15:44:17 Add EGL validation helper files and move some validation to them. BUG=angle:658 Change-Id: Id560268a280f2fa7d75a7d0727dac830fe8de9f1 Reviewed-on: https://chromium-review.googlesource.com/242034 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1d8ae673 2015-01-19T14:44:29 Add a makeCurrent method to Display. BUG=angle:658 Change-Id: If1830fb164d31e2ee8092414d012e127ec344d69 Reviewed-on: https://chromium-review.googlesource.com/242033 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Gregoire Payen de La Garanderie b3dced29 2015-01-12T14:54:55 Implementing gl_InstanceID in the HLSL compiler. Fixes: dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed BUG=angle:601 Change-Id: I6e120eebc90d00e025fc58f096064e6ed1da826b Reviewed-on: https://chromium-review.googlesource.com/246911 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill c38fa8a5 2015-02-06T18:28:51 Revert "Track bound render targets in D3D9 with uintptr_t and dirty them with -1." Failures on the Chromium GPU FYI bots: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/8695 This reverts commit 358c8a95aeb3fd01218bc4116e999f4cd0c3fdc1. Change-Id: I01d674929280364e097e4f65b06d7c3b1f928e92 Reviewed-on: https://chromium-review.googlesource.com/247091 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin 4e47b92f 2015-02-03T09:04:20 Fix instanced point sprites when gl_PointSize is specified but not used Change-Id: I2350fa60cae55f02d7b484c34544c035acaba6ad Reviewed-on: https://chromium-review.googlesource.com/245703 Reviewed-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 358c8a95 2015-01-30T14:34:58 Track bound render targets in D3D9 with uintptr_t and dirty them with -1. BUG=447419 Change-Id: Ia77e3b00db0f327eb278285de14cd438c5cf538b Reviewed-on: https://chromium-review.googlesource.com/244664 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang cf077794 2015-01-28T15:23:17 Track bound render targets in D3D11 with uintptr_t and dirty them with -1. BUG=447419 BUG=452587 Change-Id: Ic36ebf108eca93e1239cc9c2a0d6479c84e93ace Reviewed-on: https://chromium-review.googlesource.com/244663 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9c4264d9 2015-01-09T16:41:00 Move Renderer::getMajorShaderModel to RendererD3D. BUG=angle:658 Change-Id: Ibf67a96ec9c0e8d6adc4f9c839da1e06058dc32f Reviewed-on: https://chromium-review.googlesource.com/239904 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang bb3f1802 2015-01-09T16:39:04 Remove swap interval queries from Renderer. BUG=angle:658 Change-Id: I7cd9cf3693c06c46ec6a4054e8fe1586f399273c Reviewed-on: https://chromium-review.googlesource.com/239903 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f21a1080 2015-01-09T14:41:27 Generate the full EGL configs in the Renderers. Specify the default framebuffer formats in GL formats but still use BGRA and ANGLEX formats for now. BUG=angle:658 Change-Id: I7192db4ca76ab4b0b42daa43785a7ddd9528a9ca Reviewed-on: https://chromium-review.googlesource.com/239902 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill b885e571 2015-02-03T16:16:04 Implement ReadBuffer functionality. This enables ReadPixels from non-0 FBO attachments. Tested with: dEQP-GLES3.functional.negative_api.buffer.read_buffer (fails due to a possible error in dEQP) dEQP-GLES3.functional.shaders.fragdata.draw_buffers (passes) BUG=angle:903 Change-Id: Ib095e1d50b8fbbc6f197de25f19ec0993309145a Reviewed-on: https://chromium-review.googlesource.com/244841 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill b4b53c5c 2015-02-03T15:22:48 Add stubs for primitive restart caps. Allow dEQP to reset this particular state variable, while still throwing an UNIMPLEMENTED error if we try to render with primitive restart enabled. BUG=angle:901 Change-Id: I1ab46ff4d8bff2775225b083f08d156b9422b9c5 Reviewed-on: https://chromium-review.googlesource.com/244840 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang c223dc6b 2015-01-09T13:10:01 Change Config to a struct and rename it's members. BUG=angle:658 Change-Id: I18dab915730fc28815db8080b3614da821f9c8b1 Reviewed-on: https://chromium-review.googlesource.com/239901 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6812a55c 2015-01-06T17:26:42 Rewrite ConfigSet and make EGLConfig synonymous with egl::Config. BUG=angle:658 Change-Id: I3c33faf18af0bfda00dc5babe6356d6c8661f032 Reviewed-on: https://chromium-review.googlesource.com/238862 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5c39f688 2015-01-06T15:19:35 Have the DisplayImpl create the Renderer and Contexts. BUG=angle:658 Change-Id: I726d87b90be8382c5dd8964e4d8686711e404ffe Reviewed-on: https://chromium-review.googlesource.com/238861 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 39f2e2b0 2015-02-03T09:39:45 Add multithreaded create device flag in D3D9. This fixes a crash when we try to load a program executable in the worker thread in the multi-threaded shader compilation. This fixes the angle_end2end_tests. BUG=angle:900 Change-Id: Id4494864c7121630c43c2fe64a92674326eabc69 Reviewed-on: https://chromium-review.googlesource.com/245681 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Minmin Gong 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>
Jamie Madill 1d57ad40 2015-02-02T16:57:06 Add some missing disallow macros. DISALLOW_COPY_AND_ASSIGN was missing from CompilerImpl, FramebufferImpl and DefaultAttachmentImpl. BUG=angle:904 Change-Id: I2e57078cd5b40baf6962f19869c2f3b67ad6dc6e Reviewed-on: https://chromium-review.googlesource.com/245514 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 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>
Austin Kinross 31018486 2015-01-30T13:06:52 Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time" The original change caused a Chromium build break due to "__uncaught_exception" not being defined in concrt.h. This is because Chromium defines "_HAS_EXCEPTIONS=0" in its GYP, but ANGLE doesn't do this. This change defines "_HAS_EXCEPTIONS=0" in ANGLE's GYP to match Chromium, and refines it in ProgramD3D.cpp before including <future>. Change-Id: Ic324702569bac8f4ae1381f308c4f3f11f190f9e Reviewed-on: https://chromium-review.googlesource.com/244860 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gregoire Payen de La Garanderie 1528f5f1 2015-01-28T16:07:05 Fix the calculation of the D3D stream output offset in the D3D11 backend Also add an extra check in BindBufferBase/Range that XFB is not active. BUG=angle:898 Change-Id: I0d61ebaa0674b0a375cc35efa614b021a6901eac Reviewed-on: https://chromium-review.googlesource.com/243892 Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 198e9e39 2015-01-30T15:24:25 Fix parity bug in egl::Error::createMessageString. The check should be "==" instead of "!=". This gave a crash any time we would generate an Error with a message. Change-Id: I7c5d57e30053591b4713d8c829e89fd1c0703da0 Reviewed-on: https://chromium-review.googlesource.com/244820 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b82e1a9c 2015-01-30T15:20:09 Fix parity bug in Error::createMessageString. The check should be "==" instead of "!=". This gave a crash any time we would generate an Error with a message. Change-Id: I9217e6237ee8a2d3a4d6caa799b8508edbf4e774 Reviewed-on: https://chromium-review.googlesource.com/244754 Reviewed-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 846ca843 2015-01-29T10:29:54 Fix 2D tex array buffer unpacking. In some cases, when an unpack buffer is enabled, we would use the incorrect layer offset, because we would think the pixel pointer was NULL. Use a new parameter instead of the double "null" meaning to fix this. This fixes several tests in the dEQP texture specification group. (EG: dEQP-GLES3.functional.texture.specification.teximage3d_pbo) BUG=angle:899 Change-Id: If96bba6987a04653301efc348d32de372a237aa1 Reviewed-on: https://chromium-review.googlesource.com/244092 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 9d294c33 2015-01-30T19:58:39 Revert "Compile the D3D11 VS and PS on separate threads at GL link time" Failing compile on Chromium bots: FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\goma/gomacc "C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj.rsp /c ..\..\third_party\angle\src\libANGLE\renderer\d3d\ProgramD3D.cpp /Foobj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj /Fdobj\third_party\angle\src\libANGLE.cc.pdb c:\b\depot_tools\win_toolchain\vs2013_files\vc\include\concrt.h(4774) : error C3861: '__uncaught_exception': identifier not found ninja: build stopped: subcommand failed. This reverts commit 6d51f2629a8118f7afd450ea832c93143a84c330. Change-Id: Iebb2843dfbc3795290fbb33e1a111ddad59c3126 Reviewed-on: https://chromium-review.googlesource.com/244792 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross 6d51f262 2015-01-26T16:34:48 Compile the D3D11 VS and PS on separate threads at GL link time BUG=angle:900 Change-Id: Iad5dbbcc676e2a2b6dfc3d7bc6ab5957154de33e Reviewed-on: https://chromium-review.googlesource.com/240490 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Cooper Partin d8e62a39 2015-01-29T15:21:25 Added required casts to fix 64-bit compilation errors Change-Id: I5ec9090e0129c778de8fcdc6cf70ea0fe460a19d Reviewed-on: https://chromium-review.googlesource.com/244510 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill bc393df9 2015-01-29T13:46:07 Allow 32-bit float formats in ES2 CopyTexSubImage. These corner case formats can come about from using floating point textures and trying to copy between them. There currently isn't a good alternative in WebGL 1 for copies. BUG=angle:850 Change-Id: I3dc29e42b5ec7dcf071185bc09c6b3e9e3cb3207 Reviewed-on: https://chromium-review.googlesource.com/241048 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gregoire Payen de La Garanderie 88fe1ad7 2015-01-19T15:09:26 Update the texture storage after generateMipmaps and setStorage. Also adds a few assert in SetData and various places to ensure that images are not dirty before modifying the storage. BUG=angle:873 Change-Id: I7cc922b33da0d79a1b5aefe216e9ccfaaf86a306 Reviewed-on: https://chromium-review.googlesource.com/241880 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Geoff Lang b9266276 2015-01-29T13:25:14 Update texture size information on egl[Bind|Release]TexImage. BUG=450257 Change-Id: I7609131d78f255bf9f79b42f39b02303a5c14b60 Reviewed-on: https://chromium-review.googlesource.com/243915 Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill b2d298db 2015-01-29T10:29:51 Fix TextureStorage11::setData for 3D textures. Currently this method doesn't handle partial offsets. Fixes dEQP tests in the texture specification group. BUG=angle:899 Change-Id: I20160e49a46957b4f6cf96f529ab4ea7ddf7b343 Reviewed-on: https://chromium-review.googlesource.com/244091 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 37997145 2015-01-28T10:06:34 Defer dependent HLSL global var inits. Some global initializers depend on other globals, for instance a varying or attribute value. Since we use a static proxy variable for these varyings, we need to initialize the global static after we initialize the proxy in the shader preamble. This fixes a long- standing compiler bug. We should also add a WebGL test for this. BUG=angle:878 Change-Id: I71db103a6b8c24fb862e0d8b32293da9bc2e8103 Reviewed-on: https://chromium-review.googlesource.com/243581 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 448d3db5 2015-01-28T16:51:10 Fix 'getDepth' in Texture::isLevelComplete. Was mistakenly inserted as getWidth in 691e58cd84360f. BUG=angle:681 Change-Id: Ibccf056dcb47c8711422efb8bd40fb6f64ff57d9 Reviewed-on: https://chromium-review.googlesource.com/244090 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 19d438d4 2015-01-19T13:42:12 Fix checks for base and max level in Texture. The dEQP unpack buffer tests were failing because they use a max and base level of zero with mipmapping enabled. Update our sampler completeness checks to account for min and max level. We'll have to dig in to our code to find corner cases in D3D with base and max level. Change-Id: I74357c6dc2e1908d0463d2e5cbc8ee91b61a3b7f Reviewed-on: https://chromium-review.googlesource.com/240763 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Gregoire Payen de La Garanderie 4b3a29e2 2015-01-23T15:46:22 Resize buffer storage on getLatestBufferStorage if needed. BUG=angle:897 Change-Id: I3d6079b718bb5dd61cbd3098694204aae9bbc932 Reviewed-on: https://chromium-review.googlesource.com/243152 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Austin Kinross 3ae6465f 2015-01-26T15:51:39 Fix lots of variable shadowing in ANGLE BUG=angle:877 Change-Id: I3df0fffb19f5ecbe439fbc2a8d6d239a5dc6b638 Reviewed-on: https://chromium-review.googlesource.com/243334 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c51113d0 2015-01-06T10:28:47 Generate egl configs from the DisplayImpl. Still do the actual generation in the Renderer9/11 for now but route it through the DisplayImpl. BUG=angle:658 Change-Id: Ib976fbd1b9e349146dc068bbdd4e6a3d2a5ddc69 Reviewed-on: https://chromium-review.googlesource.com/238860 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b931e721 2014-12-11T13:49:13 Check for EGL extension existance during validation. BUG=angle:658 Change-Id: I078d7f9ab4ab42bd7d3cd3865572ead8ed1f0b29 Reviewed-on: https://chromium-review.googlesource.com/234763 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1b765456 2014-12-11T11:58:39 Move display extension initialization to DisplayImpl. BUG=angle:658 Change-Id: I44d95fad4e1be5cc76f443d724defd37da4a268f Reviewed-on: https://chromium-review.googlesource.com/234762 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 74cafab1 2015-01-23T23:17:32 Revert "Fix lots of variable shadowing in ANGLE" Caused WebGL CTS failures on the texture-npot test: https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/texture-npot.html This reverts commit c67e6e9fade44ef8938724e82db11db725e9c8e5. Change-Id: I089e99859231e0d657084ac3647257c650a9da92 Reviewed-on: https://chromium-review.googlesource.com/243041 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross c67e6e9f 2015-01-21T16:01:07 Fix lots of variable shadowing in ANGLE BUG=angle:877 Change-Id: I15168ae32605b26aee08274464ffe68adb5a7e87 Reviewed-on: https://chromium-review.googlesource.com/242351 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Austin Kinross 62815bf4 2015-01-15T16:32:36 Improve D3D11 FL9_3 zero-LOD workaround (e.g. TextureCubes) D3D11 Feature Level 9_3 can't disable mipmaps on a mipmapped texture, and sample from level zero of it. A previous commit added a workaround for this in ANGLE to Texture2Ds. This commit fixes some minor issues in that commit, and extends the workaround to apply to TextureCubes too. Change-Id: Ic97321af6f8bbf7ad5d96e58655c342db3978a6a Reviewed-on: https://chromium-review.googlesource.com/241944 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gregoire Payen de La Garanderie 398c5a2a 2015-01-16T17:17:47 Support for 3D texture transfers with a non-null z offset. Also fixes the unpack buffer offset which must be in pixel instead of bytes in the shader parameter. BUG=angle:508 Change-Id: I908460a76c300d96054a02206e1f2e3ad2b8e9d0 Reviewed-on: https://chromium-review.googlesource.com/241440 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Gregoire Payen de La Garanderie bc234461 2015-01-16T16:09:39 Use a special flag to mark D3D11 shaders as dirty instead of NULL. Also remove mCurPointGeometryShader and instead pass the program to drawArrays. BUG=angle:872 Change-Id: If55517e81d9234705eabcc0e5be7b5b492858e08 Reviewed-on: https://chromium-review.googlesource.com/241421 Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 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>
Jamie Madill fab29759 2015-01-20T13:57:23 Reduce D3D9 error spam in renderer9 utils. CheckDeviceFormat with a depth stencil format gives a spurious error when called with a non-depth-stencil format. We can check the number of format bits before we call to reduce the error spam. Change-Id: Ia2a6e6d756c84e13effe298240f33c8c83379267 Reviewed-on: https://chromium-review.googlesource.com/242030 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cooper Partin e6664f06 2015-01-09T16:22:24 Added PointSprites Support for renderers that do not support Geometry Shaders Change-Id: Iae9ac5f8fbba68dba5e49ccda7bb7eebb05c8e9a Reviewed-on: https://chromium-review.googlesource.com/240450 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 3940a453 2015-01-14T17:26:32 Only call std::string constructor in gl::Error when necessary std::string's constructor is very expensive in debug builds. In some applications we have seen it use 10% of the CPU. This change makes (e)gl::Error store a pointer to an std::string, and only create a string when necessary. Change-Id: I78bfbda86568944681517fe32df9d1556e4ebee7 Reviewed-on: https://chromium-review.googlesource.com/240495 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 41ebb808 2015-01-05T15:11:18 Move imageformats to the d3d folder. BUG=angle:681 Change-Id: I83f0e5aaca4aaa84e5868afcde4f27eba011d5f1 Reviewed-on: https://chromium-review.googlesource.com/238479 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c2ca196e 2015-01-05T15:02:18 Move loadimage to the d3d folder. BUG=angle:681 Change-Id: Id901d9ae66207ac5e7d2844b8cd1f6a58c4492f6 Reviewed-on: https://chromium-review.googlesource.com/238478 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 04185ac7 2015-01-05T14:58:09 Move GenerateMip to the D3D folder. BUG=angle:681 Change-Id: Icdffe7eb8f975ee0966e9fb241835ac541eb39f0 Reviewed-on: https://chromium-review.googlesource.com/238477 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 34cc136a 2015-01-05T14:55:44 Move copyvertex to the d3d11 folder. BUG=angle:681 Change-Id: Id37ed1ca617f1d2b6c1bd4a86fc8fcd28b933e8f Reviewed-on: https://chromium-review.googlesource.com/238476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 59c4debe 2015-01-05T14:49:56 Move copyimage to the D3D folder. BUG=angle:681 Change-Id: I2ce237281cc75fdae11b5ddb4eca52058c395e7a Reviewed-on: https://chromium-review.googlesource.com/238475 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6f5dc074 2015-01-05T14:46:20 Move vertexconversion.h to the d3d9 folder. BUG=angle:681 Change-Id: I87ef6856040978a9a6045d1df20fe3117def35a3 Reviewed-on: https://chromium-review.googlesource.com/238474 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 359ef269 2015-01-05T14:42:29 Rename ShaderExecutable to ShaderExecutableD3D and move it to the D3D folder. BUG=angle:681 Change-Id: I097d6591be4e873c9a6f210cc91e3f4eb60f036b Reviewed-on: https://chromium-review.googlesource.com/238473 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2dc4639f 2015-01-05T14:33:58 Rename SwapChain to SwapChainD3D and move it to the D3D folder. BUG=angle:681 Change-Id: Idcf24556e590e07cc0b6cf640d4701353a0cda5e Reviewed-on: https://chromium-review.googlesource.com/238472 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c2e75afa 2015-01-05T14:26:24 Rename RenderTarget to RenderTargetD3D and move it into the d3d folder. BUG=angle:681 Change-Id: I1946e01ce09d99405c318723c254fe300cc5ac53 Reviewed-on: https://chromium-review.googlesource.com/238471 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b4dedf3e 2015-01-05T14:08:53 Merge the Image class into ImageD3D. BUG=angle:681 Change-Id: I0c0d41fb3ff9592b08ede58a8c2ec2bd2d94a0b2 Reviewed-on: https://chromium-review.googlesource.com/238470 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 909b90ce 2015-01-12T14:07:26 Use the ImageIndex class for indexing the Texture size information. BUG=angle:681 Change-Id: I0c8d1c04ca8eefb9b618ee6635c0643d162c0cc1 Reviewed-on: https://chromium-review.googlesource.com/240241 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 155610b9 2015-01-15T16:37:17 Fix off-by-one max mip levels in getSRV. We would try to create SRVs with zero mip levels, when we should be asking for a single mip level. This would happen when the base level is equal to the max level. See the dEQP test: texture.mipmap.2d.max_level.linear_nearest Change-Id: I3f231f159dbdecbf7c2e61b373bfc3545875f36e Reviewed-on: https://chromium-review.googlesource.com/240762 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 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>
Austin Kinross 215b37a6 2014-12-22T12:56:07 Work around zero-LOD mipmap issue on D3D11 Feature Level 9_3 In OpenGL ES, it is possible to sample from level 0 of a mipmapped texture by setting GL_TEXTURE_MIN_FILTER to GL_NEAREST. This is possible in D3D9 and D3D11 Feature Level 10_0+ via various methods. It's not possible in D3D11 Feature Level 9_3, though. This change works around this restriction by creating two copies of each texture on 9_3. The textures are identical, except one has mipmaps and one doesn't. The D3D11 renderer figures out which texture to use at the right time, and keeps the textures in sync with each other as necessary. Note: each texture is only created when it's needed. It's possible that only one (or even neither) D3D texture will be created for a given GL texture. Change-Id: I3c17137b4f63b9158b3abf067ad8e5d5c49d2191 Reviewed-on: https://chromium-review.googlesource.com/234522 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross be0facc6 2015-01-07T16:22:29 Reduce calls to ID3D11DeviceContext::Map() in VertexBuffer11.cpp This change moves VertexBuffer11::storeVertexAttributes()'s call to Map() outside a for-loop, eliminating unnecessary calls to Map(). Since Map() is a relatively expensive operation (even when using NO_OVERWRITE) this change gives a noticeable performance boost in some scenarios. Change-Id: I320111b32f2bb9eed92efbd240206e12aaa9964e Reviewed-on: https://chromium-review.googlesource.com/240181 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Geoff Lang 691e58cd 2014-12-19T17:03:25 Merge all gl::Texture* classes. The validation for sampler completeness had a lot of duplicated code. The special cases have been merged into the base class by checking mTarget. BUG=angle:681 Change-Id: I11d94c1432f8fc70a1edaaf8228bbc43c3c8fff3 Reviewed-on: https://chromium-review.googlesource.com/236932 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill dd806c2b 2015-01-14T14:26:35 Use emmintrin.h for SSE includes. This header should work on all available platforms, instead of the platform-specific intrin.h or x86intrin.h. BUG=angle:773 Change-Id: Ia012053064838f9893aa647d872e136a47cfad1a Reviewed-on: https://chromium-review.googlesource.com/240552 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 129753af 2015-01-09T16:52:09 Split the flush and finish commands into separate methods. Improves the readability of the implementations and more closely mirrors the GL commands. Change-Id: Ifa7bc55751d50271eb01fd87e4efdc69f00c2c48 Reviewed-on: https://chromium-review.googlesource.com/239845 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7c973eaa 2014-12-19T15:58:28 Move egl texture binding to the base texture class. It's still only valid to bind a 2D texture but the validation layer verifies that. BUG=angle:681 Change-Id: I744dc32f9bd0f69b1e1235b8feef7e796167d033 Reviewed-on: https://chromium-review.googlesource.com/236931 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang d03e10e2 2014-12-18T17:46:58 Remove references to the Image class from gl::Texture and rx::TextureImpl. BUG=angle:681 Change-Id: I83659f47cbe9f22ff5ad0cf54471544bd14775aa Reviewed-on: https://chromium-review.googlesource.com/236690 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang a9be0dc6 2014-12-17T12:34:40 Refactor Texture to track image information for size and format queries. BUG=angle:681 Change-Id: Ifb3f52d6348e4479181e66f1c39578f49e9dcf76 Reviewed-on: https://chromium-review.googlesource.com/235613 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>