|
cb9e1235
|
2022-06-06T14:34:53
|
|
D3D11: fix UAV handling.
For setting UAVs, Microsoft has provided two APIs:
ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews()
for pixel and vertex, and
ID3D11DeviceContext::CSSetUnorderedAccessViews()
for compute.
They both take very similar arguments, perform similar functions, but
have one crucial difference: the former will clobber any existing UAV
bindings that are not specified in the call, while the latter will not.
The initial implementation of non-compute UAVs in ANGLE didn't
accomodate this, and sets UAVs individually, as is done for compute,
which clobbers any UAVs set in a previous call.
The fix is to collect all UAVs required for a draw or compute pass,
and set them all at once. This required reworking the internal dirty
bits to reflect the actual D3D requirements (SRV and/or UAV usage),
and to split the sync functions to set only SRV or UAV state.
Also add a two-SSBO fragment shader test.
Bug: angleproject:7385
Change-Id: I0c98e1506d56eccf1db446c0be808f2f3020ae1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690735
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
7fb021b0
|
2022-05-12T16:19:14
|
|
Reland "Add Vulkan backend support for texture labels"
This is a reland of commit 1afb80587e302e2ce9a901a69fd66e5ef98a73b6
Added check to ensure vkSetDebugUtilsObjectName fcn ptr is valid
before use. Fixes failures on mac-swangle-chromium-try-x64.
Original change's description:
> Add Vulkan backend support for texture labels
>
> Add onLableUpdate support for textures in the Vulkan backend.
>
> Bug: b/229105865
> Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
Bug: b/229105865
Change-Id: I994da6db2771671c204e4ab01c69912c1be4a48f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3674296
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
6c0d4658
|
2022-05-27T15:32:42
|
|
D3D11: implement stencil texturing.
When GL_DEPTH_STENCIL_TEXTURE_MODE is set to GL_STENCIL_INDEX, GL
requires the stencil value to be in the R component. However, when
sampling a depth24stencil8 texture in D3D11, the stencil ends up in the
G component. So in this mode, swizzle the result from G to R.
In order to sample stencil, use the appropriate stencil-only format
for the SRV: X24_TYPELESS_G8_UINT for d24s8, X32_TYPELESS_G8X24_UINT
for d32fs8. This required adding a new field to D3D11 Format.
Bug: angleproject:7303
Change-Id: I7cf70efaaf6c833fa0b2497e4080618dfd7103ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3679485
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
43b5311f
|
2022-05-31T12:03:23
|
|
D3D11: minor cleanup to getSRVLevel().
Change getSRVLevel() to take an enum rather than a bool.
Bug: angleproject:7303
Change-Id: I5b39b1b6e4f2f3f8a6bc8dd3f5690368f427f574
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3679482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
31c13df5
|
2022-05-30T15:06:26
|
|
Revert "Initialize buffer contents separately from BufferImpl::setData"
This reverts commit 34cff1a14b635c76a9063b8710e948d04ef98a79.
Reason for revert: Speculative revert for Mac M1 WebGL failures.
Bug: chromium:1330314
Original change's description:
> Initialize buffer contents separately from BufferImpl::setData
>
> Some backends can initialize buffer data faster than allocating a
> zero-filled scratch buffer (GL can map and memset for example).
> Allow those backends the opportunity to make these optimizations.
>
> Verified that GL, D3D and VK backends do not regress by using a
> separate set data call.
>
> Bug: chromium:983167
> Change-Id: Ibcbe6016059434dc36ab3c754df6a24f0a6e5e72
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3039778
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: chromium:983167
Change-Id: Id1bfa76b832c35fd0b3ade04da16735aa089fdd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3677335
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
34cff1a1
|
2021-07-19T14:29:35
|
|
Initialize buffer contents separately from BufferImpl::setData
Some backends can initialize buffer data faster than allocating a
zero-filled scratch buffer (GL can map and memset for example).
Allow those backends the opportunity to make these optimizations.
Verified that GL, D3D and VK backends do not regress by using a
separate set data call.
Bug: chromium:983167
Change-Id: Ibcbe6016059434dc36ab3c754df6a24f0a6e5e72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3039778
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ee023e6a
|
2022-05-26T15:23:18
|
|
D3D11: fix constant buffer cache lookup.
The code was accessing the constant buffer cache by the buffer index,
but storing it by the register index. The fix is to use the register
index in both cases.
Bug: angleproject:7304
Change-Id: I750ba2911140660b42db8e0035984da5e94b14e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3668840
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7ad48b84
|
2022-05-26T00:23:35
|
|
Revert "Add Vulkan backend support for texture labels"
This reverts commit 1afb80587e302e2ce9a901a69fd66e5ef98a73b6.
Reason for revert: Null-dereference crash starting here:
https://ci.chromium.org/ui/p/chromium/builders/ci/mac-swangle-chromium-x64/26323/blamelist
(see angle blamelist)
Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0x0
Process uptime: 24 seconds
Thread 0 (crashed)
0 0x0
rax = 0x0000011c0113c000 rdx = 0x0000011c09094590
rcx = 0x0000000000000006 rbx = 0x0000011c0e2a0000
rsi = 0x00007ffedfc11500 rdi = 0x0000011c01378010
rbp = 0x00007ffedfc11540 rsp = 0x00007ffedfc114f8
r8 = 0x0000000000000006 r9 = 0x0000000123a6ccc4
r10 = 0x0000011c011018d0 r11 = 0x00007ffdbc1a4834
r12 = 0x0000000000000006 r13 = 0x0000011c090944b0
r14 = 0x0000011c0e34c000 r15 = 0x00007ffedfc11550
rip = 0x0000000000000000
Found by: given as instruction pointer in context
1 libGLESv2.dylib!gl::Context::objectLabel(unsigned int, unsigned int, int, char const*) + 0x156
rbp = 0x00007ffedfc116a0 rsp = 0x00007ffedfc11550
rip = 0x00000001357b38e6
Found by: previous frame's frame pointer
2 libGLESv2.dylib!_GL_ObjectLabelKHR + 0xa5
rbp = 0x00007ffedfc116f0 rsp = 0x00007ffedfc116b0
rip = 0x000000013578e7e5
Found by: previous frame's frame pointer
3 Chromium Framework!gpu::gles2::GLES2DecoderPassthroughImpl::DoBindTexture(unsigned int, unsigned int) + 0x1ea
rbp = 0x00007ffedfc11780 rsp = 0x00007ffedfc11700
rip = 0x000000011e7dcd4a
Found by: previous frame's frame pointer
Original change's description:
> Add Vulkan backend support for texture labels
>
> Add onLableUpdate support for textures in the Vulkan backend.
>
> Bug: b/229105865
> Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
Bug: b/229105865
Change-Id: I5a5e00084e1320a486c43fec9d41b9ae6cb2b1db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3669657
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
4a20c914
|
2022-05-20T10:26:15
|
|
D3D: Fix race condition with parallel shader compile.
Bug: chromium:1317673
Change-Id: I0fb7c9a66248852e41e8700e80c295393ef941e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3651153
Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1afb8058
|
2022-05-12T16:19:14
|
|
Add Vulkan backend support for texture labels
Add onLableUpdate support for textures in the Vulkan backend.
Bug: b/229105865
Change-Id: Id9e5b2b81352e97b7843a63f27709739005dc2f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645854
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
b7474d0a
|
2022-04-28T14:44:54
|
|
D3D11: Add GL_EXT_texture_buffer support
tested: deqp-gles31.exe --deqp-gl-context-type=egl
--deqp-case=dEQP-GLES31.functional.texture.texture_buffer.* passed
Bug: b/206367167
Change-Id: I31a6f84bd701a737735a6bac2f4eef780c24a979
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3639722
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b4ec8eac
|
2022-04-12T12:16:40
|
|
D3D11: implement image load/store for non-compute shaders.
Output image metadata and image2d replacement string in
other shader types.
Implement the actual HLSL transform for fragment shaders.
Re-enable problematic test.
Bug: angleproject:7121
Change-Id: I49b815695757e822e6fdfe599e07ceb5b1d6a75c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550544
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6136ba27
|
2022-05-16T12:35:43
|
|
D3D: minor cleanup of gl::RangeUI usage.
Bug: angleproject:7121
Change-Id: I444f1e5e96dab84315afc290d6044d0dee560d6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3651055
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
459c367e
|
2022-01-21T10:02:33
|
|
D3D: Initialize storage after generating mipmap images.
When TextureD3D generates mipmaps without a storage present, it
initializes all the images and then generates mipmaps on the CPU.
Attempt to generate a storage after initializing all the mip images
so that the mipmap generation can be done on the GPU.
Fix several edge cases where texture storage was not copied back
to images when redefining for mipmap generation. This resulted in
the newly generated mipmaps not using the correct data.
Bug: chromium:1256340
Change-Id: I76122d36385450d973bf00f7d07402a1f975492c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406643
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
808192a7
|
2022-05-09T16:39:45
|
|
Code Cleanup
In Context::initCaps(), we first read the
compressedTextureFormats from the contextImpl::getNativeCaps(),
then we are clearing the retrieved compressedTextureFormats array
in Context::updateCaps() immediately. We shouldn't need to fill
the same array twice. Removing the first array value assignments
in all backend.
Bug: angleproject:3408
Change-Id: Iea85d367d2c5792de4780995d8d03bcf14af484e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3635275
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e9dc0f86
|
2022-05-10T12:44:28
|
|
Cleanup from glBlitFramebuffer() 3D texture fix.
Some minor refactoring.
Move skips to test expectations and add a bug ID.
Bug: angleproject:7291
Change-Id: I8d900a26508a28f6202a009c770cffb0e623dc5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3638985
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dd9b4afe
|
2022-05-10T17:57:29
|
|
D3D: minor cleanup for image load/store.
Change-Id: I633d51f01845b92f864df1229d501d572b96b314
Bug: angleproject:7121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3638991
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
5b623dd4
|
2022-05-10T00:00:00
|
|
D3D9: Enable OES_fbo_render_mipmap
Bug: angleproject:905
Change-Id: I82a4eac47950ea35387857d7f7b79d326bbfdbd3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3639204
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
52904367
|
2022-05-10T00:00:00
|
|
D3D: Mark images clean after syncing from storage
Bug: angleproject:2192
Change-Id: I114da8962f6f7aec3134d39bc51c62455e4a62ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3637565
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
8e121571
|
2022-05-06T13:27:06
|
|
D3D11: fix 3D texture blits.
Change-Id: Icf8b061bb8f5d3e1cdd03f75fdecf16157abc0e5
Bug: angleproject:7272
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3631348
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9ab47074
|
2022-05-02T11:51:31
|
|
D3D11: fix BufferToTexture copy when UNPACK_ROW_LENGTH is set.
The BufferToTexture fast path rasterizes a point per pixel when
copying buffer to texture, and uses the vertexID to determine
the buffer location. However, the math is wrong if UNPACK_ROW_LENGTH
is set. The fix is to use UNPACK_ROW_LENGTH (if specified) rather
than the width in the Draw() call.
Bug: angleproject:5542
Change-Id: If0bbc0d7ae3ecbb2211cfb27263324d23c5ff0af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3621319
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
bc929e6e
|
2022-05-02T11:00:20
|
|
D3D11: recompile all shaders using 10.0.20348.0 toolchain.
Bug: angleproject:5542
Change-Id: I604de49c62c0a1c3882946a7bdf9e7d1171e94ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3621833
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
454efd1d
|
2022-04-26T23:57:46
|
|
Add forceDepthAttachmentInitOnClear frontend workaround
AMD on D3D11 skips depth buffer updates in some cases.
Bug: angleproject:7246
Bug: angleproject:7200
Change-Id: I27bbea30fbf4173470063a670b9c43a805286c39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3608092
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
62ca6449
|
2022-04-13T09:36:40
|
|
Reland "Fix BlendStateExt::mMaxColorMask initialization"
This is a reland of commit 50d008a7efcab80f34eb742148d05389b2ed247e
Besides fixing the BlendStateExt color mask initialization bug,
the following changes were made:
* All fields were made private with accessor functions.
* A new assertion was added that ensures 64-bit storage for factors
and equations. This allowed dropping one redundant mask.
* Two new helper functions were added.
* BlendStateExt::mMaxDrawBuffers was renamed to mDrawBufferCount.
* The BlendStateExt class is now aligned to 8 bytes with an assertion.
* Expanded test coverage.
Also fixed incorrect usage of BlendStateExt fields in:
* StateManagerGL::syncBlendFromNativeContext
* StateManagerGL::restoreBlendNativeContext
Original change's description:
> Fix BlendStateExt::mMaxColorMask initialization
>
> This variable should not have its unused bits set.
>
> To avoid confusion with other masks of the same class,
> the variable was renamed to mAllColorMask.
>
> Bug: angleproject:7200
> Change-Id: I72542d49ff8da3dbb8d61c5034ce37c1e8fcc6e1
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3581990
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:7200
Change-Id: I87a5fe0f9dfbbf5e525b9120f772aa9adb39ce5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3593234
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
400d9fe4
|
2022-04-23T01:08:19
|
|
Rename feature files to *_autogen.h
To clarify further that they are not to be edited by hand.
Bug: angleproject:6435
Change-Id: Iaf79706d2b688a43b3ebb65700cfbdd71a49a742
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3603842
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
15895160
|
2022-04-05T15:43:52
|
|
Avoid leaking gl::Framebuffers in gl::Context
Fix by holding framebuffer via UniqueFramebufferPointer.
Removes redundant functions from gl::Surface.
Replaces UniqueObjectPointerBase with unique_ptr. The use-case needs
default initialization, move assign and operator bool. With these
implemented, UniqueObjectPointerBase would have been an imitation of
unique_ptr.
Patch by David Kilzer <ddkilzer@apple.com>
Bug: angleproject:6920
Change-Id: Id0c8fda95f62caa54c89d0a70684e386804db094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3568382
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
2dd13ebb
|
2022-04-21T11:25:00
|
|
Track Surface color & depth/stencil init separately.
This clears up some trace testing confusion due when robust
resource init is enabled, and the app clears color but not
depth on the default surface.
Bug: angleproject:7221
Change-Id: Id97871aec32ad831b663aaa9116e04b582ab5a36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3600375
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fcec6904
|
2022-04-13T14:18:06
|
|
Generate feature variable names from display names
The json file now only contains the feature display name. The variable
name is automaticaly derived.
For consistence with Chromium and other Chromium-based projects, the
display name is now always snake_case, and that's what's specified in
the json files. This also makes camelCase variable name generation
trivial (as opposed to the other way around).
Feature overrides now accept both snake_case and camelCase names to
ensure compatibility with existing scripts. This is done by removing _
and comparing override names with feature names in lower case.
Bug: angleproject:6435
Change-Id: I0b6ed2bbf5c312bc4f4be7b3c7d55dbaca2a9886
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3584630
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6e130d2b
|
2022-04-19T11:35:46
|
|
D3D: fix SSBOs used in vertex shaders.
Use the total number of pixel shader outputs as the base
UAV register for vertex and pixel shaders. This is less fragile than
making the vertex shader depend on the number of draw-time pixel shader
outputs.
Add a test that exercises SSBOs in vertex shaders, varying the number of
draw-time pixel shader outputs (which should have no effect on register
assignment).
Bug: angleproject:7156
Change-Id: I5801d59299275ea6d2569456d53c230e7e8ee5a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579501
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
8074061d
|
2022-04-09T01:03:53
|
|
Remove feature override platform methods
Instead, the tests now use the enable() functions to override the
feature at platform level.
This fixes the forceFallbackFormat feature mistakenly not having been
tested.
Bug: angleproject:6435
Change-Id: I605e4133407282bd52232887b595af0d2c13575d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3577369
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
445bf9bd
|
2022-04-09T08:42:12
|
|
Use the real max vertex attrib index instead of MAX_VERTEX_ATTRIBS
Bug: chromium:1258869
Change-Id: I7de23353fc6922be9b3201c87d33e0cfdc427569
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580578
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
9442b7a8
|
2022-04-12T12:07:47
|
|
D3D: Remove a pass-through function.
Bug: angleproject:7199
Change-Id: I6d10cb74640eb3be301209f510a52111ce88d5da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3583608
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
eeb39653
|
2022-04-08T16:09:48
|
|
Autogenerate features
Features are now specified in a json file and autogenerated. This is in
preparation for more autogeneration to support feature override in
tests.
This change doesn't yet fix the issues in anglebug.com/6435 and should
be a no-op.
Bug: angleproject:6435
Change-Id: Icdb63a94dc37b5fef0a356e0fc0b49937e083c8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579941
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6803a2d0
|
2022-04-01T16:52:49
|
|
D3D11: implement SSBOs in pixel and vertex shaders.
Since the 'u' register space for UAVs in pixel shaders is shared
with render targets, and the number of render targets may vary
depending on GL state, this required deferring register allocation
until draw-time output in DynamicHLSL.
Since non-compute shaders aren't able to immediately output the
SSBO declaration, initial register allocation was broken out from
ResourcesHLSL::shaderStorageBlocksHeader()
into ResourcesHLSL::allocateShaderStorageBlockRegisters() with
the former only called for compute shaders. These initial allocations
are offset by the number of RTs at draw time.
Since Raw UAVs may now be created at draw time for non-compute
shaders, call markRawBufferUsage() from the Renderer11::draw*()
entry points as it is from dispatchCompute*().
Bug: angleproject:7156
Change-Id: I6ab65af1ff36df0313e3c1f8f79661b1547ab9a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565562
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
f36dde31
|
2022-03-31T10:33:41
|
|
D3D: remove NV GetDimensions() workaround for image load/store.
RWTexture2D only has the 2-param version of GetDimensions(), since it
already refers to a single mip and layer. So this workaround just
causes compile failures.
Bug: angleproject:7121
Change-Id: I675eaf9ffadd75e186423a55bc9822e00432f89e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566218
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7e8e49a0
|
2022-03-28T13:42:50
|
|
Remove a set but otherwise unused var in DynamicImage2DHLSL.cpp
Recent Clang versions have enhanced -Wunused-but-set-variable which now
warns about this.
Bug: chromium:1309955
Change-Id: Ic62427ab3129838d03878c308c6260993ae9fa57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550204
Auto-Submit: Hans Wennborg <hans@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7a85d114
|
2022-03-25T15:01:17
|
|
Use [[nodiscard]] on RAII classes
Scoped* classes provide an RAII way of adding cleanup/restore state/etc
in a robust way. Unfortunatley, it's very easy to mistakenly leave the
variable name, leading to the destructor being called immediately
instead of at the end of the scope:
{
ScopedX(parameters); // instead of ScopedX x(parameters);
// Code here is run after destructor
}
The [[nodiscard]] attribute, if specified on the ScopedX class would
lead to a warning (turned to error with -Werror). This change does
that for classes named *Scoped* in ANGLE.
Bug: chromium:1103817
Change-Id: I65c9922c9b4eba1f9c033e093fe8fe534648ab62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552092
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
361874bb
|
2022-03-24T15:38:56
|
|
D3D: generalize more stuff (mImages, mReadonlyImages).
Bug: angleproject:7121
Change-Id: I39e7df1e9aed84c225c8877a3d16ca3c44f70990
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
cfee4070
|
2022-03-24T15:21:22
|
|
D3D: generalize Image2D, ReadonlyImage2D and AtomicCounter.
Mapify them so they can handle all shader types.
Bug: angleproject:7121
Change-Id: Ia80d46200bf30509e1484f1e198e1edfe6344207
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550542
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
c399c693
|
2022-03-24T14:10:57
|
|
D3D: more generalization: cached Image2DBindLayouts.
Bug: angleproject:7121
Change-Id: I5cead9f7e70cfb9ebea807b886ba849948a2ec47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550541
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
f2e7a235
|
2022-03-25T10:00:11
|
|
D3D: generalize the Image2DBindLayoutCache to be per-shader.
Bug: angleproject:7121
Change-Id: I3b5243583ac11a0fc96c4b9271118a8fd7ee4f66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
4e939ac6
|
2022-03-25T09:58:52
|
|
D3D: generalize mImage2DUniforms.
Mapify this variable so it can accommodate other shader types.
Bug: angleproject:7121
Change-Id: If6893a5fceaf50db87c42176c58319ce17d23d54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550539
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
3e0fba60
|
2022-03-24T11:09:24
|
|
D3D: generalize DynamicHLSL calls to take a shaderType.
This allows all shader types to use these Image2D calls.
Bug: angleproject:7121
Change-Id: I95f9e8a2fd206bcc3ff2ef7e06875d093d73dcd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
|
|
459bdc2f
|
2022-03-16T12:04:38
|
|
Reintroduce validation check only for D3D
To avoid undefined behavior, D3D requires the
base mip level to have multiple-of-4 dimensions.
Add this validation check back in.
Bug: angleproject:7099
Change-Id: Id51f6cd4c745455062b864c0d291b9857e985e35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3530499
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
4cca6b3e
|
2022-03-08T14:54:02
|
|
Early return when rebinding the same buffer, sampler or texture
Bug: angleproject:6955
Test: SimpleStateChangeTestES3.BindingSame*
Change-Id: If946a7cf534809d21e49138d9f34dcee61a73627
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3029049
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
904a4797
|
2022-02-15T10:58:07
|
|
Python3 upgrades
Required to run run_code_generation.py on gLinux.
Bug: angleproject:5707
Change-Id: Ifb416be6f89eb67faf43e7de66c6f9a92a5eb5e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3465514
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3adace15
|
2022-01-10T22:53:19
|
|
Don't expose detailed driver version info to webGL
WebGL's GL_RENDERER string now only includes basic version information
on all backends. This is controlled through a bool passed through
getBackendVersionString.
Bug: angleproject:6777
Change-Id: Ie4e3d91d22c96f175a8139fac1c66e985ed9e1b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3380263
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sean Risser <srisser@google.com>
|
|
118ce6aa
|
2022-01-20T16:55:04
|
|
Support to open d3d12 shared handles
For
https://docs.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-createsharedhandle
Bug: angleproject:6927
Change-Id: I0f0ce7bff37abfc278a167c6eec92eb3b6df1370
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3404060
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
471f1852
|
2022-01-31T11:22:49
|
|
D3D11: Fix underflow with computing small strides.
When an attribute stride was less than the size of a vertex
element, and the D3D11 back-end emulates this vertex format, our
vertex streaming logic could decide that an unsigned int underflow
means our element count in a buffer is not computable and return
zero.
Fix this bug by using signed integers in the element conversion.
Bug: angleproject:6958
Change-Id: Ibd9a3599d780e953d492db739c7443662c7e6b82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427559
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a20cd8b7
|
2022-01-22T01:40:34
|
|
Fix initialization for ETC2 punchthrough alpha formats
* Zero-filled ETC2_A1 data must be treated as opaque black
* Removed init functions when emulation is not needed
* Fixed initialization for emulated ETC2_R8G8B8A1_SRGB_BLOCK
Bug: angleproject:6936
Bug: angleproject:6941
Change-Id: Ie5555bbaa6b1a2bcfd9c22cb9c17d1a96e72aa70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3406761
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
453cd955
|
2022-01-17T13:26:39
|
|
Add EGL_ANGLE_platform_angle_display_id to D3D11 backend.
Uses the same LUID parts as ANGLE_platform_angle_d3d_luid. This
new extension is available on D3D11 on Windows and Metal on Mac.
Bug: angleproject:6903
Change-Id: Ib695affe47e822c4dfd7f41d8a62a85e74b9b90a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3396416
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
b0e15ee4
|
2021-12-28T20:37:33
|
|
Decide GL_KHR_parallel_shader_compile in backends
GL_KHR_parallel_shader_compile was previously being enabled
unconditionally in the front end. However, some backends (Vulkan)
perform worse with parallel shader compilation. This CL moves the
decision of enabling GL_KHR_parallel_shader_compile to the backends.
To support single-threaded shader compilation without affecting the
generic worker thread pool, Context::mSingleThreadPool is added to own
the single-threaded WorkerThreadPool and can be returned by the new
function Context::getShaderCompileThreadPool(). Otherwise, if the
extension is enabled, the (renamed) Context::mMultiThreadPool is
returned.
Bug: angleproject:6748
Change-Id: Ic8d3a183f397608f3002a05480deb976dfe44792
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f64f9546
|
2021-12-07T20:17:32
|
|
Reland "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 10e5f34d1439f0bcd5b30bea5bfbf6bdaafd4935.
Reason for revert: exonerated from flaky crash suspect
Original change's description:
> Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
>
> This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
>
> Reason for revert: suspect causing flaky crashes
>
> Bug: angleproject:6763
>
> Original change's description:
> > Decouple gl_BaseVertex/gl_BaseInstance uniforms
> >
> > These are builtin uniforms removed in
> > https://github.com/KhronosGroup/WebGL/pull/3278
> >
> > Decouple them from the original ANGLE_base_vertex_base_instance
> > extension.
> >
> > Make a new ANGLE_base_vertex_base_instance_shader_builtin
> > extension for these builtin uniforms.
> >
> > Bug: angleproject:3402
> > Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> > Commit-Queue: Shrek Shao <shrekshao@google.com>
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
>
> Bug: angleproject:3402
> Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Shrek Shao <shrekshao@google.com>
Bug: angleproject:6763
Bug: angleproject:3402
Change-Id: Ie436dc5d55364e464897d407a53b793941cd5d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321703
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
10e5f34d
|
2021-12-04T00:10:21
|
|
Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
Reason for revert: suspect causing flaky crashes
Bug: angleproject:6763
Original change's description:
> Decouple gl_BaseVertex/gl_BaseInstance uniforms
>
> These are builtin uniforms removed in
> https://github.com/KhronosGroup/WebGL/pull/3278
>
> Decouple them from the original ANGLE_base_vertex_base_instance
> extension.
>
> Make a new ANGLE_base_vertex_base_instance_shader_builtin
> extension for these builtin uniforms.
>
> Bug: angleproject:3402
> Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> Commit-Queue: Shrek Shao <shrekshao@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Bug: angleproject:3402
Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
36bf1ebe
|
2021-11-17T13:31:17
|
|
Decouple gl_BaseVertex/gl_BaseInstance uniforms
These are builtin uniforms removed in
https://github.com/KhronosGroup/WebGL/pull/3278
Decouple them from the original ANGLE_base_vertex_base_instance
extension.
Make a new ANGLE_base_vertex_base_instance_shader_builtin
extension for these builtin uniforms.
Bug: angleproject:3402
Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
45028d29
|
2021-11-30T10:37:06
|
|
D3D11: Fix OOB access in vertex conversion code.
This could happen when using certain combinations of stride and
offset. Fix the issue by using checked math.
Bug: chromium:1274499
Change-Id: Idba3beedad10b0c0cac2dcbecba8e420c5baa6da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3309035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ef65edf2
|
2021-11-22T14:23:35
|
|
Add extension: ANGLE_rgbx_internal_format
Add the extension ANGLE_rgbx_internal_format, which exposes the ANGLE
internal format GL_RGBX8_ANGLE. The format GL_RGBX8_ANGLE enables
emulating RGB8 formats with RGBA8 within ANGLE.
This also renames the format GL_RGBX8_ANGLEX to GL_RGBX8_ANGLE, since
it's being exposed.
Bug: angleproject:6690
Test: Texture2DTestES3.TextureRGBXImplicitAlpha1
Change-Id: I5548a3578a14e2f2a4006bbf59983b01f694b7f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3296625
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
17bf6e98
|
2021-11-11T20:53:31
|
|
Implement GL_EXT_multi_draw_indirect
* Added the validation functions for multiDrawArraysIndirect()
and multiDrawElementsIndirect() according to the specs.
* Added generic implementation for the two functions that can
be called by back-ends.
* Added unit tests for the multiDrawIndirect functions.
* Added flags for back-ends so they can enable the extension.
* Minor cleanup in MultiDrawTest.cpp
Bug: angleproject:6439
Change-Id: I4e5f1cab05c6de330aef82d115492dcc9d2fad44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276043
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5859bb10
|
2021-11-19T13:25:38
|
|
Make D3D11 non instanced draw path explict
To make sure instanceCount == 0 is no-op according to OpenGL ES
3.2 spec section 10.5.
Before the fix the behavior on linux (gl) and win (d3d) are
inconsistent.
Bug: angleproject:3402
Change-Id: I70ec215d8b65c1591b4c816f76c92e88e9f0dc61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3293749
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
6fe13477
|
2021-11-11T00:47:14
|
|
Vulkan: Add external's pNext to ANGLE_external_objects_flags
ANGLE was chaining VkImageFormatListCreateInfoKHR to
VkImageCreateInfo::pNext to support sRGB extensions. For external
images, it was unknown whether that was valid because there was no way
to know if external used an identical chain of pNexts. This was causing
a discrepancy between images created by Chrome and those created by
ANGLE as part of an import.
This change updates ANGLE_external_objects_flags to take in the pNext
chain external has used to create the image so ANGLE could create the
image identically.
Bug: chromium:1266094
Change-Id: I479b9e7ff39d437425dc91c79834880749766f99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274177
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ab514d4a
|
2021-10-22T20:51:08
|
|
d3d11: fix typo in pixel shader function signatures
These two shaders used "TEXCORD0" instead of "TEXCOORD0" which made the
Direct3D debug layers unhappy:
D3D11 ERROR: ID3D11DeviceContext::Draw: Vertex Shader - Pixel Shader
linkage error: Signatures between stages are incompatible. The input
stage requires Semantic/Index (TEXCORD,0) as input, but it is not
provided by the output stage. [ EXECUTION ERROR #342:
DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND]
Fixing the typo makes that error go away.
Bug: angleproject:6614
Change-Id: Ifa1c8c01fb4502398b3b4e13a411ef50bc3db483
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3239013
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab426735
|
2021-10-29T13:54:09
|
|
Template gl::Rectangle so it can be used for float
Bug: angleproject:6598
Change-Id: I8cf5894f0e34c56a6ad856c978be93ea9d5ae113
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253131
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a9f18f1
|
2021-10-18T10:44:38
|
|
Refactor program pipeline handling.
In preparation for moving more code from gl::Program to
gl::ProgramExecutable so it can be shared with ProgramPipeline.
Bug: angleproject:6566
Change-Id: Icb7ecccb37ae8e0d7d5fef8968f0dd7ef6fe6150
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226305
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aac5d678
|
2021-10-20T11:48:57
|
|
Make "isCompute" private to ProgramExecutable.
This eliminates uses of "isCompute" is the Vulkan back-end. Instead
of checking the state flag, we can use the context of the current
command to determine if we're running a compute or a graphics
command. This will eventually lead to us being able to compile the
program pipeline objects before we run a draw or dispatch command.
Changes the driver uniforms descriptor desc to bind to both graphics
and compute shader stages to simplify the code. This could have
theoretical but low-risk performance implications.
Bug: angleproject:6595
Change-Id: Ie30d419b6ece5b33f5066a034d3805fe96519b36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233903
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bdc633a8
|
2021-10-20T12:33:42
|
|
Pass command type down to ContextImpl::syncState.
This mirrors the command type passed to the object sync functions.
It will be useful to determine if we're syncing for a draw or a
dispatch call.
Bug: angleproject:6595
Change-Id: Ia04bd14a3c2dd2eb211c47a6e55f8ddcbfedfaaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233904
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d8471b29
|
2021-10-02T10:36:33
|
|
Fix ASAN bug caused by passing empty label string.
This CL will fix the ASAN bug that was caused by passing empty label
string to getMultisampledRenderTarget, function of TextureStorage11.
Instead, pass mTextureLabel so we can get WebGL labels now. Also to
avoid this in future, convert ref mTextureLabel to now store copy.
The change in the test reflects the steps to first set the label
string and later the label being used to initialize mTextureLabel via
texture storage creation.
Bug: chromium:1254746
Change-Id: I007bdf1c7a421a2b4b9288aa71fa4368c14cf333
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201030
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
01341f94
|
2021-10-11T19:26:07
|
|
D3D11: implement EXT_clip_control
This implements EXT_clip_control for the D3D11 renderer, so that I can
use a reversed-Z depth buffer with ANGLE.
Tested with
angle_deqp_gles2_tests.exe --deqp-egl-display-type=angle-d3d11 --deqp-case=dEQP-GLES2.functional.clip_control.*
and
angle_end2end_tests.exe --gtest_filter=*D3D11*
Bug: angleproject:6554
Change-Id: I1d11cd04a6654c28530b11104470f0cad0009abe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218659
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dccc0f8c
|
2021-10-05T09:22:19
|
|
Add docs for DXGI and D3D11 format tables.
Bug: angleproject:1691
Change-Id: I7a07228853aaf8f1536b145657a737dcf3e0e1f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205798
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ad8e4d99
|
2021-09-28T11:48:46
|
|
Remove EGL_ANGLE_flexible_surface_compatibility
This extension has been superseded by EGL_KHR_no_config_context.
Bug: chromium:1253930
Change-Id: Ie299c34baa84e9f47c73ddb5a0636536bf510d72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3190612
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5e029401
|
2021-09-28T15:49:20
|
|
Add a new variant to the labeling API.
This CL will create a new variant which will take both internal name
and KHR debug name and send them over to the D3D. This will help us
capture KHR debug label better and also prevent for the cases where
ANGLE was dropping the KHR labels on the floor when calling the label
API right after the commands like glTexStorage2D, glTexImage2D etc.
Bug: chromium:1164111
Change-Id: Ifebe8df5435a34692c601c5c35fddc1911bf9d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192180
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
c0aa6108
|
2021-09-17T16:22:55
|
|
Add new GL_RGBX8_ANGLEX format
Currently, IOSurface objects using {GL_RGB, GL_UNSIGNED_BYTE}
are natively represented with GL_BGRX8_ANGLEX, which we use
instead of other RGBA formats in order to avoid issues when
a canvas uses 'no alpha':
https://source.chromium.org/chromium/chromium/src/+/main:third_party/swiftshader/third_party/angle/angle/src/libANGLE/renderer/vulkan/mac/IOSurfaceSurfaceVkMac.mm;l=44
This unfortunately causes some other issues because of the
implicit RGB <-> BGR conversion like type mismatches in
subresource updates. This CL adds a new type, RGBX8, which
will be usable by IOSurface objects and which behaves exactly
like the BGRX8 format with the B and R channels flipped.
Bug: chromium:1209250
Change-Id: I345eadc8addd05a0964cae30d89c20005479e37b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3188910
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
20be5bed
|
2021-09-28T11:31:50
|
|
Expose EGL_KHR_no_config_context on more backends.
EGL_KHR_no_config_context can be exposed on any backend that supports
EGL_ANGLE_flexible_surface_compatibility
Bug: chromium:1253930
Change-Id: Iec75ce944fc463a8c476579234be77028f74113b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3190611
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c8e13389
|
2021-09-16T16:25:11
|
|
Fix memory leak in StreamProducerD3DTexture.validateD3DTexture
Calling ID3D11DeviceChild::GetDevice will add a reference to the D3D
device before passing it to the caller. Hence, we need to release
the device when we're finished using it.
Bug: angleproject:6403
Change-Id: I68cc8f64b3f9866cd6f1105334d86ee6774da52c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167013
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
e84b0154
|
2021-09-13T16:04:20
|
|
Update extension boolean names.
This is in preparation for auto-gen, which uses a simple naming
scheme. This fixes the bool names to be totally consistent with the
extension names.
Bug: angleproject:6379
Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1ca1589f
|
2021-09-13T10:56:58
|
|
Give GLES extension bools a vendor suffix.
This is in preparation for auto-generation which will give all of
these bools suffixes.
Bug: angleproject:6379
Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9ada074a
|
2021-09-10T16:18:19
|
|
Move capability values from gl::Extensions to gl::Caps.
Several extensions stored extra information in the wrong structure.
Move them to the Caps structure in prepraration for auto-generating
the Extensions struct.
Bug: angleproject:6379
Change-Id: If5643b72039e299cb0f7c49591d13b3c7cd8a36c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158403
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
46555145
|
2021-09-02T14:55:02
|
|
d3d11: Allow binding R/RG texture to EGLImage
Also allows GL_RED/RG/R16/RG16_EXT as well as GL_RGB10_A2_EXT which was
left out previously by accidently to match Chromium behavior. Adapts
the existing ClearTextureImage test to parameterize over a number of
texture formats.
Bug: angleproject:6369
Change-Id: I91110a06b08379a3067a2161e345258415cd5e16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140744
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
e1bc8de3
|
2021-09-08T07:59:37
|
|
Change links from 'master' to 'main' branch.
Bug: chromium:1226949
Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8bb3c827
|
2021-07-22T19:06:40
|
|
Fix Multithreaded eglDestroyContext()/eglTerminate()
The following EGL calls can lead to a crash in eglMakeCurrent():
Thread A: eglMakeCurrent(context A)
Thread B: eglDestroyContext(context A)
B: eglTerminate() <<--- this release context A
Thread A: eglMakeCurrent(context B)
The eglMakeCurrent(context B) call will assert when attempting to
unMakeCurrent(), since thread A doesn't know that context A was already
destroyed by thread B.
To fix this:
1.) A Context will only be released once there are no Threads that
currently have a reference to it (no longer have the Context current).
- Context::mIsCurrent is being removed, since it was inaccurate and not
thread-safe. For example, when eglTerminate() was called, the
eglTerminate()'ing-Thread would "steal" the Context that was current on
another Thread to destroy it.
2.) A Display will only be fully terminated and its resources released
once all Contexts have been destroyed and are no longer current.
Otherwise, Display::terminate() will return if any Contexts are still in
use by a Thread.
EGL 1.5 Specification
3.2 Initialization
If contexts or surfaces, created with respect to dpy are current (see
section 3.7.3) to any thread, then they are not actually destroyed
while they remain current. If other resources created with respect to
dpy are in use by any current context or surface, then they are also
not destroyed until the corresponding context or surface is no longer
current.
With this fix, the app com.netmarble.sknightsmmo can start.
This also exposed an issue with GlslangFinalize(), since glslang can
only be initialized/finalized once per process. Otherwise, the
following EGL commands will call GlslangFinalize() without ever being
able to GlslangInitialize() again, leading to crashes since
GlslangFinalize() cleans up glslang for the entire process.
dpy1 = eglGetPlatformDisplay() |
eglInitialize(dpy1) | GlslangInitialize()
dpy2 = eglGetPlatformDisplay() |
eglInitialize(dpy2) | GlslangInitialize()
eglTerminate(dpy2) | GlslangFinalize()
eglInitialize(dpy1) | isInitialized() == true
Since Display::isInitialized() == true, the rest of
Display::initialize() is skipped and GlslangInitialize() is not called.
Later, the next test that attempts to compile a program will crash due
to glslang no longer being initialized.
Finally, this exposed the following tests leaking EGLContext handles:
- EGLSurfaceTest::initializeContext()
- EGLContextSharingTest.DisplayShareGroupContextCreation
- EGLCreateContextAttribsTest.IMGContextPriorityExtension
- EGLMultiContextTest.TestContextDestroySimple
Other tests were failing to reset the context, preventing the Display
from being terminated since there were still references to Contexts
owned by the display:
eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
Bug: angleproject:6208
Bug: angleproject:6304
Bug: angleproject:6322
Test: EGLContextSharingTest.EglTerminateMultiThreaded
Test: EGLContextSharingTestNoFixture.EglDestoryContextManyTimesSameContext
Test: Load com.netmarble.sknightsmmo
Change-Id: I160922af93db6cabe0ed396be77762fa8dfc7656
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046961
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
794b13ce
|
2021-09-01T12:17:26
|
|
D3D11: Fix overflow in GenerateInitialTextureData.
Our use of unchecked math was causing OOB accesses with very large
textures. Unfortunately it's not easy to make a passing test that
reproduces this OOB access.
Bug: chromium:1241036
Change-Id: Icd2749f5b3116bb51390ce769fef22c49a11f307
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136733
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f015ae81
|
2021-08-02T12:47:32
|
|
Implement onLabelUpdate method.
This change will implement the onLabelUpdate method by calling from
every TextureStorage object. Instead of using setDebugName,
introduced two new functions, setInternalName and setKHRDebugLabel,
which will set the internal name and KHR label respectively that will
further be sent to D3D string.
Bug: chromium:1164111
Change-Id: I401ca9f6e8a2099a8807f0d7f321efe74269f9f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067921
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
6136620b
|
2021-03-25T15:43:06
|
|
Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0b651e42
|
2021-07-20T11:48:38
|
|
Vulkan/D3D11/Metal: Expose GL_NV_framebuffer_blit
GL_NV_framebuffer_blit is equivalent to ES3 blit which these backends
support.
Bug: chromium:1220246
Change-Id: I6ef0b80f9e9ba7828d6720cdbe19c83c4abdc4cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041878
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
856228b0
|
2021-08-05T23:10:25
|
|
D3D9: Expose EXT_sRGB and EXT_texture_compression_s3tc_srgb
sRGB reads are supported on D3D9 via SetSamplerState.
sRGB writes are supported on D3D9 via SetRenderState.
Bug: angleproject:6258
Change-Id: I841c25ce66486e93ae2122b370e910f383fed774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076359
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
8387f10f
|
2021-08-06T21:46:02
|
|
D3D9: Mark destination images dirty after CPU-copy path
Fixes WebGL CTS failures for L and LA formats in:
conformance/textures/image_bitmap_from_canvas
conformance/textures/webgl_canvas
Bug: angleproject:2192
Change-Id: If3a9bd81298c76320ed029617fd4965efe4e8ef0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076720
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
16a61bbb
|
2021-08-05T23:06:22
|
|
D3D: Fix not notifying RenderTarget release in TextureD3D
This could lead to use-after-free for the RenderTarget object.
Bug: chromium:1234829
Change-Id: I73d4547b8f09f2f2cf3f7f8394f7f573fe5a4ef5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3063858
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
215d00b1
|
2021-08-03T23:34:02
|
|
D3D11: Add validation for storages size in updateBufferStorage
The source/dest BufferStorage used by the updateBufferStorage
may have a raw buffer ptr value of null.
Add size validation to prevent null crashes.
Bug: angleproject:6235
Change-Id: I57ed1ae0e558bd2f61273c64ed067958a1603425
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3069000
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ae24c9d3
|
2021-07-19T12:11:41
|
|
Remove space from internal debug name strings.
This changes will reduce the amount of memory used by labels by
removing the in between spaces from internal debug name strings.
Bug: chromium:1164111
Change-Id: I0ec657789dade2c3c053966ffccfbd673186fdad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3039119
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
0d06c3cf
|
2021-07-26T04:30:39
|
|
Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
Change-Id: I144165ae5ec47aba88658030a6ba3e371bf31ee7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053616
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c408926f
|
2021-07-22T12:00:59
|
|
Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6210a9b3
|
2021-03-25T15:43:06
|
|
EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6a86d207
|
2021-07-16T18:28:13
|
|
Add a feature flag allowES3OnFL10_0 to allow ES3 on d3d10.0.
(Originally by Jeff Muizelaar <jrmuizel@gmail.com>)
This lets us run WebRender on devices that only support D3D 10.0.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1620075
Bug: angleproject:6189
Change-Id: I77c09851c50dee206702b1da25a9ef0c05eeb6c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036598
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
|
|
fb26ba6a
|
2021-07-06T14:24:29
|
|
Extend Intel graphics driver version to 2 fields
The 4th field of Intel new graphics driver will overflow soon. For
example, the lastest driver version is 27.20.100.9466 and the 4th field,
9466, will meet the maximum 9999 soon. Future driver will bump the 3rd
field from 100 to 101. This CL extends driver version check from 4th
field to both 3rd and 4th fields.
Check below 2 documents for more details.
https://www.intel.com/content/www/us/en/support/articles/000005654/graphics.html
https://docs.google.com/document/d/1Xm4afyGR3Ow3W2G-uig9fLQR01XzmSXeanM9OXDVhlg/edit#heading=h.k8onwbxk2ig
Bug: angleproject:6138
Change-Id: Iefb1d56b48d0f08e79c329c422a6ef142b33553d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007570
Commit-Queue: Yang Gu <yang.gu@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
97987658
|
2021-06-06T11:36:49
|
|
D3D: Update format table with new YUV formats
They are currently mapped to angle::FormatID::NONE
Bug: angleproject:5773
Change-Id: I0cba77158ef06bf39fbb30702e0fa91a37f660a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947764
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c9dcc553
|
2021-06-22T18:55:39
|
|
Move Objectlabel from Texture object to TextureState object.
Created a subscriber function onLabelUpdated in the storage base
class. The derived storage class will pass the label reference to
the base storage class in the constructor. Future changes will use
this label reference to update the label string with D3D.
Bug: chromium:1164111
Change-Id: Ic5ca73bac61427afe392bb5bcc6a6eab8e785941
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981451
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
9f256d10
|
2021-07-07T02:14:13
|
|
D3D11: Fix incorrect bounds checking in Blit11
This could lead to blitting depthStencil buffer incorrectly.
Bug: angleproject:6140
Change-Id: I2c5786c0375f8e2fefe862da68929340844ce9ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3009736
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1bffabe8
|
2021-06-29T18:13:39
|
|
Fix -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd797f75
|
2021-06-14T11:27:27
|
|
D3D11: Fix OOB write in Blit11.
This could happen for specific values of the 'dest' target.
Bug: chromium:1219082
Change-Id: Ic19a5dc4a95531f9513403ad9c97a4b4c5dc5a6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2961070
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5b314268
|
2021-06-15T17:37:45
|
|
Vulkan: Support OVR_multiview and OVR_multiview2
Multiview is supported in Vulkan simply by specifying the number of
views in the render pass, and creating the appropriate image views. A
number of changes to the way image views and render targets are stored
are made to support those that don't cover the entire range of layers.
One particular detail that is not implemented in this change is the use
of queries in combination with multiview. Vulkan specifies that N
queries are actually produced (N being the number of views) which must
be summed by the application, but this is not currently done.
Bug: angleproject:6048
Change-Id: I1d4a9894c232d3a93d7a97c9fa0eedc334e57469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967625
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7c253fca
|
2021-06-02T13:18:44
|
|
D3D11 additional context-loss logging
This makes logging more consistent when we encounter context loss.
In Renderer11::testDeviceLost, note DXGI_ERROR_INVALID_CALL is a
valid GetDeviceRemovedReason, but was not detected prior.
SwapChain11::resize and SwapChain11::reset added more logging,
likewise with Context11::handleResult.
This covers everywhere d3d11::isDeviceLostError is invoked, though that
might not be exhaustive of all cases we detect device loss.
Bug: b/188291915
Test: Manually trigger conditions to test logging.
Change-Id: Idd57363101b53bc2d3c4c306ee78a42012a1a320
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2935696
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Doug Horn <doughorn@google.com>
Commit-Queue: Michael Yu <warty@google.com>
|