|
09e2d93b
|
2015-07-14T16:40:31
|
|
D3D11: Futher optimize input layout cache.
*re-land with fix for matrix attributes*
*re-re-land with fix for attributes with BindAttribLocation*
Using the new vertex format type enum, we can shrink the size
of the input layout tables and reduce draw call overhead
further.
BUG=angleproject:959
Change-Id: I181acd3d7d519f5587cbe180fb1bca8530b7cfc2
Reviewed-on: https://chromium-review.googlesource.com/285348
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6d45a999
|
2015-07-14T15:16:57
|
|
Revert "D3D11: Futher optimize input layout cache."
Causing assertion failures in WebGL CTS in debug. Example build: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/10215
This reverts commit 2ee580f10052c03a3a0e8c535bd7da82147133c3.
Change-Id: Idffcd848adb6898f77b3c758b214eb31ca1f6e05
Reviewed-on: https://chromium-review.googlesource.com/285326
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2ee580f1
|
2015-07-10T11:14:58
|
|
D3D11: Futher optimize input layout cache.
*re-land with fix for matrix attributes*
Using the new vertex format type enum, we can shrink the size
of the input layout tables and reduce draw call overhead
further.
BUG=angleproject:959
Change-Id: I6d8ad78a003c41f40e7e1caa5972838f8ff4fce8
Reviewed-on: https://chromium-review.googlesource.com/284811
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0d208976
|
2015-07-10T15:45:09
|
|
Revert "D3D11: Futher optimize input layout cache."
This seems to have broken some dEQP tests in debug build, possibly
uncovering a previously undetected bug.
TEST=dEQP-GLES3.functional.shaders.linkage.varying.basic_types.*
This reverts commit d2328a5246d8e0ab8a3dde1b30b80ce5e161e6f3.
Change-Id: I9f082d7a6fca38b4c076fecc342ac40d5416ebef
Reviewed-on: https://chromium-review.googlesource.com/284780
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
d2328a52
|
2015-07-09T11:30:30
|
|
D3D11: Futher optimize input layout cache.
Using the new vertex format type enum, we can shrink the size
of the input layout tables and reduce draw call overhead
further.
BUG=angleproject:959
Change-Id: Iea595fa64edbbd91f669138dfdeb9d2543b83929
Reviewed-on: https://chromium-review.googlesource.com/277291
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bc3b5e63
|
2015-07-07T10:08:05
|
|
D3D11: map index buffers only when needed.
Before this patch, index buffers where always mapped in case we needed the
index data for the indexed point sprites workaround.
This patch makes it so the index buffer is only mapped in this case, when
we need to stream index data or when we need to fill the static copies of
the index buffers.
This make the memory usage of
http://alteredqualia.com/xg/examples/mammoth.html go down from 41MB to
28MB.
BUG=angleproject:516
Change-Id: I937506d06fd6f074ef2120469dbd235e20245fca
Reviewed-on: https://chromium-review.googlesource.com/283626
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d3dfda2b
|
2015-07-06T08:28:49
|
|
Refactor how we store vertex formats.
Instead of storing a vertex format as a struct with the full info,
instead use an enum, and look up the info when we need it. This
saves a lot of constructor initialization time, operator comparison
time, and storage. It also will allow us to look up D3D format info
more quickly.
BUG=angleproject:959
Change-Id: I202fd1ea96981073bc1b5b232b1ec3efa91485cb
Reviewed-on: https://chromium-review.googlesource.com/277289
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
531d5f45
|
2015-07-06T08:26:45
|
|
D3D11: Refactor InputLayout cache.
*re-land with fix for cache overflowing*
Using a much more compact input layout structure allows us to save
quite a bit of time comparing input layouts, or computing hashes.
A subsequent patch shrinks the size of the structure further.
BUG=angleproject:959
Change-Id: If240bb7c84d78fc8c9fb6f9049bf71d8a81c97c6
Reviewed-on: https://chromium-review.googlesource.com/283227
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
558f2b5a
|
2015-06-02T09:34:11
|
|
Added emulated indexed pointsprite rendering support.
This emulation is for renderers that do not support Geometry Shaders.
BUG=angleproject:949
Change-Id: I7acf003e83ea6661f10a703486e6d07eb28786f8
Reviewed-on: https://chromium-review.googlesource.com/274851
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
|
|
2c70e64b
|
2015-07-02T15:09:58
|
|
Revert "D3D11: Refactor InputLayout cache."
Seems to be failing maps_pixel_test on the bots.
BUG=angleproject:959
This reverts commit 53fd1552ba7dbf91a726fce139d748860bd8a5f5.
Change-Id: I1f2593caca58f701d284993d2ee313846806491b
Reviewed-on: https://chromium-review.googlesource.com/283157
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
53fd1552
|
2015-07-02T07:26:19
|
|
D3D11: Refactor InputLayout cache.
Using a much more compact input layout structure allows us to save
quite a bit of time comparing input layouts, or computing hashes.
A subsequent patch shrinks the size of the structure further.
BUG=angleproject:959
Change-Id: I7a0f10428cc7e96967e60cc085ff2e8779718978
Reviewed-on: https://chromium-review.googlesource.com/277288
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
476682e6
|
2015-06-30T10:04:29
|
|
Use std::vector for TranslatedAttribs.
This allows us to cache a std::vector between calls, and avoids us
calling allocation/constructors for locals, which saves us some
time. It also allows us to use the vector's size to limit the range
of attribs we look at.
BUG=angleproject:959
Change-Id: I799ed6c92fa8fca96e92e235b125a11d2d551aab
Reviewed-on: https://chromium-review.googlesource.com/277286
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f9327d33
|
2015-06-22T13:57:16
|
|
D3D11: Optimize ProgramD3D::sortAttributesByLayout.
We can use pointer math here, instead of copying values.
BUG=angleproject:959
Change-Id: I3b87956224d0846c9011f5d8edb811bc5e4f2b85
Reviewed-on: https://chromium-review.googlesource.com/277119
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fbd7820c
|
2015-05-28T15:33:55
|
|
Fix flaky WebGL point-sprites test when using instanced point sprites
Change-Id: I7d417016d9fa3a2e49806543d981ab98a3e71cbc
Reviewed-on: https://chromium-review.googlesource.com/273914
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
794e0009
|
2015-04-07T18:31:54
|
|
Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82
Reviewed-on: https://chromium-review.googlesource.com/265020
Tested-by: Minmin Gong <mgong@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b3584fb4
|
2015-04-09T17:34:21
|
|
Revert "Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)"
Causing a build failure on Mac/Clang:
./Tokenizer.cpp:551:7: error: extra tokens at end of #else directive [-Werror,-Wextra-tokens]
#else if defined(_MSC_VER)
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29136
This reverts commit 3b26e231d99154814eb428f75a67bbe7a21adadc.
Change-Id: I2d11ddcc18130d908fd2ec3d6f5ab890cfccd5e7
Reviewed-on: https://chromium-review.googlesource.com/264983
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3b26e231
|
2015-04-07T18:31:54
|
|
Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea
Reviewed-on: https://chromium-review.googlesource.com/264533
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f4bf3811
|
2015-04-01T16:15:32
|
|
Use GetAs/GetImplAs whenever possible.
This patch cleans up the rest of our custom casting helper
functions.
Change-Id: I41975c736765fca855c4498acca31116df3e8317
Reviewed-on: https://chromium-review.googlesource.com/263477
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
b8af723d
|
2015-03-16T22:33:25
|
|
Fix and enable warning C4245 (signed/unsigned mismatch)
Change-Id: If48043835fcc98341a0626e3ece7d0e3f7958059
Reviewed-on: https://chromium-review.googlesource.com/260630
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cooper Partin <coopp@microsoft.com>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4e47b92f
|
2015-02-03T09:04:20
|
|
Fix instanced point sprites when gl_PointSize is specified but not used
Change-Id: I2350fa60cae55f02d7b484c34544c035acaba6ad
Reviewed-on: https://chromium-review.googlesource.com/245703
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9236b418
|
2015-02-02T16:51:52
|
|
Add generic Impl casting helper methods.
GetAs and GetImplAs are template helpers that can replace all of our
custom "makeTextureD3D", etc methods. This will help save code across
different back-ends.
Change-Id: Ib3215c005bfac5a819c5d8f7d60a73a725241332
Reviewed-on: https://chromium-review.googlesource.com/245390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3ae6465f
|
2015-01-26T15:51:39
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I3df0fffb19f5ecbe439fbc2a8d6d239a5dc6b638
Reviewed-on: https://chromium-review.googlesource.com/243334
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
74cafab1
|
2015-01-23T23:17:32
|
|
Revert "Fix lots of variable shadowing in ANGLE"
Caused WebGL CTS failures on the texture-npot test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/texture-npot.html
This reverts commit c67e6e9fade44ef8938724e82db11db725e9c8e5.
Change-Id: I089e99859231e0d657084ac3647257c650a9da92
Reviewed-on: https://chromium-review.googlesource.com/243041
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c67e6e9f
|
2015-01-21T16:01:07
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I15168ae32605b26aee08274464ffe68adb5a7e87
Reviewed-on: https://chromium-review.googlesource.com/242351
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
e6664f06
|
2015-01-09T16:22:24
|
|
Added PointSprites Support for renderers that do not support Geometry Shaders
Change-Id: Iae9ac5f8fbba68dba5e49ccda7bb7eebb05c8e9a
Reviewed-on: https://chromium-review.googlesource.com/240450
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
359ef269
|
2015-01-05T14:42:29
|
|
Rename ShaderExecutable to ShaderExecutableD3D and move it to the D3D folder.
BUG=angle:681
Change-Id: I097d6591be4e873c9a6f210cc91e3f4eb60f036b
Reviewed-on: https://chromium-review.googlesource.com/238473
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
edd84e41
|
2015-01-05T15:50:47
|
|
Fix assertion in D3D11 Feature Level 9_3 instancing implementation
BUG=angle:858
Change-Id: I6197d0f86536cb4613aa1aeb2d73a8173b4e4631
Reviewed-on: https://chromium-review.googlesource.com/238530
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
324bcc46
|
2014-12-22T13:43:02
|
|
Fix instancing on D3D11 9_3, by ensuring slot zero contains non-instanced data
D3D11 Feature Level 9_3 supports instancing, but slot 0 in the input
layout must not be instanced. D3D9 has a similar restriction, where
stream 0 must not be instanced. This restriction can be worked around
by remapping any non-instanced slot to slot 0. This works because
HLSL uses shader semantics to match the vertex inputs to the elements
in the input layout, rather than the slots.
BUG=angle:858
Change-Id: I67b2be9095afc206a4b9f107ed61356820551afe
Reviewed-on: https://chromium-review.googlesource.com/237270
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
97399235
|
2014-12-23T12:31:15
|
|
Enable conditional InfoLog for HLSL link failures.
We don't always have an InfoLog available for dynamic shaders, but we
can still capture data in some cases for default shaders.
Change-Id: Iccd022f24d5c2b8922e9254580705675cd4e405f
Reviewed-on: https://chromium-review.googlesource.com/237328
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
c9878cb1
|
2014-12-11T10:43:48
|
|
Fix normalized GL_BYTE vertex attributes on D3D11 9_3
Feature Level 9_3 doesn't support as many formats for Input Layouts
as 10_0+. On 9_3, we have to make sure that GL vertex attributes are
converted into formats that 9_3 supports.
Change-Id: I27b9a85a6eb21a37bd36e60bf011b83fce743fd0
Reviewed-on: https://chromium-review.googlesource.com/234523
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
437d2662
|
2014-12-05T14:23:35
|
|
Move some D3D-specific stuff into ProgramD3D.
BUG=angle:773
Change-Id: I48b42e7a3e82a43d3dde16a8d1016d28280eae39
Reviewed-on: https://chromium-review.googlesource.com/232968
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7dd2e10d
|
2014-11-10T15:19:26
|
|
Merge the ProgramBinary class into Program.
BUG=angle:731
Change-Id: I2ee97155841dc62f04bb71c1f2035d210fd3883c
Reviewed-on: https://chromium-review.googlesource.com/232694
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
21329414
|
2014-12-02T20:50:30
|
|
Revert "Merge the ProgramBinary class into Program."
Issues appeared on the FYI waterfall, content_gl_tests hangs.
This reverts commit 2195a6d6032883ed05468d5ecd019e7cb9a27bce.
Change-Id: I9fe1a53cf40887ae5a98fd77b4872f41085fcea7
Reviewed-on: https://chromium-review.googlesource.com/232386
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2195a6d6
|
2014-11-10T15:19:26
|
|
Merge the ProgramBinary class into Program.
BUG=angle:731
Change-Id: Ia0a356c0684f3a3576c71dfd04b00874318dd084
Reviewed-on: https://chromium-review.googlesource.com/228701
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2b5420c0
|
2014-11-19T14:20:15
|
|
Merge libGLESv2 and libEGL classes into libANGLE.
BUG=angle:733
Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|