|
bccb0d56
|
2021-05-11T13:53:05
|
|
Add messages for framebuffer completeness errors.
This also creates a common code path for all framebuffer
completeness errors (FramebufferStatus::Incomplete) which
helps for adding a debug breakpoint.
Bug: angleproject:5949
Change-Id: Ib102dbf86e020777e56c6dc6b78dda8ebdba2127
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888110
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e815afbf
|
2020-09-07T22:09:22
|
|
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
|
|
81370214
|
2020-07-29T12:54:02
|
|
Pass the Command when sync'ing dirty objects
A new enum is being created that contains command types, which are then
passed to each dirty object when they are synced. This allows the
syncState() methods to perform special handling for each command type.
This change is in preparation for optimizing resolving multisample
images with glBlit, since the render pass needs to be updated before
it's ended.
Bug: angleproject:4753
Change-Id: I77701f79418d35cff689e864c8a8b47b6fca0255
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327335
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d4874cb3
|
2020-06-25T10:49:32
|
|
Reformat Framebuffer::readPixels
Reformat Framebuffer::readPixels and its overriding methods
to the following method signature
angle::Result readPixels(const Context *context,
const Rectangle &area,
GLenum format,
GLenum type,
const PixelPackState &pack,
Buffer *packBuffer
void *pixels);
This will allow capture replay tool to use its own PixelPackState
to read pixels from framebuffer without having to set the global states
Bug: angleproject:4787
Change-Id: Idc64179d8e8f6b5163ef0747f239cd5172a2491b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267417
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
779a25a8
|
2020-04-27T02:11:58
|
|
D3D11: Migrate to the new blend state tracking
Migrate D3D ClearParameters struct to the new color mask storage
Bug: angleproject:4394
Change-Id: Ibeb64e4bbb2758b9c8271fc3c59d2d675850b0a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165886
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1033d55d
|
2020-04-07T14:01:24
|
|
Pass binding enum to Framebuffer::syncState.
Will allow us to determine if we're clearing the read or draw FBO. Then
we can stash clears for the draw FBO only and issue them immediately
for the read FBO in the Vulkan back-end.
Bug: angleproject:4517
Change-Id: Ifc043317d6156a75749b13f9d2c44a17e14ee378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2139997
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c916fe8a
|
2020-04-02T16:57:49
|
|
Don't call syncState inside FBO queries.
This prevents a syncState ordering issue that was confusing FBO sync
when robust resource init is enabled. Also cleans up some redundant
format processing for the half float extensions.
Bug: angleproject:4517
Change-Id: Ieb13fc5203cf824a3e8affda96ea5cbbd89d78ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2134411
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
605ab763
|
2020-02-24T19:43:32
|
|
D3D11: Implement OES_draw_buffers_indexed
Existing CONSTANT_COLOR/CONSTANT_ALPHA limitation was generalized to independent blend states with draw call invalidation and a new end2end test. dEQP tests that are incompatible with this limitation result in INVALID_OPERATION and are marked as FAIL.
D3D11 renderer always normalizes and deduplicates requested blend states based on their enabled features and bound framebuffer.
Bug: angleproject:4394
Change-Id: I284796e18be71de1b5bfb087d36f6a45be4c3f70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070575
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
64b7c4ff
|
2018-10-19T11:38:04
|
|
Use angle::Result in front-end (Part 3)
Handles the gl::Framebuffer class and its implementation.
Bug: angleproject:2491
Change-Id: I3b9c0609e9277264ccdb370596500562df3b7d15
Reviewed-on: https://chromium-review.googlesource.com/c/1280743
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6f755b21
|
2018-10-09T12:48:54
|
|
Use angle::Result in front-end. (Part 1)
This covers most of the hot paths used in draw calls. Gives in the
order of a 5% reduction in draw call overhead.
Bug: angleproject:2491
Change-Id: I2d53afb1163eaceed61fb9cd9ce6c1267c85c0fa
Reviewed-on: https://chromium-review.googlesource.com/c/1258149
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ec1fe5b7
|
2018-08-10T10:05:52
|
|
D3D: Use angle::Result error pattern.
This completes the refactor for the D3D9/D3D11 back-ends.
Bug: angleproject:2752
Change-Id: Ie35a925f75c902d8f9fdab6bc33b3bb9c937f85b
Reviewed-on: https://chromium-review.googlesource.com/1167209
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
19fa1c6f
|
2018-03-08T09:47:21
|
|
Return an Error from Framebuffer::syncState.
This pipes errors up from the Impl to the top level. There are
still a few places were error swallowing is needed, because the
Framebuffer API doesn't support returning an error.
Bug: angleproject:2372
Change-Id: Idc06bda1817fd28075940f69874d8b6ba69194f9
Reviewed-on: https://chromium-review.googlesource.com/954290
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
10d41397
|
2017-12-18T18:13:36
|
|
Fix addDummyTextureNoRenderTarget workaround memory leak
Add dummy attachment in FramebufferD3D as a private member and release
the dummy attchment in destory of FramebufferD3D.
BUG=angleproject:2282
TEST=FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments/ES3_1_D3D11
TEST=dEQP-GLES31.functional.fbo.no_attachments.*
Change-Id: I3a17282ef132185fbc25f4076f624e53661d4b20
Reviewed-on: https://chromium-review.googlesource.com/831847
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
acf2f3ad
|
2017-11-21T19:22:44
|
|
Apply Chromium style fixes.
This addresses several minor code quality issues that are validated
in Chromium, but not yet applied to ANGLE:
* constructors and destructors must be defined out-of-line
* auto is not allowed for simple pointer types
* use override everywhere instead of virtual
* virtual functions must also be defined out-of-line
Slightly reduces binary size for me (~2k on Win, 150k on Linux).
Bug: angleproject:1569
Change-Id: I073ca3365188caf5f29fb28d9eb207903c1843e6
Reviewed-on: https://chromium-review.googlesource.com/779959
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ce8602ab
|
2017-10-03T18:23:08
|
|
WebGL requires GL_FRAMEBUFFER_UNSUPPORTED for identical FBO attachments.
If the same level of a texture is attached to multiple color
attachments of a framebuffer object, for example, the WebGL
conformance tests require generating a GL_FRAMEBUFFER_UNSUPPORTED
error. The Direct3D backend already had this restriction; apply it to
all backends when the WebGL compatibility extension is enabled.
Fixes the following WebGL conformance tests with the pass-through
command decoder in Chrome:
conformance/extensions/webgl-draw-buffers-framebuffer-unsupported
conformance2/rendering/framebuffer-unsupported
BUG=angleproject:2168
Change-Id: I340d06ca0ee969989c6c5725512b1b9542281477
Reviewed-on: https://chromium-review.googlesource.com/699856
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d4826159
|
2017-09-21T11:18:59
|
|
Vulkan: Only init RenderPass once per frame.
This saves some time spent in the driver, by making multiple draw
calls happen inside a single RenderPass.
This also makes the ReadPixels impl method non-const. I think in
the future we should avoid making const Impl methods unless they're
totally trivial.
BUG=angleproject:1898
Change-Id: I39172270a2f7dc5c1c2e3d4cc50af3bac8a29fa1
Reviewed-on: https://chromium-review.googlesource.com/672148
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
5b03f475
|
2017-01-09T10:22:53
|
|
ES31: Implement getMultisamplefv for D3D part.
Implement getMultisamplefv for d3d part.Because standard D3D sample
positions from https://msdn.microsoft.com/en-us/library/windows/
desktop/ff476218.aspx are fixed sample pattern,we put the sample
positions into a constant array in renderer11_utils.cpp with a
function to query it.
BUG=angleproject:1590
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
Change-Id: I6e6006ed1c4e22fe006522e9ffd3297247bee75e
Reviewed-on: https://chromium-review.googlesource.com/594970
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db9e5d31
|
2017-06-12T12:05:45
|
|
D3D11: Only apply attachments that are written by the program
This works around a bug in the AMD driver that writes 0's to the
first attachment if it isn't written by the pixel shader.
BUG=angleproject:2048
Change-Id: I384fd60c0e0a37fbc0fd7b69fe1ec74fe4ffac8f
Reviewed-on: https://chromium-review.googlesource.com/531630
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
4928b7ca
|
2017-06-20T12:57:39
|
|
Proliferate gl::Context everywhere.
This gives the D3D back-end access to the GL state almost anywhere.
This uses the onDestroy hook for Textures to push errors up from
destructors, although they still don't quite make it to the Context.
There are places, such as in EGL object (Context/Surface) destruction,
where we end up calling through to GL implementation internals without
having access to a gl::Context. We handle this via a proxy Context
to a Display, basically a null context, that has access to impl-side
state like the Renderer pointer if necessary. It does not have access
to the normal GL state.
Also Pass gl::Context to RefCountObject::release(). Since we're using
destroy() methods now, we should not ever call the destructor directly.
BUG=angleproject:1156
Change-Id: Ie4c32ad6bf6caaff0289901f30b5c6bafa2ce259
Reviewed-on: https://chromium-review.googlesource.com/529707
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fe54834f
|
2017-06-19T11:13:24
|
|
Proliferate gl::Context.
This enables a few small things: it will enable making the platform
a property of the Display rather than a global. The same goes for the
global logging annotator. Also it ensures all back-end implementations
have access to the GL / EGL state when available.
Also introduces a smart pointer helper class to angleutils for objects
that prefer to be destroyed with a context (gl::Context/egl::Display)
parameter. We were using std::unique_ptr in a few places that would
not work well with these objects.
BUG=angleproject:1156
Change-Id: I59e288a3d6f766ff8a0f4b48ff3a1fbf7489daba
Reviewed-on: https://chromium-review.googlesource.com/529706
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c564c070
|
2017-06-01T12:45:42
|
|
Pass gl::Context to impl methods instead of ContextImpl.
In some cases we might have to call back into the GL layer, passing
the Context, and if we just have a ContextImpl pointer this isn't
possible. It also removes the need for SafeGetImpl.
BUG=angleproject:2044
Change-Id: I6363e84b25648c992c25779d4c43f795aa2866d6
Reviewed-on: https://chromium-review.googlesource.com/516835
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
231c7f56
|
2017-04-26T13:45:37
|
|
Apply clang-format to many files.
This cleans up the formatting in many places.
BUG=None
Change-Id: I6c6652ebc042f1f0ffecced53582d09d66b4f384
Reviewed-on: https://chromium-review.googlesource.com/487884
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5416f753
|
2017-03-09T22:02:43
|
|
Clear11 Shader Optimizations and Shader Management Rework
- ClearShader made into a class that manages all required shaders and input layouts for clears
- ClearShader reuses VS for all clear types. This reduces shader compilation time and memory usage
significantly
- Use constantBuffer for color/z values instead of VB to decouple VB & VS from clearType and
allowing for the same VS to be used for multiple clear types
- FL10+ Devices: Generate positions using SV_VertexID in VS to avoid having to bind VB.
- FL93 Devices: Use an immutable VB containing only position data (SV_VertexID not supported)
- Implement CB cache. Incoming color/Z values checked against cache and CB/cache only updated if
there is a mismatch. Significantly reduces the frequency of expensive CB map/rename operations
especially in common scenarios where most/all clears use the same color/z values
BUG=angleproject:1935
Change-Id: I2015fbdcc135ba08b65dbecbe9c62499c2801037
Reviewed-on: https://chromium-review.googlesource.com/453882
Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
876429b7
|
2017-04-20T15:46:24
|
|
Update gl2.h and update entry points.
Some method signatures were updated. Types like GLclampf and GLvoid
were replaced with other equivalents.
BUG=angleproject:1309
Change-Id: I05e8e2072c5a063d87ad96a855b907424661e680
Reviewed-on: https://chromium-review.googlesource.com/475011
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dd43e6cd
|
2017-03-24T14:18:49
|
|
Pass Context to VertexArray and Framebuffer syncstate.
This will enable more Vulkan-friendly idioms like clearing the
vulkan pipeline caches correctly on GL state changes immediately
because we have access to the ContextVk.
BUG=angleproject:1898
Change-Id: I16c848d8abdde8e26a38d384e565cec8548a66d0
Reviewed-on: https://chromium-review.googlesource.com/459079
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bddc46b4
|
2016-12-09T09:50:51
|
|
ES31: Implement multisampled Textures.
Implement TexStorage2DMultisample and getMultisamplefv entry point.
Also modify sample state for Textures and Framebuffers.
BUG=angleproject:1590
TEST=angle_unittests
TEST=angle_end2end_tests
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_color_2d
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_tex
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_rbo
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_non_zero_level
TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_high_sample_count
TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_zero_sample_count
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d
Change-Id: I8fa7bd4e73b95745858a3e16b1b92004b4a18712
Reviewed-on: https://chromium-review.googlesource.com/414309
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
408293f8
|
2016-12-20T10:11:45
|
|
D3D11: Fix stale SRVs with tiny depth textures.
When the tiny depth texture would get re-created on change, it was
not freeing any cached SRVs which were pointing to the old tex.
Fix this by erasing the cache entry if the texure is recreated.
Also include a test which hooks into the workarounds to force
testing on every platform.
Also narrow the workaround to only apply to depth/stencil textures
which use these mips in GL, rather than D3D, where we always create
a full mip chain.
BUG=angleproject:1664
Change-Id: If0ac396b8847e1bf9b50165e5332da573e9bb3e4
Reviewed-on: https://chromium-review.googlesource.com/421567
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
6e4cfceb
|
2016-06-13T15:06:31
|
|
Refactor ANGLE's image manipulation code into a static library.
Allows for chromium to make use of some of the functionality.
BUG=612205
Change-Id: Ib4435ca44775a3a554b0fb3bd384bd4d31d7952d
Reviewed-on: https://chromium-review.googlesource.com/351753
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8415b5fd
|
2016-04-26T13:41:39
|
|
Pass ContextImpl to Framebuffer methods instead of ContextState.
BUG=angleproject:1363
Change-Id: I7e7524d95f2ca31c35918f9fe5c0cb681ed93616
Reviewed-on: https://chromium-review.googlesource.com/340746
Reviewed-by: Geoff Lang <geofflang@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>
|
|
9082b982
|
2016-04-27T15:21:51
|
|
Rename gl::Data to gl::ContextState.
Part of the new world order of renaming the Obj::Data classes to ObjState.
BUG=angleproject:1363
Change-Id: I15cf002b8b093d687f540b9e86f045874af24a7e
Reviewed-on: https://chromium-review.googlesource.com/340740
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
60ec6ea7
|
2016-01-22T15:27:19
|
|
Implement dirty bits for Framebuffer.
The dirty bits set the stage for performance improvements in D3D, but
don't actually reduce any of the redundant work just yet.
BUG=angleproject:1260
Change-Id: Ib84e6a9b7aa40c37c41790f492361b22faaf4742
Reviewed-on: https://chromium-review.googlesource.com/318730
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4028159e
|
2015-11-19T18:24:44
|
|
Using dirty bit notification for D3D11 viewport state
BUG=angleproject:1161
This is a continuation of the dirty bit refactor
Change-Id: I101f415094dd406f6b0a40cb260f1cbbfec7b62c
Reviewed-on: https://chromium-review.googlesource.com/313249
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Dian Xiang <dianx@google.com>
|
|
cc86d64e
|
2015-11-24T13:00:07
|
|
Make Framebuffer size check ES2-only.
This is an ES2-only incompleteness check. We also need to require
matching dimensions in D3D11, but make this an implementation
specific check. Also make all implementation specific errors
'UNSUPPORTED' since that catches all "non-ES" framebuffer
restrictions.
Note that we can't be conformant here in D3D11 currently, since the
spec only makes an exception for mismatching formats for UNSUPPORTED,
not for size checks. However, we don't have an easy solution.
BUG=angleproject:1225
Change-Id: Ic80a04bce397fc12643b010c874f432033babc5d
Reviewed-on: https://chromium-review.googlesource.com/313990
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
adff67b5
|
2015-10-14T10:34:45
|
|
Re-land "Implements more pack/unpack states."
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
Re-land with fix for test expectations.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I71d8d3bd8fc1f2c75ca16ac2634d5eafcbd71f26
Reviewed-on: https://chromium-review.googlesource.com/305522
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c7473924
|
2015-10-14T14:33:19
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change."
Expectations still not correct. This removes suppressions for two
failing tests:
functional.texture.specification.teximage3d_depth_pbo.depth_component32f_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth32f_stencil8_2d_array
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit 72e7013e68a24107b9082629fc52d59a78998eb2.
Change-Id: Id81b6e616e61535b8504890ce57591813e22af69
Reviewed-on: https://chromium-review.googlesource.com/305521
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
72e7013e
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: Ia2fd7e52615d4aa08011dd615fcc20b79672d355
Reviewed-on: https://chromium-review.googlesource.com/304908
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
000b2f49
|
2015-10-09T15:33:14
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels."
This is causing failures in dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array
First failing build on the bot:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/3635
Please fix the failure and re-land your CL with the fix.
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1.
Change-Id: I30f61db888b0adf73a1d98bbeeb2428068119627
Reviewed-on: https://chromium-review.googlesource.com/304990
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f1bb3f05
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I11e3bc05d23419b72c92b96aabd3f0bacd983626
Reviewed-on: https://chromium-review.googlesource.com/304370
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6941a556
|
2015-07-27T11:06:45
|
|
Rename Workarounds to WorkaroundsD3D.
It is not referenced outside of the d3d classes.
BUG=angleproject:884
Change-Id: Ibeec034b1b78b569bea2f1c77d6a686b58b8e010
Reviewed-on: https://chromium-review.googlesource.com/288582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a455824c
|
2015-07-17T14:25:01
|
|
Remove GetAttachmentSerial.
Cascades to remove serials from many objects.
BUG=angleproject:970
Change-Id: I0a74a14519da3203cd5df7ae0fa19f83393951ce
Reviewed-on: https://chromium-review.googlesource.com/286554
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
44897140
|
2015-07-10T09:50:00
|
|
clang/win: Fix -Wunused-private-field warnings in debug builds.
No intended behavior change.
BUG=505317
Change-Id: I5dfa1d67715b18133f3373ca00a6d1d96b678043
Reviewed-on: https://chromium-review.googlesource.com/284850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
08332634
|
2015-05-05T13:35:47
|
|
Implement EXT_discard_framebuffer in D3D11 renderer
Change-Id: I52bcf0cfb1aa123e085a35730fdefb006b617c3c
Reviewed-on: https://chromium-review.googlesource.com/269232
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
7d75e2b7
|
2015-04-30T09:42:18
|
|
Simplify message to FBO Impls of attachment changes.
We don't need to pass attachment pointers, since they are now
value types, and no longer change their address.
BUG=angleproject:963
Change-Id: I02cdce0886512cc847930f61c5bfb62fc1d7cd1a
Reviewed-on: https://chromium-review.googlesource.com/265938
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
4ef3c241
|
2015-04-02T11:36:01
|
|
Remove DefaultAttachment.
This class is no longer necessary or used.
BUG=angleproject:963
Change-Id: I5e6fa64822e637e1cc769be6fe777fa6e13a0d83
Reviewed-on: https://chromium-review.googlesource.com/263484
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d1f5ef2e
|
2015-04-01T14:17:06
|
|
Pass gl::Data to Framebuffer::clear.
This allows the implementation object to also check the caps.
BUG=angleproject:930
Change-Id: I5a48ad942eaa5271b60cffd931829296e5d2a767
Reviewed-on: https://chromium-review.googlesource.com/263481
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f0d10f89
|
2015-03-31T12:56:52
|
|
Replace non-copyable macro with a helper class.
This class provides a simpler scheme for blocking default copy
and assignment operators. It also reduces the amount of code
needed since it's inherited to child classes. This also fixes
the conflict between our macro and the same-named macro in
Chromium code.
BUG=angleproject:956
Change-Id: If0dc72aa3f63fbc7b8fa34907418821c64c39e2f
Reviewed-on: https://chromium-review.googlesource.com/263257
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
1ea584c5
|
2015-03-26T21:08:33
|
|
Revert "Implement EXT_discard_framebuffer in D3D11 renderer"
Causes failures in video related WebGL tests. Either there is a bug in the implementation or how chrome is using it.
This reverts commit b13daa8f79f4d16a990d968d7d2c04da6b72d302.
Change-Id: Ic0d74840c664bf4de18d85cc3ff7f7153936d9b0
Reviewed-on: https://chromium-review.googlesource.com/262715
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b13daa8f
|
2015-03-19T17:00:44
|
|
Implement EXT_discard_framebuffer in D3D11 renderer
Change-Id: I0e39a196796813203c841c46aa2a6b89957f6051
Reviewed-on: https://chromium-review.googlesource.com/261355
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>
|
|
f90353e8
|
2015-03-05T19:37:58
|
|
Fix typo "setDepthttachment".
BUG=angleproject:930
Change-Id: I7680bbc912c0d961143c38ad82d19746dc9b113d
Reviewed-on: https://chromium-review.googlesource.com/256732
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
85a1804d
|
2015-03-05T15:41:41
|
|
Make getColorAttachmentsForRender D3D-only.
This encapsulates the workaround in the D3D renderer, and also
optimizes the workaround to only compute a new set of attachments
when there is a change to the state.
BUG=angleproject:930
Change-Id: Ibdc15078236e2d19b544fae8e65b7f2554f31844
Reviewed-on: https://chromium-review.googlesource.com/254102
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-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>
|
|
d1405e51
|
2015-03-05T15:41:39
|
|
Share FBO state with object and Impl.
This patch introduces a new Framebuffer::Data class, which stores
attachment related state. This will eliminate the need to store
duplicated state between the classes.
BUG=angleproject:930
Change-Id: I80de4db39ab99d623b0ad8306bf3cbb794cd8bd5
Reviewed-on: https://chromium-review.googlesource.com/254100
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
811b6352
|
2015-02-09T10:17:09
|
|
Add a script to generate a new Renderer.
Also refactor our current Impl headers slightly to facilitate
parsing by the generation script.
BUG=angle:905
Change-Id: Ib86cff71d18e7f911cf526b27b8a82757bacd738
Reviewed-on: https://chromium-review.googlesource.com/245497
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b885e571
|
2015-02-03T16:16:04
|
|
Implement ReadBuffer functionality.
This enables ReadPixels from non-0 FBO attachments.
Tested with:
dEQP-GLES3.functional.negative_api.buffer.read_buffer
(fails due to a possible error in dEQP)
dEQP-GLES3.functional.shaders.fragdata.draw_buffers
(passes)
BUG=angle:903
Change-Id: Ib095e1d50b8fbbc6f197de25f19ec0993309145a
Reviewed-on: https://chromium-review.googlesource.com/244841
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
1d57ad40
|
2015-02-02T16:57:06
|
|
Add some missing disallow macros.
DISALLOW_COPY_AND_ASSIGN was missing from CompilerImpl,
FramebufferImpl and DefaultAttachmentImpl.
BUG=angle:904
Change-Id: I2e57078cd5b40baf6962f19869c2f3b67ad6dc6e
Reviewed-on: https://chromium-review.googlesource.com/245514
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c2e75afa
|
2015-01-05T14:26:24
|
|
Rename RenderTarget to RenderTargetD3D and move it into the d3d folder.
BUG=angle:681
Change-Id: I1946e01ce09d99405c318723c254fe300cc5ac53
Reviewed-on: https://chromium-review.googlesource.com/238471
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
54bd5a46
|
2014-12-01T12:51:04
|
|
Move blit to the Framebuffer object and Impl.
BUG=angle:841
Change-Id: I482e53a90606d9d6b105c7006234215d51ab1a6b
Reviewed-on: https://chromium-review.googlesource.com/232692
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bce529e4
|
2014-12-01T12:48:41
|
|
Move ReadPixels to the Framebuffer object and Impl.
BUG=angle:841
Change-Id: I71deac9e755b5dfa010596cd1f8a213c24d895bf
Reviewed-on: https://chromium-review.googlesource.com/232691
Reviewed-by: Geoff Lang <geofflang@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>
|
|
748f74ef
|
2014-12-01T11:25:34
|
|
Rename Framebuffer::completeness to checkStatus and add an Impl method.
BUG=angle:841
Change-Id: I04b4ffd086424569a15aa21447dd552e0a898928
Reviewed-on: https://chromium-review.googlesource.com/232394
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9dd95808
|
2014-12-01T11:12:59
|
|
Add set*Attachment methods to FramebufferImpl.
BUG=angle:841
Change-Id: Ie819c253a900d105d768aee168a6a2de89754ccc
Reviewed-on: https://chromium-review.googlesource.com/232393
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b5d8f23e
|
2014-12-04T15:43:01
|
|
Move GetAttachmentRenderTarget and GetAttachmentSerial to FramebufferD3D.h.
BUG=angle:841
Change-Id: Ic341239e848f1daf7cf38f233d79a58f221780f4
Reviewed-on: https://chromium-review.googlesource.com/232969
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9ad4bda0
|
2014-12-01T11:03:09
|
|
Move Framebuffer invalidation into the impl.
BUG=angle:841
Change-Id: Ibcf58c4f676491f3b2582198c6cf9fd4a7a38b42
Reviewed-on: https://chromium-review.googlesource.com/232392
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
da88adda
|
2014-12-01T10:22:01
|
|
Create stubs for the FramebufferImpl class.
BUG=angle:841
Change-Id: I089409981604abe9c65c3019765d8d9eeffe38f5
Reviewed-on: https://chromium-review.googlesource.com/232381
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0a73dd85
|
2014-11-19T16:18:08
|
|
Fix include guards.
BUG=angle:733
Change-Id: I08b2c11c4831f1161c178c1842b10e807185aced
Reviewed-on: https://chromium-review.googlesource.com/230831
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>
|