|
6053a52e
|
2014-07-25T16:22:09
|
|
Moved some validation back to Texture, unified all TextureImpl variants
BUG=angle:688
Change-Id: Ie2df18277c84345fceaa31d4f63f5cbbb47540c6
Reviewed-on: https://chromium-review.googlesource.com/211387
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
299fcf29
|
2014-08-06T16:46:54
|
|
Fix swizzle formats being assigned incorrectly.
* Non-4 component formats cannot be used as swizzle formats.
* Unsized formats should not have swizzle formats.
BUG=angle:721
Change-Id: Ic4e2642f5dc4c9811768961fbab00f6edd200ce1
Reviewed-on: https://chromium-review.googlesource.com/211241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
20ba154c
|
2014-08-11T17:14:44
|
|
Initialize TranslatedAttributes
BUG=398337
Uninitialized TranslatedAttributes were causing false positives
in checks for nonzero attrib divisor.
Change-Id: I44655d3fbe4f5478ca3757e05db38799d014e4c7
Reviewed-on: https://chromium-review.googlesource.com/211931
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
09cf736b
|
2014-08-08T15:41:01
|
|
Fix application of vertex divisor for non-instanced draws in D3D9
BUG=398337
*Re-land*
ANGLE_instanced_arrays defines the behavior of the non-instanced
draw calls (glDrawArrays, glDrawElements) such that they behave as
single-instance draws, so the vertex divisor should still apply. We
were handling this correctly in D3D11, but not D3D9.
This fixes a new WebGL conformance test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/angle-instanced-arrays.html
Change-Id: I5ed09d41229c8996a78a3b55893c6a655a423644
Reviewed-on: https://chromium-review.googlesource.com/211930
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
6f4423af
|
2014-08-10T13:54:45
|
|
Revert "Fix application of vertex divisor for non-instanced draws in D3D9"
Other issues turn up on the FYI bots with this patch applied; reverting until this is investigated further.
This reverts commit 9f6907bfdd4cf95d20408831b1776a6efd221ab3.
Change-Id: Ib30c51b2c905e87973c73b06baa4b8ebba31d210
Reviewed-on: https://chromium-review.googlesource.com/211683
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
9f6907bf
|
2014-08-08T15:41:01
|
|
Fix application of vertex divisor for non-instanced draws in D3D9
BUG=398337
ANGLE_instanced_arrays defines the behavior of the non-instanced
draw calls (glDrawArrays, glDrawElements) such that they behave as
single-instance draws, so the vertex divisor should still apply. We
were handling this correctly in D3D11, but not D3D9.
This fixes a new WebGL conformance test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/angle-instanced-arrays.html
Change-Id: Ib50e189d866d6dc97612e46460db4ca1723b3662
Reviewed-on: https://chromium-review.googlesource.com/211445
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
cef06ff2
|
2014-08-05T13:27:48
|
|
Unifying the various texture interfaces where possible
Also fixed diamond inheritance pattern that was causing trouble
on Windows 8
BUG=angle:688, angle:720
Change-Id: I678826bd4f3927c68ca1eb2e018dbb5aad33a8cc
Reviewed-on: https://chromium-review.googlesource.com/211037
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
366ac1e3
|
2014-07-07T14:37:57
|
|
Remove the unusused Renderer::getSRGBSupport method.
BUG=angle:658
Change-Id: I3c8331dfc9c1046b528e9c4a7da3411d84f8ae3c
Reviewed-on: https://chromium-review.googlesource.com/207120
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f049e804
|
2014-08-04T13:10:27
|
|
Fix wrong comparison in Buffer ASSERT.
We were using >1 instead of <=1. Caused false errors in Debug.
BUG=angle:716
Change-Id: I7072df99f208bd2e0a687143faeef6c9be79728e
Reviewed-on: https://chromium-review.googlesource.com/210990
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
91fa9ce4
|
2014-07-04T17:30:27
|
|
Simplify formatutils9 by exposing the internal structures.
BUG=angle:658
Change-Id: I8134cde4d72796c51613594e15aded86e83c4af7
Reviewed-on: https://chromium-review.googlesource.com/206837
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6ba451ba
|
2014-08-04T11:59:23
|
|
Fix single buffer copies.
In D3D11, the device doesn't allow overlapped buffer copies unless
the D3D11_FEATURE_DATA_D3D11_OPTIONS::CopyWithOverlap feature is
enabled. This isn't technically available until D3D11.1.
Get around the restriction by using a different storage buffer as
the source of the copy.
Fixes funcional.buffer.copy.single_buffer.* in dEQP.
BUG=angle:715
Change-Id: I03fea8a1c6180a29e07e05022e3454524e320803
Reviewed-on: https://chromium-review.googlesource.com/210902
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
2c976a44
|
2014-08-04T11:37:53
|
|
Prettify HLSL compile retry error messages.
We were inserting excess newlines in several places.
Change-Id: I746334d3696e9e3be585ab02074384ae63535ea5
Reviewed-on: https://chromium-review.googlesource.com/210823
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
9aa00bbc
|
2014-07-07T12:33:25
|
|
Simplify formatutils11 by exposing the internal structures.
BUG=angle:658
Change-Id: I8a4ce5f45054a1fa829a9647a94cf2bd0ba93bc0
Reviewed-on: https://chromium-review.googlesource.com/206836
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aff8084b
|
2014-08-04T10:47:56
|
|
Fix VertexBuffer11::getSpaceRequired for instanced attribs.
The computation could copy more data than needed. Although benign
it could cause performance degredation compared to the D3D9 back
end.
Change-Id: I3cf1dc79085c33d44040fd55153e63a4e5e63cb1
Reviewed-on: https://chromium-review.googlesource.com/210640
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
5d601382
|
2014-07-22T15:14:06
|
|
Simplify formatutils.h by exposing the info structures.
Removed all the separate query functions and simply expose the internal
info structures. This reduces the number of std::map/std::set operations
that were hidden behind the API.
Moved the validation tables for ES3 format combinations and effective
internal formats into validationES3.cpp so that formatutils.h only has
generic GL format queries.
BUG=angle:658
Change-Id: Ieb60d42b8eafcdb4f21dcbec130b39478ce5f7c5
Reviewed-on: https://chromium-review.googlesource.com/206835
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5c1e58d0
|
2014-08-04T10:47:58
|
|
Add missing cache clears to D3D buffer classes.
BUG=angle:709
Change-Id: I93f92b916a0da26975cd459399cc2873cb4ab9f0
Reviewed-on: https://chromium-review.googlesource.com/210642
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
cfaaf72f
|
2014-07-31T10:47:54
|
|
Fix CopyBufferSubData.
We were passing the arguments from the gl::Buffer stub to the
implementation class, which was breaking the call.
Also clean up a few comments.
BUG=angle:709
Change-Id: Ib92a36d1c52d60d8929f567d0daf54e9d6a2d127
Reviewed-on: https://chromium-review.googlesource.com/210641
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
f8bdfebc
|
2014-07-31T18:31:28
|
|
Revert "Unifying the various texture interfaces where possible"
This reverts commit 8c9038d6f57a4b53c97c4fb803259e7a50ab4cea.
Change-Id: I29c25121870e6f8d12144d235029f46fff90be7c
Reviewed-on: https://chromium-review.googlesource.com/210651
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8c9038d6
|
2014-07-21T09:43:22
|
|
Unifying the various texture interfaces where possible
BUG=angle:688
Change-Id: I43be738e0a42f7a7e1448e1d9300b30d4bc54125
Reviewed-on: https://chromium-review.googlesource.com/209343
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
4fbd36ec
|
2014-07-29T15:20:48
|
|
Add a test for multisampled PBOs.
We don't allow ReadPixels from multisampled targets in GL.
Also update the assertions in Buffer11 to reflect our expectations.
BUG=angle:511
Change-Id: Ia3d5f796f5405fbae1187f3d45b0080d7f24b6d9
Reviewed-on: https://chromium-review.googlesource.com/210053
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
5f4c4636
|
2014-07-03T13:46:52
|
|
Use the FormatCaps for multisample validation and queries.
BUG=angle:658
Change-Id: Ic9fa53fb62d7eff62f07b68d7ddada461ecad859
Reviewed-on: https://chromium-review.googlesource.com/206832
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8d62bcc4
|
2014-07-25T15:08:21
|
|
Avoid D3D11 primitive restart index using 32-bit indices
D3D11 interprets an index value of 0xFFFF in a 16-bit index buffer as a
primitive restart marker. This behavior can't be toggled off.
http://msdn.microsoft.com/en-us/library/windows/desktop/bb205124(v=vs.85).aspx
We work around it by converting to 32-bit indices.
BUG=angle:708
Change-Id: Ibc92d6ba98e5f11a98d76cae14f90ca050a19964
Reviewed-on: https://chromium-review.googlesource.com/209883
Tested-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6b19b002
|
2014-07-16T14:32:05
|
|
Removing D3D-isms from gl::Texture
BUG=angle:688
Change-Id: I0cdc758000993f2d54240c69a84f5ae149306d9e
Reviewed-on: https://chromium-review.googlesource.com/209332
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
07d49ef5
|
2014-07-25T11:52:38
|
|
Fix Clang warning with preloaded D3DCompiler string.
Clang was complaining that we were casting a char* to a wchar_t*.
BUG=angle:707
Change-Id: I063165e9add4e9b57d131181da30c05e5abbc1c2
Reviewed-on: https://chromium-review.googlesource.com/209618
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a09403c0
|
2014-07-21T10:03:36
|
|
Fix masked ClearBuffer.
We were not properly setting the masked channels for these APIs.
Since we use a std::vector for tracking the render targets for
a particular ClearBuffer call, we lose the indexing into the
clear parameters. Fix this by storing the information in the
std::vector along with the Render Target.
BUG=angle:702
Change-Id: Ie3b1e870aa04054411c4f155682b86a340ec00cf
Reviewed-on: https://chromium-review.googlesource.com/209103
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cafa2102
|
2014-07-23T16:43:22
|
|
Fix Clang warnings.
MSVC's more permissing validator missed a dependent typename, and
deleting a void pointer.
BUG=angle:703,704
Change-Id: I227b94c9c1590973d7b11b0ed0bfda32f2a71cec
Reviewed-on: https://chromium-review.googlesource.com/209613
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5063f55a
|
2014-07-23T16:27:31
|
|
Add a MemoryBuffer type to safely allocate large user data buffers.
MemoryBuffer has a similar interface to std::vector but returns a bool on
resize to do error checking.
BUG=angle:700
Change-Id: Ib201eeb91b07f5b7f970e153f5d1e110f9b2fa55
Reviewed-on: https://chromium-review.googlesource.com/209612
Reviewed-by: Nico Weber <thakis@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
142ec426
|
2014-07-16T10:31:30
|
|
Refactored Texture2DArray, separated out D3D logic
BUG=angle:688
Change-Id: Ie3e5ac2bedcffb816ef1537575f09afb3f5e7a35
Reviewed-on: https://chromium-review.googlesource.com/208381
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
18fe4294
|
2014-07-22T13:03:06
|
|
Added virtual destructors to VertexArrayImpl and BufferImpl
Change-Id: Ib9d8b2fc85b63f0cd52a2b19129a88ba7acbc017
Reviewed-on: https://chromium-review.googlesource.com/209380
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
6cf8e1b9
|
2014-07-03T13:03:57
|
|
Reduce the number of TextureFormatCaps members.
Since GL has no notion of texture formats that can be used for different
types of textures, merge the TextureFormatCaps texture support members.
Also merge the various renderability members since the texture type is
enough to determine what type of renderable a format is.
BUG=angle:658
Change-Id: I7cba50b147fcca8f3880d65c06c57df9c65ed19c
Reviewed-on: https://chromium-review.googlesource.com/206830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
591e6afe
|
2014-06-18T18:08:57
|
|
Add support for ANGLE_platform_angle.
BUG=angle:490
Change-Id: If3c897a9ae3d27b96e4b9bf9475a9ac23a1090ba
Reviewed-on: https://chromium-review.googlesource.com/185396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
78b1acdb
|
2014-07-15T15:33:07
|
|
Refactored Texture3D, separated out D3D logic
BUG=angle:688
Change-Id: I6cda73c2e4c8a026b8c5222bc40cea93ad4e0ba3
Reviewed-on: https://chromium-review.googlesource.com/208102
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0511e808
|
2014-07-14T16:27:26
|
|
Refactored TextureCubeMap, separated out D3D logic
BUG=angle:688
Change-Id: I2300aaad4fab25df484e0bc3613ac3b176addc93
Reviewed-on: https://chromium-review.googlesource.com/208191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
75ec7c5b
|
2014-07-17T15:00:38
|
|
Fix "error: extra qualification 'rx::ImageD3D::' on member 'makeImageD3D'"
As reported by GCC 4.8.1/MinGW.
Change-Id: If62d234074a0a9180f1f3c3619dbb2dd8047d0f3
Reviewed-on: https://chromium-review.googlesource.com/208670
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Andrew Knight <andrew.knight@digia.com>
|
|
f47bebc4
|
2014-07-09T14:28:42
|
|
Refactored Texture2D, separated out D3D logic
BUG=angle:688
Change-Id: I93c2ff0b125278234d61324844b79cc58135d4d8
Reviewed-on: https://chromium-review.googlesource.com/207675
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
53a94a82
|
2014-06-24T15:20:36
|
|
Refactors State to be a fully-qualified class
BUG=angle:685
Change-Id: I36cff2da985a12c7180fe2850ccd471f4cebbaad
Reviewed-on: https://chromium-review.googlesource.com/206634
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6518fe24
|
2014-07-08T15:16:52
|
|
Moved TextureStorage and Image into d3d
BUG=angle:688
Change-Id: I98ffa1082340a829a77fe5082958898b9c6ab1a2
Reviewed-on: https://chromium-review.googlesource.com/207054
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
0b7e5d8c
|
2014-07-11T16:33:09
|
|
Fix 64-bit warnings.
BUG=angle:631
Change-Id: I76439ca2549916d594a54a4a9a35387d80b023ba
Reviewed-on: https://chromium-review.googlesource.com/207441
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c0b9ef4b
|
2014-07-02T10:02:37
|
|
Split Caps into Caps, Extensions and TextureFormatCaps.
Context now holds it's own Caps, Extensions and TextureFormat caps so that it
can modify them based on client version or work-arounds.
BUG=angle:658
Change-Id: Id71b6c89b7aa36e1f3dc42b0e4720eaed1851fb9
Reviewed-on: https://chromium-review.googlesource.com/206480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
57f9b6d5
|
2014-06-04T16:46:37
|
|
Clean up generatemip.h.
* Move "private" functions into generatemip.inl.
* Use size_t for all dimensions.
* Use uint8_t pointers instead of unsigned char pointers.
BUG=angle:666
Change-Id: I8a1324802e4d670c042e0961c2b6f6fd53f4ebc7
Reviewed-on: https://chromium-review.googlesource.com/202503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
86846e24
|
2014-06-03T15:48:54
|
|
Clean up the functions in loadimage.h/cpp.
* Capitalize the function names to fit the style guide.
* Use explicit sizes in the function names to avoid any confusion about
input or output sizes.
* Use explicit sized types in the functions to avoid potential issues on
new platforms since a lot of bit-twiddling is used.
* Use size_t for all sizes.
* Use uint8_t for all binary data for input and output data so that pointer
arithmetic is much easier.
* Move templated function definitions into an .inl file so that
loadimage.h looks as clean as possible.
BUG=angle:665
Change-Id: Id7173ed66d9e1b7ee3261eea11e77d838cbd2951
Reviewed-on: https://chromium-review.googlesource.com/202590
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e92a3546
|
2014-07-03T10:38:58
|
|
Remove redundant FBO query methods.
Several query methods simply wrapped a NULL check with a default
return value. Most of these safety checks were unnecessary.
BUG=angle:660
Change-Id: I0ac6897f06be082c8efab8721920d1b51ba999ee
Reviewed-on: https://chromium-review.googlesource.com/205606
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
aae65a4e
|
2014-05-26T12:43:44
|
|
Add caps for texture size limits and other caps in the 6.28 table.
BUG=angle:658
Change-Id: Ia265fe1d3713db7701b41e8430d6d186f352ab4a
Reviewed-on: https://chromium-review.googlesource.com/201363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b23375fe
|
2014-07-08T10:49:39
|
|
Fixed an issue with Streaming Vertex data overflowing it's buffer.
Bug=angle:689
Change-Id: Ia0ee6f951822901560888ea300a3889601fa1d89
Reviewed-on: https://chromium-review.googlesource.com/207010
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
a328d569
|
2014-07-01T13:52:40
|
|
Removed sampler state getters and setters from gl::Texture
BUG=angle:688
Change-Id: I3f203e4d10059c12a0c00e967ad6c7d3b3a18074
Reviewed-on: https://chromium-review.googlesource.com/206335
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|