Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| cebb5aa0 | 2014-04-07 14: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> | ||
| 662b8481 | 2014-04-11 13: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> | ||
| 655fe36e | 2014-04-11 13: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> | ||
| 15cba8b1 | 2014-04-08 10: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> | ||
| eb9baabb | 2014-03-24 13: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> | ||
| 1eb5bd76 | 2014-03-28 10: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> | ||
| bf712d0a | 2014-03-31 14: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> | ||
| fa7b76d0 | 2014-03-31 14: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> | ||
| f61738a5 | 2014-03-31 14: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> | ||
| e47e7363 | 2014-03-27 13: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> | ||
| a10c1c7e | 2014-03-27 11: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> | ||
| ca623f3f | 2014-03-28 13: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> | ||
| 8b4f8f84 | 2014-03-26 14: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> | ||
| 0979e7aa | 2014-03-27 14: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> | ||
| 6e05c272 | 2014-03-17 10: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> | ||
| 4c5c6bbb | 2014-02-05 16: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> | ||
| b3801744 | 2014-03-27 14: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> | ||
| f81e69b9 | 2014-03-26 14: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> | ||
| 48dcae7b | 2014-02-05 16: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> | ||
| 1b6edcb6 | 2014-02-03 14: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> | ||
| 1e40d1c9 | 2014-03-18 22: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> | ||
| 4251b758 | 2014-02-03 14: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> | ||
| e708fc02 | 2014-03-17 10: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> | ||
| 0c66720a | 2014-03-17 10: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> | ||
| 626d54e8 | 2014-02-07 14: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 | ||
| 7840b170 | 2014-03-13 11:20:44 | Cache bound vertex and index buffers by ID3D11Buffer instead of serial. Since a DirectBuffer11 may return different buffers from getBuffer depending on the required buffer type and if the internal buffers are dirty or not, the current serial is not reliable. Use the actual buffer object so that there can be no missmatch. BUG=350581 Change-Id: I6ea1616273346117a17646edb68e6518e584f2b1 Reviewed-on: https://chromium-review.googlesource.com/189435 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| eeba6e1e | 2014-02-03 13:12:30 | Added methods for applying the current transform feedback buffers. BUG=angle:495 Change-Id: I2d9fbf9c245bc519b8c5a724ca3912aaa7a23d97 Reviewed-on: https://chromium-review.googlesource.com/185034 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| ca442ba4 | 2014-03-05 09:53:30 | Fix default bits for 3-channel un-normalized int. GPU conversion means we should be using a default of 1 as for int types instead of the MAXINT value for normalized types. Fixes the WebGL test for vertex attribs with offsets. BUG=angle:550 Change-Id: I1aa1b1bae2282e8eda96366adeec492ffe1d5728 Reviewed-on: https://chromium-review.googlesource.com/188433 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 2f612290 | 2014-03-05 09:53:29 | Combine widen and defaultBits params of copyVertexData. Since we never, and never will use a default value of zero for the alpha channel, we can use a value of zero to indicate no widening. This has the benefit of not needing a default value where it does not apply. BUG=angle:550 Change-Id: Ifdfedcb16039aa1d7f8ee644b65c6b4d89f9a384 Reviewed-on: https://chromium-review.googlesource.com/188432 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 0027fa9f | 2014-02-20 14:26:42 | Emulate integer cube texture sampling as an array of six 2D textures. BUG=angle:525 Change-Id: I3c3ec2cecebf9e745f0c02a132433e3076a6fdea Reviewed-on: https://chromium-review.googlesource.com/187534 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 9533dcd3 | 2014-02-24 15:27:20 | Implement BufferStorage11 mapping functions. BUG=angle:565 Change-Id: I4f416981bc63098f0364653ff279b3f54eeb756e Reviewed-on: https://chromium-review.googlesource.com/186979 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| d9fa3b94 | 2014-02-19 10:30:51 | Add Map-related stubs to BufferStorage. BUG=angle:565 Change-Id: I7db13e8e5fb386f5e40dd2a2e273e35f01c1f28c Reviewed-on: https://chromium-review.googlesource.com/186978 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 5d64cafa | 2014-02-11 10:23:34 | Fix multiple variables named i in the same scope. Change-Id: I575e1d80d103f554892feb6369e9b76c199bf20a Reviewed-on: https://chromium-review.googlesource.com/185881 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 5c9a29ab | 2014-02-11 10:26:24 | Fix redefinition of variables. Change-Id: I04b0577c8af45fca938d8fb7cf0b9fe2eadafcf2 Reviewed-on: https://chromium-review.googlesource.com/185883 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 7bee6395 | 2014-02-11 10:25:07 | Fix incorrect cast. Change-Id: I1a41593dbe598dfef301c9df0f47a5105b5705cf Reviewed-on: https://chromium-review.googlesource.com/185882 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 8e32884a | 2014-02-10 13:11:20 | Remove dependence on dxguid.lib for release builds. BUG=angle:559 Change-Id: I10c93b312b4bf206e45d061eace2d00e598403bd Reviewed-on: https://chromium-review.googlesource.com/185690 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 94a9089b | 2014-02-18 17:14:19 | Detect cross-process HWNDs and verify DXGI 1.2 exists in D3D11. DXGI 1.2 is required to create a swap chain for a HWND owned by another process. This fix will allow us to fall back to creating a Renderer9 if DXGI 1.2 is not available instead of failing to create the swap chain later. BUG=angle:562 Change-Id: I01b08ffb262bc3f9c86d244168df14eba52c5bdc Reviewed-on: https://chromium-review.googlesource.com/186980 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 496123fd | 2014-02-12 11:33:51 | Implement EXT_blend_minmax. BUG=angle:555 Change-Id: I1ae6a9783e718d16ee08bda5463f11cd52ad0967 Reviewed-on: https://chromium-review.googlesource.com/186123 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 2a419244 | 2014-02-10 13:00:44 | Add defines to enable or disable specific renderers. BUG=angle:559 Change-Id: I88c168205b142701ec843aa394c82c3a5857ed0d Reviewed-on: https://chromium-review.googlesource.com/185569 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| d2d648cc | 2014-01-29 09:27:10 | Enable GPU dynamic conversion for unnormalized int formats. This patch turns on the dynamic conversion logic for integer formats that we must convert to floating point for ESSL 1.0 compatibility. The converted formats are 1, 2 and 4 channel unnormalized integer. BUG=angle:560 Change-Id: I3bcc45f1103290613029bc54fdd6012dddb0a03d Reviewed-on: https://chromium-review.googlesource.com/186700 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| dad5ed39 | 2014-02-10 12:59:17 | Refactor HLSL compilation out of Renderer. This moves the start-up and tear-down code for D3DCompiler.dll into an object that Renderer9 and Renderer11 use. This will help future efforts to remove references to HLSL at the GL/Renderer interface level. BUG=angle:558 Change-Id: I18fcf9b237265d69c1d7d2ea345696c8fd31df29 Reviewed-on: https://chromium-review.googlesource.com/185568 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c5a83000 | 2014-02-14 16:41:25 | Store multiple vertex executables in the program binary. With dynamic vertex conversion the GPU, we will have different input layouts resulting in different executables. This patch adds a way of mapping the input layouts to vertex executables. BUG=angle:560 Change-Id: Ie36f2f8ac2dfcb96f562af577d31f57d6d89b447 Reviewed-on: https://chromium-review.googlesource.com/185192 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 5f562735 | 2014-02-14 16:41:24 | Moved all HLSL-related code from ProgramBinary to DynamicHLSL. DynamicHLSL encapsulates all HLSL generation we need outside the the shader translator, such as for linking between input and output stages and point sprite geometry shaders. BUG=angle:560 Change-Id: Ib5079aa102000a7c37b166bcbe26b09cc82f8932 Reviewed-on: https://chromium-review.googlesource.com/185191 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| e8bc3193 | 2014-02-14 13:04:03 | Optimize masked clearing of missing channels. Instead of doing a masked clear when a texture has mismatched channel counts, set the clear color to the default for the missing channels and do a regular clear. This catches es3proto up to master in terms of clear performance. BUG=angle:557 Change-Id: I4f16976154af7735f5bb2b0b17adb3a264872ec0 Reviewed-on: https://chromium-review.googlesource.com/186611 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 5f6937ca | 2014-02-12 17:15:22 | Align static and streaming vertex data to 16-byte boundaries. Certain vertex formats using fewer than 4 bytes could confuse our buffer code, giving us improperly aligned offsets. Aligning vertex data across the board should fix the problem, and minimal cost. Change-Id: I6884b4ddcfb91ef309a970593aaf7932cb65712e Reviewed-on: https://chromium-review.googlesource.com/185196 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 7ea42a55 | 2014-02-10 12:49:15 | Move ShaderCache.h to the d3d directory. Change-Id: I56e0f5ff11cebd8b9415081b930a804dcce9530c Reviewed-on: https://chromium-review.googlesource.com/185566 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0bf3a982 | 2014-02-11 09:40:48 | Fix variable being used to initialize itself. Change-Id: Ied10d866627485c6cd3eb09e23c14937efc465f4 Reviewed-on: https://chromium-review.googlesource.com/185864 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 1cd1b213 | 2014-02-11 09:42:27 | Fix wrong variable being compared. Change-Id: I83b68286b6f3dd369081cb2188af27c86b3de6eb Reviewed-on: https://chromium-review.googlesource.com/185865 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 03ef7406 | 2014-02-11 09:40:20 | Fix comparing blend states with the wrong structure size. Change-Id: I0e4c79cb7eaacf5403203b7b65094a54405ad47a Reviewed-on: https://chromium-review.googlesource.com/185863 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 37dde692 | 2014-01-31 16:34:54 | Add support for transform feedback queries. Change-Id: I0aab43b146f87259898db57acb9f74fdbfdb1b96 Reviewed-on: https://chromium-review.googlesource.com/184580 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 0550d038 | 2014-01-30 11:29:07 | Implement GL_RASTERIZER_DISCARD. BUG=angle:498 Change-Id: Ib60c39e206003ae67c93769e35f7f9ef790ce9f4 Reviewed-on: https://chromium-review.googlesource.com/184396 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| a5e44c92 | 2014-02-04 16:04:15 | Relax alignment restrictions to allow more direct storage. Our restriction to 4-byte alignments caused us to always convert formats like R8 or R16, or R8G8 instead of allowing D3D to handle these formats naturally. From experimentation the proper rule seems to be "4-bytes, unless the vertex format is 1- or 2-byte size." I couldn't find supporting documentation on MSDN, but it seems common sense. Change-Id: I9e38fe86790e34024d1ae912a809a3d3cdc02ccf Reviewed-on: https://chromium-review.googlesource.com/184523 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| a5d67475 | 2014-02-04 16:04:13 | Remove VertexBuffer::requiresConversion. Since we now have Renderer methods to query formats for vertex inputs, we can get rid of the remaining calls to VertexBuffer which we used to query properties of vertex formats. Change-Id: I9e57d1d9bf80296aef271877fdd97a16d29114af Reviewed-on: https://chromium-review.googlesource.com/184522 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 95ffb868 | 2014-01-29 09:26:59 | Add vertex format queries to Renderer. With the new support for vertex formats living in the format utils, we can use the Renderer class to query vertex properties instead of the VertexBuffer class. Change-Id: Id76bd4dbf63855016faccef703521887f50da3b9 Reviewed-on: https://chromium-review.googlesource.com/184521 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 80177879 | 2014-02-04 16:04:10 | Move D3D9 vertex format tables to formatutils9. Vertex format information is useful for querying format properties with the new vertex translation logic with dynamic shaders. Change-Id: I1935c75f1e3920dc1d4a364a2d6968c82692e476 Reviewed-on: https://chromium-review.googlesource.com/184520 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> | ||
| 7ab02faf | 2014-02-04 16:04:08 | Add D3D11 vertex format tables to our format utils. Moving the vertex format information to a globally accessible helper file makes them available for the dynamic shaders logic. Change-Id: I67d6280c0603d9c601ca504751c8905677c2426f Reviewed-on: https://chromium-review.googlesource.com/184399 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 3078d0f7 | 2014-02-04 16:04:06 | Add VertexFormat internal struct to represent vertex inputs. A VertexFormat is similar to a simplified VertexAttribute, without extra unncessary data. VertexFormats will be useful for GPU vertex conversions with dynamic shader compilation. Change-Id: I4e60e0a12d5f081fb52d95c8977c43d481b33bff Reviewed-on: https://chromium-review.googlesource.com/184398 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 8ff21aea | 2014-02-04 16:04:05 | Move storage for uniform blocks to the program binary. With dynamic shaders we may have multiple shader executables per program binary. We must store the uniforms outside the executable, in the program binary, to be consistent between variations. Change-Id: I1b29a5d78c72dede8562d4878569b609536ba074 Reviewed-on: https://chromium-review.googlesource.com/183586 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| c47a678a | 2014-02-04 16:04:03 | Move the storage for uniform blocks to its own class. With dynamic shaders we may have multiple shader executables per program binary. We must store the uniforms outside the executable, in the program binary, to be consistent between variations. Change-Id: I1bec83dfb83ee9bb422448b157338a46e8e7ba56 Reviewed-on: https://chromium-review.googlesource.com/183585 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| ecc8b6f4 | 2014-01-30 10:44:23 | Refactor BufferStorage11. In preparation for transform feedback, BufferStorage11 needs to be able to handle a non-staging buffer being updated. Each D3D11 buffer now has an incrementing data revision associated with it so the most up-to-date buffer is always known. Staging buffers are now represented like any other DirectBuffer. Change-Id: I6e881867cb2bd02d600213d08cce3ebba316c525 Reviewed-on: https://chromium-review.googlesource.com/184395 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 826f3d30 | 2014-01-29 09:26:49 | Add a GetComponentType method to query a DXGI format. Also add a few missing DXGI formats related to vertex inputs. Change-Id: Ia39234a164000d11eef3806ba4f06b6426f1cbb7 Reviewed-on: https://chromium-review.googlesource.com/183584 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 9eeecfc2 | 2014-01-29 09:26:48 | Split DXGI format info to a GL mapping and info block. The GL mapping depends on context client version (for certain depth textures), but the DXGI base format info is consistent across versions. Also add DXGI component type information to the table, and add a few missing formats related to vertex inputs. Change-Id: I2d1a8ca92b1cb39f4592d94d7d435ae0ada1de65 Reviewed-on: https://chromium-review.googlesource.com/183583 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 6246dc8f | 2014-01-29 09:26:47 | Track dirty D3D shaders instead of program serial. With dynamic shaders, we can have multiple vertex shaders in one program binary. Hence the binary serial by itself isn't enough to determine when we need to apply new shaders to D3D. Change-Id: I5a8b8616d353b506790ffc809e2d459bfc2b831d Reviewed-on: https://chromium-review.googlesource.com/184370 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 648c9683 | 2014-01-21 16:50:58 | Minor optimizations to texture functions. By shuffling some parameters and calls around we can reduce the number of function calls we run for texture operations. Change-Id: If6d14cb6dff668cdfcb2f1fe6705e0d488dbc03f Reviewed-on: https://chromium-review.googlesource.com/183582 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| ec91cd32 | 2014-01-21 16:38:12 | Clamp stencil reference value to D3D11 8-bit limitations. D3D11 can only mask 8 bits of a stencil reference value, so the upper bits are ignored. GL, however, expects the reference value to be able to scale to 32-bits. We will expect to fail certain edge cases where the reference value, and mask, both use particular 9+ bit values. Change-Id: I8c7451270d9e40310f4154955d38e51bbf7de4df Reviewed-on: https://chromium-review.googlesource.com/181555 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 24112d68 | 2014-01-21 16:39:19 | Only use 4-channel shaders for unpack buffers. D3D11 supports sampling other channel sizes of backing object and declaring them as 4-vectors in HLSL. This allows us to simplify the logic for fast unpack shaders significantly. Source: http://msdn.microsoft.com/en-us/library/windows/desktop/bb509700(v=vs.85).aspx (Default Values for Missing Components in a Texture) Change-Id: I7f645372f266f57bd94cdb1c795f1d30bf2a60a4 Reviewed-on: https://chromium-review.googlesource.com/181901 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 9c53f1e9 | 2014-01-08 13:41:47 | Add more D3D11 buffer usages. Works around performance regressions when index and vertex buffer bind flags are used on the same buffer. Change-Id: I28bc0d3147c6bd70cec507f20e41d97ec4cc45a5 Reviewed-on: https://chromium-review.googlesource.com/181911 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 91382e55 | 2014-01-07 16:16:30 | Renderer11 tracks applied textures as SRVs. Since swizzled textures have multiple SRVs and the same serial, it was possible that the bound SRV would not be updated if the texture became swizzled while already bound. Change-Id: Id06e82f4002aa7f7661c7a69243692aa65a83b48 Reviewed-on: https://chromium-review.googlesource.com/181772 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 67938efc | 2014-01-07 16:17:21 | Added missing depth swizzle backing formats and fixed compressed texture bit calculation. Change-Id: I2390ace1fe5297f9fcad0c873c55dae564a09c43 Reviewed-on: https://chromium-review.googlesource.com/181773 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| d2a88381 | 2014-01-06 14:03:51 | Fix improper deferencing of a zero-size vector. When doing a masked clear with only a depth-stencil buffer, we would look for the zero-th element of an empty vector. Change-Id: I17d61cf582c6e91fd46f8a8e13e35c6d32dfa109 Reviewed-on: https://chromium-review.googlesource.com/181554 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 80b5a55e | 2014-01-03 10:57:11 | Fix compressed formats breaking swizzle bits checks. We defautled to zero max bit depth, which breaks the swizzle format lookup. Change-Id: I4d1cd8bcfb79db3460950fa22630c259f90fa432 Reviewed-on: https://chromium-review.googlesource.com/181481 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Jamie Madill <jmadill@google.com> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 13a2f85b | 2013-12-11 16:35:08 | Implement max elements indices and vertices. ES3 has integer queries for the maximum recommended number of vertices and indices per draw call. These are roughly correlated to D3D's resource limits -- however, while ES3 has recommended limits D3D has hard limits. Change-Id: Ib653bc27e61607c78d0c5e70b0d97fea7af6464f Reviewed-on: https://chromium-review.googlesource.com/179670 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org> | ||
| cd65ae16 | 2013-12-17 15:20:14 | Trigger lost device on an error in D3D9 Present. This fixes device remove handling on AMD systems, as well as notifying the app layer there may have been an internal problem during Present. BUG=313210 Change-Id: I843ffb3946dd9ef34fbd24b3a46a7b97e3c0fd16 Reviewed-on: https://chromium-review.googlesource.com/179140 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/180450 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 3b866b6c | 2013-09-30 15:21:00 | Clear11 will not clear channels that are not supposed to exist in the render target's format. Change-Id: I9c2bb927ec63d67d315893d44f199ceab4b5df82 Reviewed-on: https://chromium-review.googlesource.com/176856 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| c142e9da | 2013-09-30 15:19:47 | Renderer classes now set their blend states to mask out channels that do not exist in the render target. Change-Id: Ia49bf8de07bbdfa31275ec9835de28adc3717485 Reviewed-on: https://chromium-review.googlesource.com/176855 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| f8c2f5cb | 2013-12-05 13:52:33 | Fix indices not being offset to the bound vertex buffer when drawing indexed points in D3D9. bug=angle:535 Change-Id: I5b86874cddbd3b90fe141e94085f5a4afb9f3db3 Reviewed-on: https://chromium-review.googlesource.com/179101 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 34256ed8 | 2013-09-30 15:15:52 | Image and RenderTarget classes now initialize their textures if required. Change-Id: I2cce6f4ffdc7e2a6c23c50d663c6316f9b125880 Reviewed-on: https://chromium-review.googlesource.com/176854 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 0c99b1b0 | 2013-09-30 15:07:43 | Add functions to check if texture data initialization is required. Change-Id: I54c3b90780c304d6001b9e52278672981c96cb83 Reviewed-on: https://chromium-review.googlesource.com/176853 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 2916b30e | 2013-11-28 13:41:10 | Removed extra AddRef and Release calls on D3D11 objects. Change-Id: I5918c67735658912663c79e964b8edfb288784a3 Reviewed-on: https://chromium-review.googlesource.com/178450 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| fa3d9f30 | 2013-12-03 16:58:17 | Fix swapchain resize errors when sizing to 0 width or height. BUG=angle:519 Change-Id: I3d3d0746b2b3027d04c91cc5fdcd301930e3b22a Reviewed-on: https://chromium-review.googlesource.com/178439 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 88f779dd | 2013-12-03 10:57:56 | Fix device removed handling for systems which do not immediately allow recreating a new device. On Intel systems there's a cool-down period when you must wait before recreating the device. BUG=313210 Change-Id: I22cdf41eecf0eae5058b59e1b0863173d604d606 Reviewed-on: https://chromium-review.googlesource.com/178437 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> | ||
| a049fe1e | 2013-12-02 13:14:57 | Add NULL init for swizzle SRVs with eglBindTexImage textures. Change-Id: I8a1069013f37988632db07359d65f8215041978e Reviewed-on: https://chromium-review.googlesource.com/178431 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org> | ||
| 42477a43 | 2013-09-17 17:07:02 | Renderer11 now generates swizzles and invalidates the cached swizzles. Change-Id: If5c998a91195942297beeb26a0ec635ff6a466ea Reviewed-on: https://chromium-review.googlesource.com/177035 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| e2e0ce0c | 2013-09-17 17:05:08 | Context now detects if a texture needs to be swizzled and calls Renderer::generateSwizzles. Change-Id: I89f30e028b1d6ec384536cdbeedd91bb98359e8f Reviewed-on: https://chromium-review.googlesource.com/178440 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 644bbf24 | 2013-09-17 17:02:43 | Added a swizzle cache to TextureStorage11. Change-Id: Iebf297ef5b8560bb468428fc369eb3df8f43ec11 Reviewed-on: https://chromium-review.googlesource.com/177032 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 00f6bc32 | 2013-09-20 14:59:06 | Add GetSwizzle*Format functions to formatutils11. Change-Id: Idcd4aa5fd18c1629168ba7cdd41e8fb3f6c3ead3 Reviewed-on: https://chromium-review.googlesource.com/177031 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| ed883f54 | 2013-09-10 17:20:54 | Added a swizzleTexture method to Blit11. Change-Id: I0af836f761893c8928a84d138a6b2d07a3e04da6 Reviewed-on: https://chromium-review.googlesource.com/176989 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> | ||
| 3c9eeb97 | 2013-11-04 11:09:26 | Disable optimizations for shaders with conditional discard in D3D9, and only use expanded short-circuiting conditionals for expressions with potential side-effects. Conservatively assume aggreate and selection operators have side effects for now. BUG= ANGLEBUG=486 R=geofflang@chromium.org, kbr@chromium.org, nicolas@transgaming.com, shannonwoods@chromium.org Review URL: https://codereview.appspot.com/14441075 Conflicts: src/common/version.h src/compiler/translator.vcxproj src/compiler/translator.vcxproj.filters src/compiler/translator/OutputHLSL.cpp src/libGLESv2/ProgramBinary.cpp src/libGLESv2/Shader.cpp src/libGLESv2/Shader.h Change-Id: Iaf9f10b5de7b33c927ef032f3c4fe9d5095f64dd | ||
| 5a60b739 | 2013-11-26 09:49:23 | Ensure stream source frequency for stream 0 is set to 1 in swapRect for D3D9. This prevents D3D errors which we could see when using the Debug runtime. BUG=321834 Change-Id: I1dd66d9d80def5e558fc13c218fde9c4047ab2b4 | ||
| b7935e51 | 2013-11-20 15:47:47 | Proper handling of D3D9Ex device removed. BUG=313210 Change-Id: I85dae10bc2ec38a1e9c09f318b8f6b9196466d60 | ||
| 1293cf4b | 2013-11-21 18:33:44 | Merge "Renamed some Blit11 types and methods to imply they are for blitting (as opposed to swizzleing)." into es3proto | ||
| 453aaba4 | 2013-11-20 11:02:23 | Don't let mBufferSize fall out of sync with the actual buffer size. Pervents unnecessary buffer re-creations. Change-Id: Ie40300865dcd7830fe8eafbccfaa3edad46c7b52 | ||
| 26533604 | 2013-09-09 16:41:42 | Renamed some Blit11 types and methods to imply they are for blitting (as opposed to swizzleing). | ||
| 95f9f986 | 2013-10-21 17:09:19 | Remove use of DXGI_FORMAT_R32G32B32_FLOAT as a backing format for GL_LUMINANCE32F_EXT. TRAC #24036 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods | ||
| 89bf4bff | 2013-10-31 10:32:46 | Fixed a bug where the vertex data manager was not caching the current value attributes properly. ANGLEBUG=489 Review URL: https://codereview.appspot.com/18670043 | ||
| 1ec57f80 | 2013-10-16 11:43:23 | Add support for GL_EXT_color_buffer_float. TRAC #23794 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods | ||
| 6b7440ca | 2013-10-24 17:49:47 | Remove TextureStorage::GetActualLevelCount. TRAC #23978 | ||
| 4cfff5f3 | 2013-10-24 17:49:46 | Modify texture storage classes to store a base and max level, instead of a range of levels. TRAC #23978 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods | ||
| b16b8ed7 | 2013-10-24 17:49:45 | Add helper functions for returning the dimensions of a level in a texture storage. TRAC #23978 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods | ||
| 169d1118 | 2013-10-24 17:49:37 | Rename Texture and Image methods which operate on storage objects to refer to storage instead of textures. TRAC #23961 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods |