|
53ea9cc6
|
2016-05-17T10:12:52
|
|
Replace rx::Renderer with rx::ContextImpl.
Previously Context had no Impl class, but had a special relationship
with the instanced Renderer class. Having a ContextImpl backing every
Context will allow new designs to enable things like multithreading
(where each ContextImpl stores a Context-specific device) or non-
virtual Contexts on Android or other platforms where it is more
efficient.
A large refactoring patch that touches every back-end.
BUG=angleproject:1363
Change-Id: Icb73a7d37447f08a664eeb499a310ba05d71a57e
Reviewed-on: https://chromium-review.googlesource.com/342052
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
48ef11b2
|
2016-04-27T15:21:52
|
|
Rename gl::Framebuffer::Data to gl::FramebufferState.
Moving this out of the Framebuffer class allows us to forward-
declare it.
BUG=angleproject:1363
Change-Id: I91971c37a92151df508cdf7f0eb8c3e93506d112
Reviewed-on: https://chromium-review.googlesource.com/340741
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e9e15349
|
2016-03-04T15:16:42
|
|
D3D11: Remove RTV and DSV cache vars from Renderer11.
These were only referenced by the StateManager11. Instead of using
these cache variables, ensure the StateManager11 marks the RT as
dirty and apply the RenderTarget state.
Also remove the RenderTarget setters from Renderer11, and don't
unapply RTs after a one-time set operation. The StateManager11
should take care of updating the necessary changes itself.
BUG=angleproject:1321
Change-Id: Idc8d22ea9e92ac8d07392ab10d067df6084403bb
Reviewed-on: https://chromium-review.googlesource.com/330462
Reviewed-by: John Bauman <jbauman@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
99cdca03
|
2016-02-24T14:45:06
|
|
Remove getDXGIFormat() function from RenderTarget11
This query would return either the RTV format, the DSV format or the
texture format depending on the render target. This made the code hard
to understand.
getDXGIFormat() calls are replaced by querying the ANGLE format, and
explicitly choosing which associated DXGI format to query info for
(RTV format or DSV format).
This refactoring makes changing some format associations for integer
texture formats easier in the future.
BUG=angleproject:1244
TEST=angle_end2end_tests,
dEQP-GLES3.functional.fbo.blit.* (no regressions)
Change-Id: Ibe3c03fc6b7768af1a131d4df3909a1e20a71228
Reviewed-on: https://chromium-review.googlesource.com/329102
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
6b120b9f
|
2015-11-24T13:00:07
|
|
Add checks for FBO attachment layer.
We would allow the app to attach layers that were out-of-bounds. Fix
this by checking against the underlying resource dimensions. Also
rework the code a bit to clean up the texture size query, which is
available from the ImageDesc.
BUG=angleproject:869
Change-Id: I984f1db16daea6ca650d795884d8ec2cb8f05ebb
Reviewed-on: https://chromium-review.googlesource.com/313991
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4d61f7ed
|
2015-08-12T10:56:50
|
|
Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
BUG=angleproject:1120
Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
Reviewed-on: https://chromium-review.googlesource.com/293028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b195643c
|
2015-08-12T17:35:20
|
|
Revert "Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'"
Seems to have quite a few warnings in 64-bit on my machine.
BUG=angleproject:1120
This reverts commit c5cf9bc47d0ee028adbbf9e9f94ca567eec601dc.
Change-Id: I86768b900aeba52e7a2242d9ae8949f93f1a5ba9
Reviewed-on: https://chromium-review.googlesource.com/293280
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5cf9bc4
|
2015-08-06T10:46:48
|
|
Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
BUG=angleproject:1120
Change-Id: I01ef10bea7f487c2b394d030c76628f38d2ea645
Reviewed-on: https://chromium-review.googlesource.com/292780
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b459fb04
|
2015-08-07T16:12:39
|
|
Fixed compiler warning C4456 'declaration of variable hides previous local declaration'.
BUG=angleproject:1119
Change-Id: I99572711ceeae94fb920d197c86e741945d3b60b
Reviewed-on: https://chromium-review.googlesource.com/292279
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e62cedd0
|
2015-06-30T11:03:54
|
|
Load Clear11 resources lazily.
Again this saves on startup time and memory use.
BUG=angleproject:1014
Change-Id: I3890dc2ea50ff4e4f1ff9d7cb223e1ab57c330ce
Reviewed-on: https://chromium-review.googlesource.com/282552
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f33ab835
|
2015-06-30T19:08:16
|
|
Fix some clang warnings with -Wmissing-braces in ANGLE.
Clang warns if there are missing braces around a subobject
initializer. The most common idiom that triggers this is:
STRUCT s = {0};
which can be more simply written as:
STRUCT s = {};
BUG=505297
Change-Id: Ib4513ee195d43e7c4a4a2f46c328866f0023a2a5
Reviewed-on: https://chromium-review.googlesource.com/282921
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Kenneth Russell <kbr@chromium.org>
|
|
405f3471
|
2015-06-04T13:09:06
|
|
In D3D11, check for 16-bit texture support and use if possible
BUG=angleproject:1002
The last patch added new tests which failed on some Intel Win7
machines. This was due to a driver bug. Windows Updates have
been applied to the failing machine, and the tests now pass.
Changes between second and current (third) failed 16-bit patch:
- Reenable usage of 16-bit DXGI textures on all Intel cards
- Disable 16bpp tests on Intel D3D11 until the bots are updated
- Updated Win7 test machine. Tests now pass
Changes between first and second failed 16-bit patch:
- Disabled usage of 16-bit DXGI textures on all Intel cards
- Added DXGI->GL conversion entries for 16-bit formats, which
fixes FBO readback issues. The ES CTS and dEQP tests which
failed with the last patch now pass.
Change-Id: Id8ea89bfbc450beea54afdd398956bc97ecf3c01
Reviewed-on: https://chromium-review.googlesource.com/275082
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
6bef4ff7
|
2015-06-01T21:08:31
|
|
Revert "In D3D11, check for 16-bit texture support and use if possible"
Seeing failures on Win7 + Intel machines.
Example build:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/11756
This reverts commit 673115d9cc4251cd690e14a98ef0c717ba9de0b9.
Change-Id: Ie2b6cc1ae9c4e83dde3a531e38252c95ac2e2a0a
Reviewed-on: https://chromium-review.googlesource.com/274450
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
673115d9
|
2015-05-28T09:27:57
|
|
In D3D11, check for 16-bit texture support and use if possible
BUG=angleproject:1002
Changed since last failed 16-bit patch:
- Disabled usage of 16-bit DXGI textures on all Intel cards
- Added DXGI->GL conversion entries for 16-bit formats, which
fixes FBO readback issues. The ES CTS and dEQP tests which
failed with the last patch now pass.
Change-Id: Ib66abf73f23dbb4329f0a32d7f3dafbbc23e6c08
Reviewed-on: https://chromium-review.googlesource.com/273712
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8e7549bd
|
2015-05-27T14:05:10
|
|
Revert "In D3D11, check for 16-bit texture support and use if possible"
Causing failures on Windows 8 bots running ES CTS and Windows 7 Intel bot running angle tests.
Example failures:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/14442
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/11627
This reverts commit d63f08fcc32ea17bac2b025f0ad3261664ff79c9.
Change-Id: I841aee5fb0973432f249277126424b909d5b3e17
Reviewed-on: https://chromium-review.googlesource.com/273416
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d63f08fc
|
2015-05-21T10:22:04
|
|
In D3D11, check for 16-bit texture support and use if possible
BUG=angleproject:1002
Change-Id: I36a5ee774b38e9865b2eb6c6789afd316c4eff16
Reviewed-on: https://chromium-review.googlesource.com/272061
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
ba8a0bf8
|
2015-05-13T09:48:59
|
|
Add plumbing for D3D11 device caps
BUG=angleproject:1002
Change-Id: Id24783c75377ea92a73a43f2605693e07f63dc15
Reviewed-on: https://chromium-review.googlesource.com/270545
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
8cf813c7
|
2015-05-04T12:55:18
|
|
Query attachment render targets from Impl class.
*re-land with fix for D3D9*
This allows us to eradicate the GetAttachmentRenderTarget methods.
This improves potential performance, at the cost of exposing a
Renderer-specific function at the API object level.
BUG=angleproject:963
Change-Id: Iee9f985ddaed668df0c622228004b348eb4d2ea8
Reviewed-on: https://chromium-review.googlesource.com/269006
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e737b06c
|
2015-05-04T16:53:56
|
|
Revert "Query attachment render targets from Impl class."
D3D9 bug is causing failures in the WebGL depth texture test.
BUG=angleproject:963
This reverts commit 804e8436f91733e1d0f769ec10082e4741f2e549.
Change-Id: I660f05033360e97258794138cb50b604f5ac16b6
Reviewed-on: https://chromium-review.googlesource.com/269005
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
804e8436
|
2015-04-30T09:42:23
|
|
Query attachment render targets from Impl class.
This allows us to eradicate the GetAttachmentRenderTarget methods.
This improves potential performance, at the cost of exposing a
Renderer-specific function at the API object level.
BUG=angleproject:963
Change-Id: Ifc227b5f42e87bd4deb451d685618cf61fea39f1
Reviewed-on: https://chromium-review.googlesource.com/263491
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2d06b738
|
2015-04-20T12:53:28
|
|
Store value types for FBO attachments.
*re-land with fix for Mac*
This prevents us from re-allocating FBO attachments every set.
This change requires quite a bit of refactoring.
BUG=angleproject:963
Change-Id: Ia1f83e3c427d446ddbe16c6703db136942149e91
Reviewed-on: https://chromium-review.googlesource.com/266691
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
aed081ce
|
2015-04-21T13:55:21
|
|
Revert "Store value types for FBO attachments."
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10:
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13:
In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68:
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment'
::new(static_cast<void*>(__p)) _T1(__value);
^ ~~~~~~~
This reverts commit 13773b26dfb29b963ea727e1ebf7bdabdc5892b1.
Change-Id: If79f2797fe46798cbe5b39d83c9bcb1a7e87026d
Reviewed-on: https://chromium-review.googlesource.com/266643
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
13773b26
|
2015-04-20T12:53:28
|
|
Store value types for FBO attachments.
This prevents us from re-allocating FBO attachments every set.
This change requires quite a bit of refactoring.
BUG=angleproject:963
Change-Id: Iafa4e4a0f3dd66c9e7452e0e96a0cbb9753487bb
Reviewed-on: https://chromium-review.googlesource.com/263489
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b6bda4af
|
2015-04-20T12:53:26
|
|
Make Framebuffer::Data members private.
This makes "Data" a proper class, and enforces access control when
used in FramebufferImpl. This gives a cleaner refactor when we
switch the internals of the class to use value types to store
attachments instead of pointer types.
BUG=angleproject:963
Change-Id: If825095458eaf9367f616f0bb54084025efb9882
Reviewed-on: https://chromium-review.googlesource.com/265937
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c9d13d2d
|
2015-04-14T14:53:06
|
|
Add trace events for D3D11 initialization.
This helps a local user profile their D3D11 startup time.
BUG=436191
BUG=angleproject:966
Change-Id: Ib1b3d62194233cd502980d87c316a95e9bd3a04c
Reviewed-on: https://chromium-review.googlesource.com/264935
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@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>
|
|
f75ab350
|
2015-03-16T10:46:52
|
|
Make ClearParameters an rx-only type.
This legacy struct duplicates some methods in the gl::State. We
can restrict its use to D3D and on newer back-ends use the State
directly.
BUG=angleproject:930
Change-Id: I2c298e76b072ee73f2b3e17f6696693031ce1f91
Reviewed-on: https://chromium-review.googlesource.com/258070
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7147f01a
|
2015-03-05T15:41:40
|
|
Cleanups to FramebufferD3D.
With the new shared state structure, we can eliminate a lot of the
state tracking within the FramebufferD3D implementation.
BUG=angleproject:930
Change-Id: I0953e321bae3afe7cde7b73c55af62546665c890
Reviewed-on: https://chromium-review.googlesource.com/254101
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>
|
|
d8a2258c
|
2014-12-17T15:28:23
|
|
Remove all uses of "actual" formats.
BUG=angle:861
Change-Id: I7cd2d1a56772fdf18bcf926456399322d13e7a4f
Reviewed-on: https://chromium-review.googlesource.com/236305
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b04dc82e
|
2014-12-01T12:02:02
|
|
Move Framebuffer clearing from Renderer to the Framebuffer object.
BUG=angle:841
Change-Id: I95c9cbdc2d1c99731e19c48e18117358d22b9e94
Reviewed-on: https://chromium-review.googlesource.com/232690
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
53c1a456
|
2014-12-05T13:24:42
|
|
In Clear11, use ID3D11DeviceContext1::ClearView when appropriate
Change-Id: I8d9054b5582cfe78beaff07146adc73b4716eaf9
Reviewed-on: https://chromium-review.googlesource.com/233680
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0dbda057
|
2014-12-04T18:13:04
|
|
Add basic D3D11 Feature Level 9.3 support
Change-Id: I660c74791ddb9917bd4796bb652eefab2a3e4863
Reviewed-on: https://chromium-review.googlesource.com/233660
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
f03c4da0
|
2014-11-24T20:07:07
|
|
Revert "In Clear11, use ID3D11DeviceContext1::ClearView when appropriate"
Causing failures on GPU Windows bots
This reverts commit 3b23162968cdb7fb76aef74e979d8ea1fd256a8d.
Change-Id: Ie1806db36b13f8b03dc1a1ae10f237260c99de7b
Reviewed-on: https://chromium-review.googlesource.com/231701
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
3b231629
|
2014-11-07T15:39:35
|
|
In Clear11, use ID3D11DeviceContext1::ClearView when appropriate
Change-Id: I81fe722973aa3c89ea03501543ab74d92e26b02b
Reviewed-on: https://chromium-review.googlesource.com/228620
Reviewed-by: Geoff Lang <geofflang@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>
|