Граф коммитов

2961 Коммитов

Автор SHA1 Сообщение Дата
Dan Glastonbury b66feb31c2 Handle interface blocks in getVariableInfo and
getUserDefinedVariableInfo.

BUG=angle:654

Change-Id: I07a230bbf2387e85168c50cb3719c669a7890f8a
Reviewed-on: https://chromium-review.googlesource.com/199687
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2014-05-16 22:54:14 +00:00
Jamie Madill 1b2a8f964c Fix binary serialization to use explicit size and type.
Loading program binaries across different architectures would cause
runtime errors due to use of size_t.

Also fix the ANGLE major and minor version that were clobbered in an
earlier commit.

BUG=angle:647
BUG=371435

Change-Id: I9473cc7e119592fce336aa47881839543e337b69
Reviewed-on: https://chromium-review.googlesource.com/199633
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-16 20:17:43 +00:00
Geoff Lang 43b004269a Optimize texture application in draw calls.
Gather all bound textures and samplers first and then pass them to
generateSwizzles and applyTextures to reduce redundant get calls.

BUG=260069

Change-Id: I5b10dddb01a6bfd756c58b76218838cfc1fd59b6
Reviewed-on: https://chromium-review.googlesource.com/199343
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-16 15:09:07 +00:00
Jamie Madill 45c785d35c 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>
2014-05-16 15:06:49 +00:00
Jamie Madill db2f14c0b1 Refactor BeginQuery validation out of gl::Context.
Part of our effort to relocate all validation logic to a preliminary
pass outside of our state tracking or rendering layers.

BUG=angle:571

Change-Id: I5241daef6249910a781e78fd066debe0ab1d3f2b
Reviewed-on: https://chromium-review.googlesource.com/199348
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-16 14:21:22 +00:00
Vladimir Vukicevic 2e660d5627 Use lowercase d3d header includes to fix ANGLE compilation on case sensitive OSes
The actual D3D header filenames are all lowercase.

Change-Id: I8f78d618d44360d34b5b01eb5a1972b35f2f15b7
Reviewed-on: https://chromium-review.googlesource.com/199692
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2014-05-15 18:05:32 +00:00
Vladimir Vukicevic 1e514358ea Add READ/DRAW_FRAMEBUFFER_BINDING_ANGLE to getQueryParameterInfo
Change-Id: I3e7f5cb0b4d2829eef86b878ffede0ac86279f57
Reviewed-on: https://chromium-review.googlesource.com/199684
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-15 18:05:17 +00:00
Zhenyao Mo d526f9895c Fix code style violation in compiler/preprocessor
BUG=angle:650
TEST=no behavior change

Change-Id: Ib52f15f6471fc7897b66d11baee11216cf08158a
Reviewed-on: https://chromium-review.googlesource.com/199591
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
2014-05-15 17:03:05 +00:00
Geoff Lang ae1990c8a5 Track if uniform data has been updated to avoid extra Map calls.
Compare all uniform data to the values currently stored in the uniform and
only mark the uniform as dirty if the data is new.  This saves lots of
buffer map calls when the same data is set on a uniform many times.

BUG=260069

Change-Id: Ic4df8a276a81b074211712ff50e5cc4d0d9bb612
Reviewed-on: https://chromium-review.googlesource.com/199346
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-15 14:24:20 +00:00
Geoff Lang 64c83249df 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>
2014-05-15 13:40:32 +00:00
Geoff Lang f98e63a54b 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>
2014-05-15 13:40:00 +00:00
Geoff Lang 946b948d8e Optimize Texture*::updateStorage by iterating over fewer levels.
Only update the storage on levels that exist.  Especially helps for cube
maps which have 90 images that would be iterated over in all cases.  Added
an additional early-out check if the image is dirty for cube maps to match
the other texture types.

BUG=260069

Change-Id: I3d298f4f9ebdc23136a31138a3ef8364667fa78c
Reviewed-on: https://chromium-review.googlesource.com/199344
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-15 13:38:55 +00:00
Jamie Madill ff0d2ba6c7 Split register allocation of varyings from the translator.
The translator gl::Varying struct does not need to know about register
allocation. We can put that entirely in the API library. This makes
exposing Varying variables with the new translator types cleaner.

BUG=angle:466

Change-Id: Ib85ac27de003913a01f76d5f4dc52454530859e6
Reviewed-on: https://chromium-review.googlesource.com/199736
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-15 13:32:05 +00:00
Jamie Madill 4f8fcc2416 Remove gl::Varying::elementIndex.
We only assigned to elementIndex, and never referenced the value
at any point in our code.

