src/libGLESv2/renderer


Log

Author Commit Date CI Message
Brandon Jones d38f926a 2014-06-18T16:26:45 Refactoring Buffers BUG=angle:681 Change-Id: I6c3809e0b9468dfe38465c55759c2572c21485da Reviewed-on: https://chromium-review.googlesource.com/204896 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e4a492be 2014-06-19T14:14:41 Remove the clientVersion parameter from the format utils. clientVersion was only useful for intitial validation of formats and not required for queries. Only use the client version and caps structure to validate if a format is available and then trust that it is supported past the validation layer. Fixed some inconsistancies between tables such as missing formats or incorrect load functions in the ES3 tables. BUG=angle:659 Change-Id: I8d33c902156ee6fb41efe937d93b0586191726e5 Reviewed-on: https://chromium-review.googlesource.com/201167 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e261b44a 2014-06-25T12:42:21 Remove obsolete Renderbuffer types. RenderbufferProxySet and FramebufferTextureBindingPointer aren't necessary any more with our refactored renderbuffer classes and ownership of attachments by the Framebuffer. We can also consolidate the FramebufferAttachment and implementation to a single class, and no longer need to store ref counted objects in the Framebuffer class directly. BUG=angle:660 Change-Id: Idcc06dfb42b47242b33494e797a0ba06d6669511 Reviewed-on: https://chromium-review.googlesource.com/201838 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Brandon Jones c7a41049 2014-06-23T12:03:25 Moved D3D specific files and folders under the D3D folder. Change-Id: I8afd67e08ee558fe94532c377d079673357a7192 Reviewed-on: https://chromium-review.googlesource.com/205229 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2b31af29 2014-05-23T14:45:40 Remove the ES version check for buffer to texture copies in D3D11. With PBOs being exposed through an extension in ES2 now, this check is uneccessary. Change-Id: I609a4bcd944194d104e0774e5f6ea34e072c8d9c Reviewed-on: https://chromium-review.googlesource.com/201320 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1aeb1314 2014-06-20T13:21:25 Move draw call primitive type check to the API. A part of a larger refactoring to clean up the draw call validation. BUG=angle:571 Change-Id: I0b220d68c04524a81ca11dc58e10c90e458cabde Reviewed-on: https://chromium-review.googlesource.com/203771 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill ac528015 2014-06-20T13:21:23 Move stencil mask validation to before the draw. ANGLE (and WebGL) restrict the back and front stencil masks on draw, due to D3D restrictions. We would previously only validate this if the stencil was enabled in D3D9. In D3D11 we would validate the stencil masks even if the stencil is disabled, which is the behaviour the spec suggests. Moving the error check to before the draw also prevents any issue with interrupting a draw call mid-way through. BUG=angle:571 BUG=378754 Change-Id: If7651c2be559eef64a872082e144dafa3b2c524b Reviewed-on: https://chromium-review.googlesource.com/203299 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 4ace423c 2014-06-18T19:12:48 Disable dynamic pixel shader generation. Always generate the same pixel shader no matter what framebuffer is bound. BUG=angle:670 Change-Id: I3fa91ff43363d49b38a19d3815ea523946c675d5 Reviewed-on: https://chromium-review.googlesource.com/204573 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 05b05028 2014-06-11T15:31:45 Add support for EXT_sRGB. BUG=angle:672 Change-Id: I001ff3dde7a39e545a535a399c02f3a6d91634c8 Reviewed-on: https://chromium-review.googlesource.com/203460 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 66aaf723 2014-06-05T12:42:07 Always store GL_DEPTH_COMPONENT32_OES as a 24-bit depth format. Greatly simplifies the format utils by not having any internal format <-> DXGI format conversions depend on the client version. 32 bit floats and 24bit integers have very close precision in the [0,1] range so there should be no precision issues. BUG=angle:659 Change-Id: Ife64445ef35f77283fc4c70c98754f5e87b6fb19 Reviewed-on: https://chromium-review.googlesource.com/202507 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 6195ef87 2014-06-18T10:09:43 Fix transform feedback type. We were using the wrong enum for the varying type, as well as using the row count of the type. We should be using the column count, but for matrices we treat them as transposed. BUG=angle:679 Change-Id: I0eb7f68f629a4372c6822f65b2de51ecc88a03ed Reviewed-on: https://chromium-review.googlesource.com/204520 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill afa40f7d 2014-06-18T10:09:42 Fix buffer bugs affecting transform feedback. Running dEQP-GLES3.functional.transform_feedback would trigger a few assertion failures because of some regressions that crept into our code. Among the regressions is assuming we can't map a buffer that has no underlying storage object. This is valid since we sometimes allow setData without creating a native storage. Additionally we should free our existing data store on a new call to SetData, to prevent old but "new" data revisions from complicating our storage. BUG=angle:679 Change-Id: Icd96a8a55a2b957d29382d8b8bbd7e8a7ab0cf65 Reviewed-on: https://chromium-review.googlesource.com/204342 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2bf8b372 2014-06-16T17:18:51 Fix link error when using varyings with "dx_". Varyings beginning with "dx_" would not get decorated properly, or at all, which could cause potential internal variables and certainly caused link errors. Fix this by no longer treating the "dx_" prefix differently. Also fix our naming of "dx_Position" to be consistent with our other internal types. BUG=angle:678 Change-Id: I03da0494a3d934d82ae7b3f8f12a576ff9bc3869 Reviewed-on: https://chromium-review.googlesource.com/203777 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill bae30a00 2014-06-17T10:45:02 Add a macro for unused trace variables. This fixes the standalone 64-bit Debug build. Change-Id: I348b71a96ada435867367e565bc84b570d2bfb67 Reviewed-on: https://chromium-review.googlesource.com/204292 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1d4e38d3 2014-06-17T10:23:54 Fix compile warnings with attributes. BUG=angle:676 Change-Id: I291c0b618854179f726cb4c969fb65182d3b591e Reviewed-on: https://chromium-review.googlesource.com/204340 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Brandon Jones 5bf98290 2014-06-06T17:19:38 Refactoring VertexArrays BUG=angle:676 Change-Id: If17b05ab667d79adcaacfbd1811ed92c0ce47fff Reviewed-on: https://chromium-review.googlesource.com/203294 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1e3fa74d 2014-06-16T10:34:00 Remove Renderer pointer from FBO attachments. Removing the Renderer pointer is one step towards making FBO attachments a minimal state object. Eventually we will be able to store them as arrays instead of arrays of pointers. BUG=angle:660 Change-Id: Idce34e06c339ecb18c60fef12d2ed911d0c4e0f6 Reviewed-on: https://chromium-review.googlesource.com/201835 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 6c7b4ada 2014-06-16T10:33:59 Add new ref-counted Renderbuffer class. Renderbuffers are a clear object type in GL, and this patch adds a more consistent state representation for them. They're managed by the ResourceManager, and have a storage implementation similar to Textures, but much simpler. BUG=angle:660 Change-Id: Ia17199bb8cb570d48db42e1f28ccbcc12a902fcf Reviewed-on: https://chromium-review.googlesource.com/201834 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 4d632d8e 2014-06-16T13:20:17 Fix buffer overflow error on buffer resize. We were using the new, larger size for our buffer data copy step, instead of the old, smaller size. This bug was causing a crash on older nVidia drivers during normal browser usage. Reproducible with the index-validation-large-buffer WebGL test. BUG=angle:667 BUG=384420 Change-Id: I98ee893e0d8ba0bfc9adfe5a338da9b940248879 Reviewed-on: https://chromium-review.googlesource.com/203776 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods fb839475 2014-06-16T13:21:41 Fix ifdef complaints in clang BUG=angle:677 Change-Id: Iee457dfc0990e5ffd61932b1f286f3c0208568bc Reviewed-on: https://chromium-review.googlesource.com/203427 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang a0dc219e 2014-06-09T15:37:55 Re-enable MRT on D3D 10 and 10.1 cards. BUG=angle:670 Change-Id: I88b4823f25ec28fa52831d856ff9fb836fdfc533 Reviewed-on: https://chromium-review.googlesource.com/203120 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 04fb89ad 2014-06-09T15:05:36 Generate pixel shader output to match the bound framebuffer. Only generate pixel shader output variables for render targets that are currently bound. Fixes some performance issues with D3D10 cards that were slow to discard unused outputs. Fixed memory leaks in ProgramBinary by refactoring the freeing of the current state into a reset function. BUG=angle:670 Change-Id: I40f83e15724fb9a1a9ae61363a056999f1fa26d2 Reviewed-on: https://chromium-review.googlesource.com/202977 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang cec3590a 2014-04-16T10:52:36 Use a Caps structure to store extension and texture format support. Removes support for fallbacks in D3D9 texture formats. The fallback formats did not work properly anyways. BUG=angle:658 Change-Id: Idfa5183bf71fd8ebf4608f940f9d93177b9eff08 Reviewed-on: https://chromium-review.googlesource.com/200813 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e09f1c82 2014-06-12T11:10:12 Fix crash on zero size but non-NULL bufferData. Could cause a crash when running the WebGL CTS with Firefox. BUG=angle:675 Change-Id: I58bf9eed622660d4702b775f368ff9cbd693197a Reviewed-on: https://chromium-review.googlesource.com/203456 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Geoff Lang 44fa7594 2014-05-30T11:50:07 Refactor platform related functionality into platform.h and tls.h. Since libGLESv2 and libEGL will eventually be cross platform, it will be useful to have platform defines and TLS functions that work everywhere. BUG=angle:664 Change-Id: Ia357925a0992d82e8b446d88d32a1984d319e6e8 Reviewed-on: https://chromium-review.googlesource.com/202133 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods afeeda93 2014-06-06T13:39:12 Prevents multisample depthstencil from being bound as an SRV BUG=381413 Multisample textures can only be bound as both depth stencil views and shader resource views at feature level 10_1 and above. We don't need to bind textures as SRVs if they're multisample depth targets, so we should avoid the SRV flag in that case. Change-Id: I28ca98bdc4a86eb5442b39ea3cf2b42aa9216aab Reviewed-on: https://chromium-review.googlesource.com/202921 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 3c7fa226 2014-06-05T13:08:51 Rename Renderbuffer to FramebufferAttachment. Part of the refactoring effort to clean up our classes for FBO attachments and Renderbuffers. BUG=angle:660 Change-Id: Id23df904f56499568159611b66c8922b9dce6a3d Reviewed-on: https://chromium-review.googlesource.com/201832 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a5c9a144 2014-05-26T16:39:33 Fix uniform bug from duplicate D3D9 shader pointers. In D3D9, sometimes the compiler would return the same shader pointer on different calls to compile, if the programs were similar. Work around this quirk by storing an applied serial for the program, so we know when to refresh uniform data. BUG=angle:661 Change-Id: I9750ee2298701dbe3f121dac6626198d24a2d1b2 Reviewed-on: https://chromium-review.googlesource.com/201562 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 673e680c 2014-05-28T10:28:33 Don't allocate unused swap chain buffers According to msdn.microsoft.com/en-us/library/windows/desktop/bb173075(v=vs.85).aspx the front buffer is the desktop and is not a dedicated part of the swap chain. Thus we should only need 1 swap chain buffer instead of the currently allocated 2. Samples in the DirectX SDK also only allocate just one. BUG=angle:662 Change-Id: If88eeab1954cbc92b39ac7cf42f924515c4b77f9 Reviewed-on: https://chromium-review.googlesource.com/201860 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9cd1915c 2014-05-28T15:54:34 Fix warnings about unreferenced local variables. BUG=skia:2272 Change-Id: Ibf03efedc662fea2a389ad2dc5af5b7b014181a8 Reviewed-on: https://chromium-review.googlesource.com/201900 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 82b42271 2014-05-20T15:38:22 Fix build warnings in x64. A std::min/max with size_t and unsigned int. Popped up in f98e63a54b8a2. BUG= Change-Id: I25f26ddbe7fb333f895be8a8dce3d3d73044c3f9 Reviewed-on: https://chromium-review.googlesource.com/200484 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill fc2521e1 2014-05-16T16:21:57 Fix build on Windows 8.1 SDK. The Windows 8.1 SDK includes a new DLL compiler DLL, and is useful to test against, so we should fix the few deprecated functions and warnings. BUG=angle:649 Change-Id: I28bcf49564f3f7d7403d939d61dd78d3972281ba Reviewed-on: https://chromium-review.googlesource.com/199341 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 0e3efa51 2014-05-16T16:54:23 Explicitly set the swap effect. swapChainDesc.SwapEffect wasn't being set. The whole structure was initialized to 0 and DXGI_SWAP_EFFECT_DISCARD has value 0 so this should have no effect. Also sorted the field initialization in the order they're declared. BUG=373360 Change-Id: If0113e7468c0bad024a07fec6ad9e223e19494b5 Reviewed-on: https://chromium-review.googlesource.com/200046 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Jamie Madill 45c785d3 2014-05-13T14:09:34 Move validation of EndQuery out of gl::Context. BUG=angle:571 Change-Id: I8913eb1b565a4282d9d84d06933e8b854453f17d Reviewed-on: https://chromium-review.googlesource.com/199349 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 64c83249 2014-05-06T10:49:24 Remove references to software rendering in Renderer9. BUG=angle:641 Change-Id: I3724c2504d43eae0528e8c72eb51e96c9d7c7a71 Reviewed-on: https://chromium-review.googlesource.com/198377 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f98e63a5 2014-05-12T16:45:12 Minimize the API calls done by InputLayoutCache::applyVertexBuffers. Reduce the number of IASetInputLayout calls to 1 in all cases and set the fewest number of buffers at once. BUG=260069 Change-Id: I059337fc6601ecefd801ef37546935becaa0d355 Reviewed-on: https://chromium-review.googlesource.com/199345 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens 2c27db6f 2014-05-10T12:21:11 Attempt skipping D3D11 shader optimization if compilation fails. BUG=angle:648,chromium:371868 Change-Id: I1de854aad6e002bd1349f08eb8d6b597c535c90b Reviewed-on: https://chromium-review.googlesource.com/199312 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Brandon Jones <bajones@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 1408bae6 2014-05-10T12:18:42 Attempt skipping validation if D3D11 shader compilation fails. Some shaders fail to compile with validation error messages that make no sense. BUG=angle:648,chromium:372016 Change-Id: Ief0e28efa6bc7eaa483c95f45c00ce4f9f20e541 Reviewed-on: https://chromium-review.googlesource.com/199311 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 93faad9f 2014-05-10T12:14:13 Refactor attempting shader compilation with different flags. BUG=angle:648 Change-Id: Ie340eaa708820cc13be6d1f5ba04555b6c1918ea Reviewed-on: https://chromium-review.googlesource.com/199310 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens aea8e947 2014-05-09T19:14:08 Fix D3D11 'units' polygon offset bias. D3D11 DepthBias is an integer corresponding directly to GL polygon offset units. BUG=371604 Change-Id: I20a126bd9c6298efff95f3edbf1babc0dd495b18 Reviewed-on: https://chromium-review.googlesource.com/199200 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 5075e13b 2014-05-09T14:40:29 Fix D3D11 polygon offset. We were not taking the state of GL_POLYGON_OFFSET_FILL into account. BUG=371604 Change-Id: I9b490ed043faeece86665acaef0b865bf1f7b60d Reviewed-on: https://chromium-review.googlesource.com/199121 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Geoff Lang 7b827596 2014-05-08T11:12:26 Fix BufferStorage11::getLatestStorage not finding the latest buffer. If there are only buffers with data revision 0, getLatestStorage will skip over them. Fixed the if statement so that it will always find a buffer if one exists. BUG=angle:644 Change-Id: I24fc426383c9ae18b7ccf2f8937a9daa7a071ebe Reviewed-on: https://chromium-review.googlesource.com/198826 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5fedd017 2014-05-08T10:19:36 Implement copies from pack buffers to native buffers. Full support for using pack buffers as vertex buffers or other binding points requires us to copy through the staging buffer. BUG=angle:511 Change-Id: Ife0f5390a1a83dfbe0fa0b19db72f3a8b82b6b83 Reviewed-on: https://chromium-review.googlesource.com/198435 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 14764a09 2014-05-08T10:19:20 Implement internal copies from pack buffers. Pack buffers used in different binding points when combined with other buffer operations require us to be able to read from the pack buffer then write to the native buffer. BUG=angle:511 Change-Id: I2e859695235eb649ddd5dfc1332ecb19b57c1933 Reviewed-on: https://chromium-review.googlesource.com/198434 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 235a6ab5 2014-05-08T10:44:20 Fix regression with BufferStorage11 and latest storage. With our fix to huge buffer allocations, an extra check was preventing pixel pack from running on the first try. BUG=angle:511 Change-Id: Idabafe4e204ad3b7bf2010595dc455affe93dae0 Reviewed-on: https://chromium-review.googlesource.com/198825 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang b69d39ba 2014-05-06T11:49:22 Add a DXGI format for GL_LUMINANCE16F_EXT in ES3. BUG=angle:642 Change-Id: I41eb64b8e9963cfe33e4c127f84a16eef9b118d3 Reviewed-on: https://chromium-review.googlesource.com/198379 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods 334f19b7 2014-05-06T15:39:11 Adds conversion for USHORT2N decltype BUG=angle:643 Change-Id: I90a5e5c91351b9dd43a841cc5612f3f3656dc5b1 Reviewed-on: https://chromium-review.googlesource.com/198233 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 80b9528d 2014-05-06T13:57:43 Handle buffer memory allocation failures gracefully. When we would allocate huge buffers, we would not always gracefully fail and return a GL error back to the application. We should be able to better handle buffer allocation failures with this patch. BUG=angle:634 Change-Id: Ic3edce6d22b731ec52666a2a0e82f9a4fbbb23ae Reviewed-on: https://chromium-review.googlesource.com/197994 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2b5c9cbc 2014-04-29T16:17:22 Store current pack operation as a queued command. The pack pixels operation is split in two halves: a GPU copy then a CPU readback. We defer the CPU readback until we can't wait any longer. That is, we do the readback when the user maps the buffer, or there's another readback or internal operation. This offers the benefits of doing as much GPU work as asynchronously as possible, and only doing the readback work on related API calls (map or subsequent pack calls). BUG=angle:511 Change-Id: I95a01da2b0e842438b180e8cdbb382c9a46ae210 Reviewed-on: https://chromium-review.googlesource.com/197836 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1ef6fe77 2014-05-01T14:51:05 Enable PBO asynchronous readback in Renderer11. BUG=angle:511 Change-Id: Id795a85ec1daa396fc51f021c37fe23df3ecc065 Reviewed-on: https://chromium-review.googlesource.com/197702 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 19811d0b 2014-05-01T14:51:04 Keep persistent pack buffer memory storage. Keeping a persistent storage allows us to treat the memory buffer as the canonical copy of the pack buffer data, and simplifies corner cases. BUG=angle:511 Change-Id: Ied4dcb2edce2b85f68645f5a65603cbf18ad5a16 Reviewed-on: https://chromium-review.googlesource.com/197701 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 876dc724 2014-05-01T17:10:24 Fix 64-bit build failures. Update the BufferStorage classes to use size_t for all sizes and offsets. BufferStorage9 now uses a std::vector to manage its memory. BUG=angle:631 Change-Id: Iea4e7b33ede59a5b9c6a1245690c4b7865096fc3 Reviewed-on: https://chromium-review.googlesource.com/197819 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens 25bf006a 2014-04-22T15:10:22 Optimize alignment and conversion test for float attribute types. The generic alignment and conversion test to check for the possibility of using direct storage is relatively expensive. Float types can be tested more quickly. BUG=angle:613 Change-Id: I5ab008ce82c8b652f0392c20a80a5b198b2437a5 Reviewed-on: https://chromium-review.googlesource.com/197721 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens b05e3495 2014-04-22T15:48:00 Refactor setting the input layout and vertex buffers separately. BUG=angle:613 Change-Id: Id2ecfc215ef65164cb9ee8bfbad168e9af658386 Reviewed-on: https://chromium-review.googlesource.com/197722 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens aa2f00af 2014-04-22T13:49:59 Early out when direct binding not supported. BUG=angle:613 Change-Id: I488dca027e3f6d23cda546ca44af54dcc3338047 Reviewed-on: https://chromium-review.googlesource.com/197720 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 69d8b7cf 2014-04-30T12:16:48 Remove unused mWriteUsageCount. BUG=angle:613 Change-Id: Ia0d9f4ff3b4ace57532b061f5729fa82f49c4497 Reviewed-on: https://chromium-review.googlesource.com/197710 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 3b35e4da 2014-04-22T11:34:31 Fix a performance regression. "Refactor BufferStorage11" caused a performance regression by dropping the line which sets mReadUsageCount to 0. This causes markBufferUsage() to clear mResovedData which then has to be restored on the next getData() call. BUG=angle:613 Change-Id: I61c4b4960305a69b315c20ced66265a770002338 Reviewed-on: https://chromium-review.googlesource.com/197503 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e7a453a5 2014-04-24T14:50:57 Lazy creation of the BufferStorage staging buffer. Only creating the staging buffer on use saves us from allocating a D3D11 staging buffer for pack buffers. This saves some memory and time when we're only using a buffer object for asynchronous readback. BUG=angle:511 Change-Id: I97b37cc27aba4a4526025815b5935b9e74abae2e Reviewed-on: https://chromium-review.googlesource.com/195367 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> (cherry picked from commit ebf396c1dd243223240bac6ea7f01a23893f9a28) Reviewed-on: https://chromium-review.googlesource.com/197281
Jamie Madill 73571e66 2014-04-24T14:50:56 Implementation of buffer map for pack buffers. Internally pack buffers are CPU pointers, with an associated staging texture. In the map call we copy the data out of the staging memory to CPU memory, and return a pointer to the CPU buffer. BUG=angle:511 Change-Id: I2a82addd2f21241d8d49554b2fc71d890a166386 Reviewed-on: https://chromium-review.googlesource.com/195366 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> (cherry picked from commit 0b44a455b5a81b84662e57f30348f4e791f62358) Reviewed-on: https://chromium-review.googlesource.com/197272
Geoff Lang c41e42d4 2014-04-28T10:58:16 Early-out of *TexSubImage* calls when the width, height or depth is zero. BUG=angle:622 Change-Id: I74ef5b684151895b24a15fa8f799a633174622c2 Reviewed-on: https://chromium-review.googlesource.com/197270 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill bde4c2f7 2014-03-21T10:42:10 Force a compiler release when we terminate the Renderer. Forcing the release ensures we always manually deallocate resources, and allows us to compile for different shader model versions after releasing the renderer. BUG=angle:619 Change-Id: I0c9d68a454c7779a024f4fcc4f4987c2abe12e60 Reviewed-on: https://chromium-review.googlesource.com/196820 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 6cec8509 2014-04-19T12:39:25 Re-enable RTTI and fix compilation errors. BUG=angle:616 Change-Id: I964ddc4a3d51d5f202608e3162edb684290cbc6a Reviewed-on: https://chromium-review.googlesource.com/195731 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens fbcc6345 2014-04-17T10:38:38 Report unknown swap error as EGL_BAD_MATCH. EGL_BAD_NATIVE_WINDOW is exclusively for indicating that the native window handle is invalid. Since we're seeing this error on switches between full-screen and windowed, EGL_BAD_MATCH seems like a better fit. BUG=361553 Change-Id: If0e2c4e5efd90838629b2769f20fcffdad4c30a9 Reviewed-on: https://chromium-review.googlesource.com/195363 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill c9fa6ed1 2014-04-17T11:53:40 Implement asynchronous readback with PBOs. This patch covers the basic implementation in the buffer storage. BUG=angle:511 Change-Id: Ie7dcb11e42e568115521cc3e4ed479d3486ac957 Reviewed-on: https://chromium-review.googlesource.com/193621 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7538f7fa 2014-04-17T11:53:39 Refactor Renderer11 to accomodate pixel pack. Splitting the readTextureData call allow a pack buffer read to return asynchronously after the D3D11 CopySubresource call. Refactoring patch only. BUG=angle:511 Change-Id: I3459ddfa7b48497b25fb2f4890e1cc1341e2cf75 Reviewed-on: https://chromium-review.googlesource.com/193620 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4305fea1 2014-04-16T15:12:35 Add a pack buffer storage to BufferStorage11. This new storage implementation uses CPU memory to read back pixel data from a texture. We use this class to implement pack buffers for asynchronous pixel readback. BUG=angle:511 Change-Id: Ifebd242047291af6b34c981231b69987b87d290d Reviewed-on: https://chromium-review.googlesource.com/193243 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 834e8b77 2014-04-11T13:33:58 Move ShaderVariables to common shared source. Also move the block layout encoding utilities to the common folder. The combined changes allow us to include the shader and block code into both libGLESv2 and the translator separately. This in turn fixes the Chromium component build, where we were calling internal translator functions directly from libGLESv2. BUG=angle:568 Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747 Reviewed-on: https://chromium-review.googlesource.com/192891 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 35adc099 2014-04-11T17:49:31 Implement BASE/MAX_LEVEL, and MIN/MAX_LOD functionality. BUG=angle:596 Change-Id: I0c818fdc1575be1ee16966acf7b6daa067a24282 Reviewed-on: https://chromium-review.googlesource.com/193236 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 8de68287 2014-04-04T11:10:27 Implement state tracking for BASE/MAX_LEVEL, and MIN/MAX_LOD. BUG=angle:596 Change-Id: I773720a19b766c7a6930967983db0a34e84f2790 Reviewed-on: https://chromium-review.googlesource.com/193235 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 41d9f7e9 2014-04-11T17:32:55 Move common SRV management into TextureStorage11. BUG=angle:596 Change-Id: I0de2e3826e18ee769c27577b40677f0ca4da083b Reviewed-on: https://chromium-review.googlesource.com/193234 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Nicolas Capens e83fb002 2014-04-11T17:28:13 Homogenize the parameter list for all SRV creation functions. BUG=angle:596 Change-Id: Idd13aea4b4074aabbc4c183a3814226c31dda994 Reviewed-on: https://chromium-review.googlesource.com/193233 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Nicolas Capens a9f85c63 2014-04-11T17:23:29 Cache previously created SRVs. BUG=angle:596 Change-Id: I15ac729388177a2ac89df4caffad5e12c7317bd7 Reviewed-on: https://chromium-review.googlesource.com/193232 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 1d31aca9 2014-04-03T12:45:07 Deduplicate SRV creation. BUG=angle:596 Change-Id: I2f4e0c4dd5c1182db1f67589f72dafef3717b363 Reviewed-on: https://chromium-review.googlesource.com/193231 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 76b258f8 2014-04-03T10:59:42 Rename getBaseTexture to getResource, and refactor swizzleRequired. BUG=angle:596 Change-Id: I72d8796172c5db57ddeb86bbc6c08cbb2ec125f1 Reviewed-on: https://chromium-review.googlesource.com/193230 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 948f5571 2014-04-08T10:26:35 Move the map logic to the buffer storage implementation. Refactoring patch only. BUG=angle:511 Change-Id: Id69efe15ecb32d711a79cc5ff612853e29377368 Reviewed-on: https://chromium-review.googlesource.com/193242 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang cebb5aa0 2014-04-07T14:13:40 Fix warnings about unreferenced local variables. BUG=angleproject:602 Change-Id: I2eb04fe6eed60b3877b14628e81c0b1fe3b68647 Reviewed-on: https://chromium-review.googlesource.com/193431 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 662b8481 2014-04-11T13:10:15 Handle an unknown error when exiting fullscreen on Windows 8. BUG=361553 Change-Id: I6d3e843a8ae06f1bbd5313ed95e338cb0b74fef3 Reviewed-on: https://chromium-review.googlesource.com/194233 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens 655fe36e 2014-04-11T13:12:34 Use shader optimization level 3 selectively. Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3. BUG=angle:603 Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2 Reviewed-on: https://chromium-review.googlesource.com/194129 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 15cba8b1 2014-04-08T10:26:34 Refactor buffer storage to split backing stores. A more flexible representation of a buffer storage implementation allows us to represent storage for D3D11 buffers, and also pack buffer as CPU memory. Refactoring patch only. BUG=angle:511 Change-Id: Ie123099f6217bec6edc98594e49333d16f006a0b Reviewed-on: https://chromium-review.googlesource.com/191033 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill eb9baabb 2014-03-24T13:19:43 Pass pack state arguments instead of split parameters. Similar to unpack state, the PixelPackState struct encapsulates all the parameters related to pixel pack buffers. Passing the packstate makes functions more consise. BUG=angle:511 Change-Id: If6954a5085e9b8f828cfc8892a73e7c7514b0c8a Reviewed-on: https://chromium-review.googlesource.com/191032 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1eb5bd76 2014-03-28T10:43:39 Clamp ReadPixels calls to unsigned limits in D3D11. GL allows reads beyond the defined pixel rectangle, although their resultant values are undefined. D3D11 gives an error when reading out-of-bounds, hence clamping the area satisfies both APIs. This fixes a Renderer crash in our ReadPixels out of bounds test, and also fixes the test to test the correct area of pixels. BUG=angle:590 Change-Id: I12439c22d53ec6a2d69e1b8cf80f53e9c18e11f7 Reviewed-on: https://chromium-review.googlesource.com/191080 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens bf712d0a 2014-03-31T14:23:35 Remove max level from texture storage. BUG=angle:596 Change-Id: I174e3b73c0cb675b5c9aea5722a7051a34639831 Reviewed-on: https://chromium-review.googlesource.com/192340 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens fa7b76d0 2014-03-31T14:51:45 Remove base level from texture storage. BUG=angle:596 Change-Id: I66173f77b6c5aed3b8836cd2c9f1da02ae769429 Reviewed-on: https://chromium-review.googlesource.com/192056 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens f61738a5 2014-03-31T14:50:18 Rename lod offset to top level. BUG=angle:596 Change-Id: Ic256445528d6587adcf0adfd8aaba5e47778988b Reviewed-on: https://chromium-review.googlesource.com/192055 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens e47e7363 2014-03-27T13:34:56 Create a single-level SRV when not mipmapping. BUG=angle:596 Change-Id: Iec5a9e43a23c0743ff8b01985a86a72c5f18a7f7 Reviewed-on: https://chromium-review.googlesource.com/192052 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens a10c1c7e 2014-03-27T11:20:52 Pass all sampler state to getSRV. BUG=angle:596 Change-Id: I4f97ea7c43bf12f5d986db39ae67d87074f98e82 Reviewed-on: https://chromium-review.googlesource.com/192051 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang ca623f3f 2014-03-28T13:43:54 Add a B8G8R8X8 type for mipmaping, reading and writing D3D9 BGR textures. Fixes WebGL D3D9 conformance failures in: context-attributes-alpha-depth-stencil-antialias copy-tex-image-2d-formats.html texture-attachment-formats.html BUG=angle:550 Change-Id: I09d42c5e6cf7d880841207627fd20698ed188a6a Reviewed-on: https://chromium-review.googlesource.com/191935 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 8b4f8f84 2014-03-26T14:01:58 Fix D3D11 resource leaks. A few bugs, like missing destructors or Release calls were leaking D3D resources in a few places on exit. This patch should fix all the unreleased D3D object warnings on exit when running a sample app. BUG=angle:589 Change-Id: Ib50df3229998938cddc2859d6f2d19ddd3a4db47 Reviewed-on: https://chromium-review.googlesource.com/190079 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 0979e7aa 2014-03-27T14:48:39 Fix D3D9 short attributes to int component type. In the component type lexicon, we only use float/int/uint/norm, and we were marking the D3D9 short vertex attributes as short. This fixes the WebGL Test gl-vertexattribpointer-offsets. BUG=angle:550 Change-Id: I3853df8bad5c98b8d0986bfa4ea73d254264ad56 Reviewed-on: https://chromium-review.googlesource.com/191950 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 6e05c272 2014-03-17T10:46:54 Compile shaders with the best profile available. Instead of always compiling D3D11 shaders with shader model 4, compile with the latest profile that the current feature level allows. BUG=angle:495 Change-Id: I478d3d4a1aadf24d893508eee1a8c11e501bc084 Reviewed-on: https://chromium-review.googlesource.com/190340 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4c5c6bbb 2014-02-05T16:32:46 Add support for drawing with transform feedback. BUG=angle:495 Change-Id: Ib9c19130dfbc44a99998c5d6d8160bfc2b683eb9 Reviewed-on: https://chromium-review.googlesource.com/185037 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods b3801744 2014-03-27T14:59:19 Adds support for OES_mapbuffer BUG=angle:581 Change-Id: I05824051789a77c8169ec5830731e6155c507fc4 Reviewed-on: https://chromium-review.googlesource.com/191650 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill f81e69b9 2014-03-26T14:05:48 Make D3D9 default again. BUG=angle:568 Change-Id: I4b60084f2be0c04bb2f7dd78e78e2ef2825adc00 Reviewed-on: https://chromium-review.googlesource.com/191552 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 48dcae7b 2014-02-05T16:28:24 Added transform feedback shader generation. BUG=angle:495 Change-Id: I41a0177fd3eb43c9f4ab9e54faeadac3eb483c2c Reviewed-on: https://chromium-review.googlesource.com/185035 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1b6edcb6 2014-02-03T14:27:56 Add remaining transform feedback queries. BUG=angle:493 Change-Id: I8841af50dcb90e7fb8a811b95d015bfdd2c5d226 Reviewed-on: https://chromium-review.googlesource.com/191035 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1e40d1c9 2014-03-18T22:41:22 Revert "Add remaining transform feedback queries." This reverts commit 4251b75830f91df68df80a096a0713830c73b1cc. Change-Id: I95afebcaf91ee38a121df20f403eb06f19b2510a Reviewed-on: https://chromium-review.googlesource.com/190560 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4251b758 2014-02-03T14:27:56 Add remaining transform feedback queries. BUG=angle:493 Change-Id: Ibeae41da2b83ab63d237912602ba5d2aad0bbec2 Reviewed-on: https://chromium-review.googlesource.com/185036 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill e708fc02 2014-03-17T10:23:18 Only use map-write instead of map-write-discard. In D3D11, map-discard is reserved for DYNAMIC usage buffer, which are resources that live on the GPU. Staging buffers don't have the notion of map-discard, and using them with discard gives a D3D11 error. This patch fixes crashes in dEQP buffer.map.write.invalidate. BUG=angle:587 Change-Id: Ie225e72d4e226c69e73826c9fb67bbb940bbc466 Reviewed-on: https://chromium-review.googlesource.com/190072 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0c66720a 2014-03-17T10:06:09 Fix unsigned integer R10G10B10A2 vertex formats. We were incorrectly setting the signed parameter to true in the vertex format table. This fixes a dEQP test in vertex_arrays.output_types. BUG=angle:586 Change-Id: I84dcdee89a95369cc8e41d451f96dbb8daa37b6d Reviewed-on: https://chromium-review.googlesource.com/190056 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 626d54e8 2014-02-07T14:24:12 Disable MRT support when using D3D10 feature levels. D3D10 cards perform poorly when the pixel shader outputs to multiple render targets that are not bound. BUG=325581 Change-Id: I13f6f98861ffeb77cd21f7401ded4425e4ea7841 Reviewed-on: https://chromium-review.googlesource.com/185400 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/190341