BUG=angle:466

Change-Id: I541a353110bcd1863b07b21bcf21fad38be19ca1
Reviewed-on: https://chromium-review.googlesource.com/199735
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-15 13:31:48 +00:00
Geoff Lang 11c3b30ffb Revert "Fix binary serialization to use explicit size and type."
This reverts commit 261988513e.

Change-Id: I959ca14fcbb257f12005f7f0b64a600e906a118c
Reviewed-on: https://chromium-review.googlesource.com/199630
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
2014-05-13 22:37:00 +00:00
Zhenyao Mo c8f7232e41 Attempt an Mac build fix
BUG=
TEST=mac bots build on GPU.FYI

Change-Id: I3dd2b07702e8c0a40d64ab973eb969ba50954640
Reviewed-on: https://chromium-review.googlesource.com/199611
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
2014-05-13 22:33:31 +00:00
Zhenyao Mo 9eedea031c Fix code styles in OutputGLSLBase, SymbolTable, and Types.
I came across these three classes in the last CL, so do some
cleanup as I touched these classes.

BUG=
TEST=webgl conformance, no regressions

Change-Id: I2819bab5965fcb4917f85c2eded571a7f95ab9a2
Reviewed-on: https://chromium-review.googlesource.com/199423
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
2014-05-13 16:44:11 +00:00
Geoff Lang 487456a36d Fix missing <algorithm> include.
Change-Id: Id6952fa07223217c9dde6798d3ea701b49e6089e
Reviewed-on: https://chromium-review.googlesource.com/199313
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-13 16:00:11 +00:00
Jamie Madill 0f55498b0c Regenerate public projects.
BUG=angle:618

Change-Id: I516ad4a5639b021fb467aa7c7889a5f9f9bf4b33
Reviewed-on: https://chromium-review.googlesource.com/199342
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-12 20:27:18 +00:00
Zhenyao Mo 904a91641a Fix nested struct scope support in GL backend.
Basically we should be able to reuse a struct name once the previous
use is out of the scope, or we can reuse it if we are in a inner scope
than where it is defined before.

BUG=368910
BUG=angle:618
TEST=conformance/glsl/bugs/nested-structs-with-same-name.html

Change-Id: Icfac76b844deaca0c8a0501d7426ff3802e657dc
Reviewed-on: https://chromium-review.googlesource.com/199137
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
2014-05-12 20:23:04 +00:00
Jamie Madill 261988513e Fix binary serialization to use explicit size and type.
Loading program binaries across different architectures would cause
runtime errors due to use of size_t.

Also fix the ANGLE major and minor version that were clobbered in an
earlier commit.

BUG=angle:647
BUG=371435

Change-Id: If2ad4c8fc246cc9ff0b4d95ba87b7d1ed109a064
Reviewed-on: https://chromium-review.googlesource.com/199102
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-12 20:18:17 +00:00
Nicolas Capens 2c27db6f38 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>
2014-05-12 17:08:31 +00:00
Nicolas Capens 1408bae666 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>
2014-05-12 17:08:22 +00:00
Nicolas Capens 93faad9f65 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>
2014-05-12 17:08:10 +00:00
Nicolas Capens aea8e947d3 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>
2014-05-12 16:36:15 +00:00
Nicolas Capens 5075e13bd2 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>
2014-05-09 19:12:06 +00:00
Zhenyao Mo ed14b79dc8 Shaders should fail compile if a boolean's precision is specified
Tested and no regression on WebGL conformance 1.0.3

BUG=angle:628
BUG=368874
TEST=http://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/boolean_precision.html

Change-Id: Ie74616c3ab846eea19f4bd4a041fc0f00d55f151
Reviewed-on: https://chromium-review.googlesource.com/198884
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
2014-05-09 16:14:36 +00:00
Geoff Lang 7b827596f4 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>
2014-05-08 20:59:42 +00:00
Geoff Lang d3ff90090a Add support for querying GL_MAX_VARYING_COMPONENTS.
BUG=angle:645

Change-Id: I2e33798bd7fe6cabb1237224aeb9e59cdf03f73c
Reviewed-on: https://chromium-review.googlesource.com/198836
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-08 20:10:26 +00:00
Jamie Madill 5fedd0174b 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>
2014-05-08 19:06:41 +00:00
Jamie Madill 14764a0928 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>
2014-05-08 19:06:30 +00:00
Jamie Madill 235a6ab502 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>
2014-05-08 19:06:18 +00:00
Geoff Lang b69d39ba6d 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>
2014-05-07 19:26:14 +00:00
Jamie Madill 07d68856ae Move the implementations of shader var init to the header.
Making the contructors for shader variables inline saves us from
exporting them across DLL boundaries. This makes it easier to use
them in the translator when building the translator as a DLL.

BUG=angle:466

Change-Id: Iee0556e06dc1f9e98fe9eea6577819305de0dd0b
Reviewed-on: https://chromium-review.googlesource.com/198555
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-07 18:51:03 +00:00
Jamie Madill d127d8e6f2 Replace libEGL catch bad_alloc clauses with ellipses.
Since we incur some kind of type confusion that stops us from properly
catching bad_alloc exceptions generated when compiled with exceptions
or when ANGLE is compiled with C++ exceptions, use catch-all clauses.

BUG=angle:634

Change-Id: I6d6efbf1fc7a4ebf8f13150b2814bfcd5edaad91
Reviewed-on: https://chromium-review.googlesource.com/198421
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-07 18:50:49 +00:00
Shannon Woods 6b6fd54a2d Adds the PBO extension test
BUG=angle:581

Change-Id: I50a1181d0547c5629c9037f6d8e989c505c7e5ed
Reviewed-on: https://chromium-review.googlesource.com/198239
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2014-05-07 17:33:35 +00:00
Shannon Woods 6667f76bdb Advertises the NV_pixel_buffer_object extension
BUG=angle:581

Change-Id: I1e55582e94a36e56ef3e0f53ff9233c1a31408f5
Reviewed-on: https://chromium-review.googlesource.com/198238
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2014-05-07 15:40:41 +00:00
Shannon Woods 158c43846f Adds PBO buffer targets when extension is present
BUG=angle:581

Change-Id: I125cdd995e538db4a275657770149071406a6ad1
Reviewed-on: https://chromium-review.googlesource.com/198237
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2014-05-07 15:40:30 +00:00
Shannon Woods 334f19b705 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>
2014-05-06 20:12:52 +00:00
Jamie Madill 80b9528d2d 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>
2014-05-06 19:37:35 +00:00
Jamie Madill 2b5c9cbc41 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>
2014-05-06 17:51:10 +00:00
Jamie Madill 7a29e4ae3d Stop generating duplicate vertex binaries.
We would generate multiple vertex binaries that result in the same
HLSL code, eg for vec2 and vec3 vertex attributes. Eliminate
duplicates by using the converted attribute type for testing
for matching binaries.

BUG=angle:599

Change-Id: I061588164577ff9fa69ebb7d8a3f2bf6bb6fe013
Reviewed-on: https://chromium-review.googlesource.com/197830
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2014-05-06 17:50:57 +00:00
Jamie Madill de0ec75ebb Replace catch blocks from std::bad_alloc to ellipses.
It seems we weren't catching bad_alloc despite using the correct syntax.
Using ellipses solves the problem, and since we only expect bad_alloc
it does the equivalent result of catching and returning out of memory.

I'm currently not aware of the proper syntax to catch bad_alloc.

BUg=angle:634

Change-Id: Ib3154546d1b72d180cb565c71f35716696863cdd
Reviewed-on: https://chromium-review.googlesource.com/198245
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-06 17:33:42 +00:00
Geoff Lang cc14f104b5 Use a static function instead of a static initializer for defaultBlockInfo.
BUG=angle:640

Change-Id: I5fe568c9a2b492a5bd8a42142762229c5f992c7e
Reviewed-on: https://chromium-review.googlesource.com/198248
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-05-06 16:29:13 +00:00
Jamie Madill 8a7bed8c58 Add tests for pack buffer corner cases.
BUG=angle:511

Change-Id: I72ff4f8fa83d9dda4d186d727035085ecc39a9dc
Reviewed-on: https://chromium-review.googlesource.com/197703
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-06 13:57:17 +00:00
Jamie Madill 1ef6fe7748 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>
2014-05-06 13:57:03 +00:00
Jamie Madill 19811d0ba0 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>
2014-05-06 13:56:46 +00:00
Geoff Lang 876dc72400 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>
2014-05-02 17:48:25 +00:00
Jamie Madill a18299c961 Reference .git/index as a dependency of commit_id.
Any time the git index changes, we will re-run the commit id hook.
This will ensure we never are left with stale commit ids from
other git commits.

BUG=angle:626

Change-Id: I03c37225fb902b6c1801e8f993d767122e8bfeb6
Reviewed-on: https://chromium-review.googlesource.com/197723
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2014-05-01 17:55:53 +00:00
Nicolas Capens 25bf006a61 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>
2014-05-01 16:21:13 +00:00