|
66665af2
|
2020-07-28T15:26:42
|
|
macOS/ARM: Allow populating GPU based on AGXAccelerator
The existing scheme for populating GPU vendor and device IDs fails
on macOS/ARM. If we find no PCI registry entries, look for a
AGXAccelerator entry, and (partially) populate that.
This is sufficient for Chrome to initialize hardware acceleration.
It is unknown how this will interact with multiple GPUs, and this
will likely need to be revisited.
Bug: chromium:1110421
Change-Id: I08069d7aecf45c83a1d2827cfccc4733c1835994
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2324939
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: ccameron <ccameron@chromium.org>
|
|
f776eb9c
|
2020-08-01T23:45:24
|
|
Vulkan: EXT_multisampled_render_to_texture2 support
The previous change that implemented EXT_multisampled_render_to_texture
already provisioned this extension in the Vulkan backend. This change
implements the front-end for this extension and enables it in the Vulkan
backend.
Bug: angleproject:4836
Change-Id: I7080260972e61727c5716051c236f635668cb67b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330510
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
47207e42
|
2020-08-01T23:43:43
|
|
Vulkan: Fix blit/resolve of mixed-samples framebuffers
A framebuffer could contain a mixture of multisampled and
multisampled-render-to-texture attachments. When used as the source of
a glBlitFramebuffer operation, the former requires a resolve while the
latter is a blit. This change fixes this use-case.
Bug: angleproject:4836
Change-Id: I1d39bf25f54df9f8b68304058596a2d1c975f9ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333987
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d41280a7
|
2020-08-04T09:08:05
|
|
Suppress SurfacelessContext test on Android/NVIDIA
EGLSurfacelessContextTest.Switcheroo/ES2_OpenGLES_NoFixture is
failing on NVIDIA Shield TV.
Bug: angleproject:4924
Change-Id: I4bd0744fd19cb3473cc654ede5870374506ddc46
TBR=jmadill@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336189
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d741c85
|
2020-07-31T15:40:17
|
|
Tests: Remove more optimizations from traces
With the addition of NBA2K20, which has stressed multiple parts
of our solution, we need to scale back the optimization done on
the trace itself. Otherwise the link never completes.
Test: angle_perftests --gtest_filter="TracePerfTest.Run/*nba*"
Bug: b/160014453
Bug: angleproject:4048
Change-Id: I064813326d401cdcc5649c45255eb214cbf0a2db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335607
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
709472c9
|
2020-08-03T15:43:12
|
|
Vulkan: Fix variable scope bug during vkCreateInstance
While enabling best practices layer the struct that
gets added to the pNext chain is a stack variable and
goes out of scope beyond the if-check. Move the
struct variables out of local scope to prevent access
violation errors during vkCreateInstance.
Bug: b/156661359
Change-Id: Ifa470ff1e51d454782695adcf40b4db2aa1608a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335747
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
11207393
|
2020-08-01T19:47:21
|
|
Vulkan: Add an overlay counter for descriptor writes.
Note: currently the trace test shows about 1000 descriptor
set writes per frame in NBA2k20.
Bug: angleproject:4911
Change-Id: Id50d05fe405249c80a38dbbe3c96e7bd8c66cbc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333398
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
22e6fc03
|
2020-07-31T15:58:28
|
|
Vulkan: Move Resource Serial gen into Renderer.
Putting Serial allocation in the Renderer allows the Helper
classes to manage allocating its own Serial. The init functions for
ImageViewHelper only have access to a vk::Context/RendererVk, not a
ContextVk. This will be updated in a future CL.
Re-uses the Serial Type X-Macro to do more code generation.
Serial allocation now uses an atomic because of its now Renderer
shared location.
Bug: angleproject:4911
Change-Id: I2d5d3d0bbf613d5468de795a700f66164291bc79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332884
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
1780609d
|
2020-08-03T17:01:21
|
|
Trace Tests: Disable timestamp queries.
This framebuffer changing timing code adds overhead so it should stay
disabled unless turned on explicitly.
This was causing a performance regression in the native benchmark for
some trace tests like egypt.
Bug: angleproject:4845
Change-Id: I51c77d544cae063ba185aa4f20d028d9ffa7a2ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335021
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
515b0775
|
2020-07-31T12:14:59
|
|
Metal: Enable EGL_KHR_surfaceless_context.
Surfaceless contexts are emulated in the frontend so this extension
can be enabled for the metal backend. It's needed to run Chrome
with ANGLE's metal backend.
Bug: angleproject:4847
Change-Id: I3a2f74fd5f2ac75a056c528c8b30ffbd41d73e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
846cd169
|
2020-07-30T22:11:12
|
|
Add vertex array serialization capability
Serializes vertex arrays' states stored on CPU.
Adds vertex array serialization to serializeContext method so that
capture replay regresssion testing now compares the states of vertex
array objects too.
Bug: angleproject:4817
Change-Id: Ia2897c056adff9bd433765186240ab07f78db232
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331737
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4c7e3ee3
|
2020-08-03T12:26:05
|
|
Capture/Replay: Account for EGL_KHR_no_config_context
EGL_KHR_no_config_context allows creating a context with
EGL_NO_CONFIG. Add a null check when collecting config
attributes. This fixes trace capture of Angry Birds 2 by
allowing CaptureReplayTest to pass EGL_DONT_CARE
for the config parameters.
Bug: angleproject:4817
Change-Id: I982136ae2a7db4bd8d3f16f4accfe093e5610091
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333356
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
be6a1d87
|
2020-07-29T10:15:28
|
|
Add texture serialization capability
Serializes textures' states stored on CPU.
Gets textures' contents at every mipmap level from GPU then
serialize them.
Adds texture serialization to serializeContext method so that capture
replay regresssion testing now compares the states of texture too.
Bug: angleproject:4817
Change-Id: I87670fdc744f96d4ff244462dee1a065de44f9b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2325029
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69ca1025
|
2020-07-31T02:08:09
|
|
Metal: Implement EGL_ANGLE_iosurface_client_buffer.
GL_R16UI format is not supported yet. It will be implemented once
integer textures are implemented in metal back-end.
Bug: angleproject:4847
Bug: angleproject:2634
Change-Id: I60a52c0ce327a524c74e80b18bb15978ac52065b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329091
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a5a08b5e
|
2020-07-31T01:57:33
|
|
Metal: Enable end2end tests on Intel.
Bug: angleproject:4133
Bug: angleproject:2634
Change-Id: I3eff5ff81e908eec2990eb036728aa9878c8f802
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329090
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4f7f4387
|
2020-07-24T11:44:02
|
|
Add entry points for OES/EXT_texture_buffer
This extension is core in 3.2
Bug: angleproject:3573
Change-Id: If08736759da2fdc680cfa396d354dbfa97d1a60f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317040
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e1abc75
|
2020-07-24T10:38:40
|
|
Vulkan: Set depthStencil loadOp to DontCare when not used and stored
If depth stencil buffer is disabled during entire renderpass, and at the
end of renderpass we are not storing the data back to memory, then force
the loadOP to DontCare to avoid unnecessary depth stencil load or
clear.
Bug: b/162080462
Change-Id: I30905a6d45bec038de68e7f363ec699eb2be09ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317726
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
91f54d83
|
2020-08-02T11:28:49
|
|
Capture/Replay: Use vector for resource maps.
unordered_map was showing up as a hotspot in replay profiling.
Bug: angleproject:4916
Change-Id: I840371313ab51faa088664b9840c7ef3f998fcad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334094
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
663075ac
|
2020-07-31T01:54:45
|
|
Metal: Fix Intel's LOD clamp and blit shader's filtering.
1. Setting max LOD clamp = FLT_MAX via setSamplerState caused mipmap
tests failure on Intel. It always picked wrong mipmap level during
texture sampling. Fix: Use value from SamplerState::getMaxLod()
instead.
2. Also set default linear filtering for blit shader's sampler.
Previously there was no sampler set for this shader. It caused black
fragments on Intel.
This CL is a prerequisite for enabling end2end tests on Intel & Metal.
Bug: angleproject:4133
Bug: angleproject:4915
Bug: angleproject:2634
Change-Id: I9e6b669712a294e09ab692a3c65f3956a799ef8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329089
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6c5ad2e9
|
2020-08-01T15:43:43
|
|
Vulkan: Remove ImageHelper::mSerial.
This serial is no longer used by any code.
Bug: angleproject:4911
Change-Id: Id82ef697b81b5738333f3280c58fd613615b6e09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2d0265fa
|
2020-08-02T12:01:46
|
|
Trace Tests: Scale results based on frames in capture.
This now reports averaged time per frame instead of per "step".
Scores in general will be divided by 11. Results still reported
in nanoseconds.
Bug: angleproject:4920
Change-Id: I6f9dca75885cce358c3c7d1e871441969d8aa3d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334095
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
89ade79a
|
2020-07-31T16:04:09
|
|
Vulkan: Clean up ScopedDescriptorSetUpdates.
Matches style guide requirement for types before members. Also
moves the implementation of the class entirely into the cpp file.
Moves the method implementation in ContextVk so we can more easily
alter member variables.
Unrelated cleanup done while working on consolidating RenderPasses.
Bug: angleproject:4911
Change-Id: Ibe4273fc609b494840f1e86584bcee5bc31397d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331950
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
fba96e90
|
2020-07-30T10:04:59
|
|
Add shaders and programs serialization capability
Serializes shaders and programs' states stored on CPU.
Adds shaders and programs serialization to serializeContext method so
that capture replay regresssion testing now compares the states of
shaders and programs too.
Bug: angleproject:4817
Change-Id: I026762ffcd85c9cf209f17d02025730aa286bd2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329830
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
322cc825
|
2020-08-02T17:27:23
|
|
Rename RenderPass test to performance counter test.
This is a better naming for new tests that will check other counters
such as the number of command buffers, barriers, and descriptor set
writes.
Bug: angleproject:4911
Change-Id: I8b2c12f6e043c2833e64fa9627f781e61f8f0f3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334089
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
41442cce
|
2020-07-31T11:44:38
|
|
Autogenerated changes for GL_EXT_multisampled_render_to_texture2
Bug: angleproject:4836
Change-Id: I86143c6b21ecdbc666ce316b6e4a4b402257f01c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332957
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
d04a5593
|
2020-07-31T10:55:38
|
|
Vulkan: Add RenderPass count test.
Bug: angleproject:4911
Change-Id: I4c4e187b6b048118ce1231ae8924340ad382c43f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331741
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dae77893
|
2020-07-30T11:57:40
|
|
Vulkan: Avoid clearWithClearAttachment if RP command buffer is empty
If renderpass has started but no command has been issued, we should
chose to use loadOp to do clear instead of clearWithClearAttachment.
Bug: b/162521656
Change-Id: Ia681fc96442c7916b4b92c48e970d9ed239a28c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330225
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
9b1cab0d
|
2020-07-31T11:40:05
|
|
Fix validation of glFramebufferTexture2DMultisampleEXT
In preparation for GL_EXT_multisampled_render_to_texture2. This makes
the validation reuse what's there for glFramebufferTexture2D in addition
to what GL_EXT_multisampled_render_to_texture requires.
Additionally, it uses packed enums for texture target and id.
Bug: angleproject:4836
Change-Id: Ie778c84e1ff5a0cb6615257f2aff9e04395dd5aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332956
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
38e7f7a6
|
2020-07-30T14:35:50
|
|
Vulkan: Make CommandBufferHelper::empty() logic less obtuse
CommandBufferHelper::empty() logic is simplified and commented to make
it easier to read. Basically empty() means there is no work in the
CommandBufferHelper object. For RenderpassCommands, that is equivalent
to !started().
Bug: b/162521656
Change-Id: Ic9683b392835a677501cb81e5e8a025e031ebf93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330379
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
aca14d47
|
2020-07-29T13:52:28
|
|
Add renderbuffer serialization capability
Serializes renderbuffers' states stored on CPU.
Gets renderbuffers content from GPU then serialize them.
Adds renderbuffers serialization to serializeContext method so that
capture replay regresssion testing now compares the states of
renderbuffers too.
Bug: angleproject:4817
Change-Id: I537b11ee85decb14eea461ebbd62ce6ab0402f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327173
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bd7cef28
|
2020-07-31T11:18:27
|
|
Trace Tests: Fix Win/x86 crash.
A missing KHRONOS_APIENTRY annotation was causing a crash due to
stack corruption in Win/x86 only.
Bug: angleproject:4845
Bug: chromium:1111764
Change-Id: I60b30ce8bc409c71d223eaedd74dc0c1ae034f7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331739
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cbd5bee8
|
2020-07-13T20:31:29
|
|
Disable shader's pre-rotation code on Metal & non-Android.
Pre-rotation code were added to transform gl_Position, gl_FragCoords,
gl_PointCoords, dFdX, dFdY in shader. However, it is only useful for
android's surface pre-rotation and completely un-needed in Metal
back-end.
This CL disables these pre-rotation code if the platform is not
android.
Bug: angleproject:4678
Change-Id: I89c42fcf24b49896f4ed9c2f9465da521beaf25f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2295000
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
19a1943b
|
2020-07-28T14:02:47
|
|
Allow GetSystemInfo to return false in CGL and EAGL backends.
This API is documented as returning false if information is
incomplete, but this should not cause a failure to initialize ANGLE's
Display. This change is a refinement of one made in WebKit's
downstream copy of ANGLE, likely in support of forthcoming Macs with
Apple Silicon, in https://bugs.webkit.org/show_bug.cgi?id=213479 .
Bug: angleproject:4902
Change-Id: I40a664a5db67b2aa37f15617b1cbcc3119793ee0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2324462
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
f3a38d97
|
2020-07-23T19:00:34
|
|
Add a custom trace tests loader.
This custom loader will disambiguate the trace tests gl layer
from the util GL/EGL loader.
Bug: angleproject:4845
Change-Id: I5e8340eb50f736d931302f71f15f556fd9e52081
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2315627
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
|
|
2c41931c
|
2020-07-21T14:21:27
|
|
Batch-compile and batch-run-replay multiple tests
Multiple tests are batch-compiled into 1 replay application instead of
multiple replay applications. Replay application now runs generated
code of multiple tests instead of 1 test. This reduces overhead cost
and brings down runtime.
Main process now receives messages sent by workers via a message queue
and prints them to the main stdout so that user can know if workers are
hanging.
Add handle for user interrupt (Ctrl-C) so that processes are properly
destroyed and cleaned up.
Trace files now have the option not to be deleted.
Bug: angleproject:4817
Change-Id: Ic90ae0f430e1d3c261ffea5f963be5a4e94b0ad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310909
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
d7d79de3
|
2020-07-30T11:08:02
|
|
Update inaccurate error string.
Noticed when working on the traces.
Bug: angleproject:4845
Change-Id: I954851bc739e41ce84047eaf5e0dc4c8bcf57199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329832
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aed3d65b
|
2020-07-29T22:23:00
|
|
Tests: Add NBA2K20 trace
Test: angle_perftests --gtest_filter="TracePerfTest.Run/*nba*"
Bug: b/160014453
Bug: angleproject:4048
Change-Id: I4899af05d48ad2900e6d5e44adc5f5e0bdba157e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2326911
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
248d754a
|
2020-07-29T16:50:03
|
|
Capture/Replay: Limit string lengths in capture
MSVC can't handle string lengths longer than 16380 according to:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026
Example build failure without this CL:
https://logs.chromium.org/logs/angle/buildbucket/cr-buildbucket.appspot.com/8873410048312858000/+/steps/compile_with_ninja/0/stdout
Test: Compile NBA2K20 MEC with MSVC
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Ie14d40e8c3eea35d08d4be32455b327a311f1bcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327702
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a9504808
|
2020-07-29T16:33:45
|
|
Vulkan: ATrace marker fix-ups
Fix a couple of mislabled atrace markers and add explicit markers
for inside/outside renderpass flushes.
Bug: b/156403378
Change-Id: I4045846e54ff54bc8fc3dd6ef47339f6f5eb8e87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327828
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
dcc56215
|
2020-07-19T01:12:09
|
|
Vulkan: Implement GL_EXT_multisampled_render_to_texture
This change allows the use of resolve attachments in the Vulkan backend.
GL_EXT_multisampled_render_to_texture is implemented using this feature.
The infrastructure for specifying resolve attachments is designed with
eventual support for GL_EXT_multisampled_render_to_texture2 in mind as
well as optimizations to glBlitFramebuffer() and multisampled
backbuffers.
Proper support for glRenderbufferStorageMultisampledEXT is still missing
from this change. All tests use this for the depth/stencil attachment
and don't read back the data. Currently, the depth/stencil attachment
is created as a normal multisampled image.
Bug: angleproject:4836
Change-Id: I110a7f63312ae61a657b6094adf7d97c92bd5843
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304170
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d56ed7cf
|
2020-07-30T08:13:07
|
|
Support EGL_ANGLE_display_semaphore_share_group for DisplayNULL
Bug: angleproject:4877
Change-Id: I811ff57625a6bac749a50a1a53da48e62f5b8222
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
19aac801
|
2020-07-28T11:18:53
|
|
Vulkan: Remove unnecessary endRenderPass calls.
In both onImageRead and onImageWrite, there's a call to
endRenderPassAndGetCommandBuffer when necessary to record a command.
There was an extraneous call to endRenderPass in both functions for no
good reason.
Bug: angleproject:4882
Change-Id: I8f3b18dbb3cb9a8b92dedcc603eaf44b1e485986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323642
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1c1c6b4e
|
2020-07-29T13:17:16
|
|
Vulkan: Cache/re-use vkImageView's per max level
For applications that frequently switch a texture's max level, cache
and re-use "read view" vkImageViews per max-level.
Test: NBA 2K20
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_texture_mipmap_*_max_level_* --use-angle=vulkan
Bug: b/161993151
Change-Id: I9a6a81d5234196040bc6c264ec627a073ba73293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321370
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4cf2501c
|
2020-07-27T13:19:27
|
|
Add extension EGL_ANGLE_display_semaphore_share_group
For sharing semaphores globally.
Bug: angleproject:4877
Change-Id: I472e0902fd04ca8350d74e6c0ae6925ee930ccf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5f6f47f6
|
2020-07-29T14:26:37
|
|
Tests: Update gfxbench traces
Use new capture calls to support offscreen mode.
Test: run_angle_perftests --gtest_filter="*Trace*"
Bug: angleproject:4845
Change-Id: I6d9ea79bd8339b7d5398e34b0407425e80ce1d32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327699
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc846039
|
2020-07-27T21:05:11
|
|
Capture/Replay: Fix GetTexImage on Luminance
GetTexImageANGLE and GetRenderbufferImageANGLE use ReadPixels to
pull texture data. Luminance is not a renderable format, so it is
not supported by ReadPixels. To support this, override Luminance
formats to their underlying internal format.
Test: angle_end2end_test --gtest_filter="*GetTexImage*"
Bug: b/160014453
Bug: angleproject:4058
Change-Id: Id19344c2e2c06386a871338833e35b7747cb966b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321740
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d019af80
|
2020-07-29T11:30:34
|
|
Capture/Replay: Fix missing header.
This was missing from a prior commit.
Bug: angleproject:4845
Change-Id: Iff2b0f300270df4c2e26265c5af81af8ae7e5e54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2325032
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e4ceee97
|
2020-07-17T15:57:37
|
|
Capture/Replay: Break up SetupContext
While getting NBA2K20 MEC to work, discovered that
SetupContext was so large, it was causing a stack
overflow. To fix, simply break up the function into
a series of helpers if the number of calls exceeds
a set limit.
Test: NBA2K20 MEC
Bug: b/160014453
Bug: angleproject:4048
Change-Id: I332d5dea5fc4e14700b68150cbe31a4c88cdae89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321739
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bba8daea
|
2020-07-27T20:07:53
|
|
Perf Tests: Use timestamp queries for GPU time.
Testing shows that using timestamp queries and deferring the
query get calls until after the frame produces little overhead.
Also this fixes a missing GPU time reset between iterations.
Bug: angleproject:4879
Change-Id: I2a566548add1536aab689cd969594a15f0628da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321573
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
07cdf421
|
2020-07-28T09:08:46
|
|
Vulkan: Add new validation skips
Skip new error UNASSIGNED-CoreValidation-Shader-InputNotProduced
and best practices warning
UNASSIGNED-BestPractices-vkCmdClearAttachments-clear-after-load
Bug: b/156661359
Bug: angleproject:4883
Change-Id: I05bf5cac46c54bfb32fa47ea6d3398bd534450f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323641
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
2918eade
|
2020-07-28T13:08:05
|
|
Remove context id serialization
Serializing context id causes many tests to fail capture replay test.
Remove it from the the GL context state's serialization.
Bug: angleproject:4817
Change-Id: Ide04f24c54d1f1fced532e49e85c0c2970816f5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323645
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
44bb4d7a
|
2020-07-22T13:58:50
|
|
D3D11: Fix bug with static vertex attributes.
In some specific cases after binding a zero size buffer we could end
up trying to use a buffer storage that was no longer valid. Fix this
by ensuring we don't flush dirty bits when we have an early exit due
to a zero size buffer.
Also adds a regression test.
Bug: chromium:1107433
Change-Id: I9db560e8dd3699abed2bb7fe6d91060148ba1817
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314216
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
50a27257
|
2020-07-22T22:14:16
|
|
Adds sampler serialization capability
Adds the ability to serialize sampler objects.
Adds serialization of sampler objects to serializeContext method so
that capture replay regression testing now compares the states of
samplers too.
Bug: angleproject:4817
Change-Id: Ic32d442eac9aa3afc5c9eea577522fe7054a755a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2315048
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
68791f89
|
2020-07-20T17:42:23
|
|
Vulkan: Fix sub invalidate marking render targets undefined
When glInvalidateSubFramebuffer is called, the framebuffer is only
partially invalidated. FramebufferVk::invalidateImpl was nevertheless
marking the render targets as undefined, which would lead the subsequent
render pass have loadOp=DONT_CARE. This is not correct, as the rest of
the framebuffer is expected to still be valid.
Bug: angleproject:4859
Change-Id: I2e64baa32b1fc84beb8008411b564cd7619af962
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309111
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
de309a42
|
2020-07-21T17:19:17
|
|
Vulkan: Make staging buffer per context
Right now staging buffers are per BufferVk. This will make it per
ContextVk so that it can be shared among all objects that needs a
staging buffer.
Bug: b/161846868
Change-Id: I9c436acdacaf429a43cbdfa216927df0796f7a28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310962
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
db88baa8
|
2020-07-23T11:12:46
|
|
Serializes GL context states and reformats frame_capture_utils
Adds the ability to serialize GL context states.
Adds serialization of GL context states to serializeContext method so
that capture replay regression testing now compares the GL context
states.
Reformats frame_capture_utils to make most serialization methods
private, except for the ones called by other classes and template
methods.
Bug: angleproject:4817
Change-Id: I2d53c88be3d503268bd6e2e5058b5fabe0644f67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314829
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
52d25633
|
2020-07-27T17:37:46
|
|
Disable GPU time tracking in trace tests.
Adds considerable overhead to wall time on Adreno. Not tested on
other platforms.
Bug: angleproject:4879
Change-Id: Ib219f14162fb5768e484f717ed2a870478bd1c86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321404
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
afdea864
|
2020-07-20T17:03:31
|
|
Vulkan: Add cache for driver uniform descriptor set
As we have done for default uniforms and textures, we should cache
descriptorset for driver uniforms to avoid repeatedly create them.
Bug: b/161750230
Change-Id: I0afabb226d5a8e8c7838fa2484ec7f9689ed5fa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309349
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
248119b3
|
2020-07-20T16:05:45
|
|
Vulkan: Fix render target's tracking of content defined
Imagine the following scenario:
1. Clear draw framebuffer
2. Invalidate draw framebuffer
3. Update texture attached to draw framebuffer
4. Draw again into draw framebuffer
Step 3 could be a number of things, such as glCopyTex[Sub]Image,
glBlitFramebuffer, glTex[Sub]Image2D, glGenerateMipmap etc.
In the above scenario, at step 2, the framebuffer's render target
remembers it being invalidated (mContentDefined = false). This is used
to set the loadOp of the next render pass to DONT_CARE.
However, mContentDefined was implemented for a very specific
optimization regarding the swapchain's depth buffer. The reuse of this
variable for glInvalidateFramebuffer was erroneous as this variable
didn't track whether the contents are defined for the general case.
With this change, mContentDefined is set to true during
FramebufferVk::syncState for each render target whose contents are
marked dirty.
This change additionally makes glBlitFramebuffer signal the contents of
the blit targets as dirty, as well as textures that are used as storage
images.
Bug: angleproject:4859
Change-Id: I68c829f75ff4a3d03bb293ec72c609384983026d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309110
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
2c3ff0a0
|
2020-07-25T11:35:19
|
|
Vulkan: Enable VK_KHR_get_memory_requirements2 extension
Don't assume support for VK_KHR_get_memory_requirements2,
enable the extension, if supported, during device creation.
Bug: angleproject:4830
Change-Id: I0faf955aac8a2ae4dea636f349225672e6717662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319079
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
cf49403e
|
2020-07-21T11:40:56
|
|
Vulkan: Increase default uniform buffer size to 64K
Since these are per context, we can increase it (and subject to the
driver maxUniformBufferRange limit) to reduce the amount of descriptor
set allocated.
Bug: b/161391337
Change-Id: I89e5cf16ee377735c412e9a9a22c651e1c677ded
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310910
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
dcdd6b6a
|
2020-05-14T14:36:31
|
|
Vulkan:Enable Validation best practices layer
When Vulkan Validation layers are enabled, also enable the
validation best practices layer which includes ARM's perfdoc
layer. Initially adding skips for all of the best practices
errors that are triggered so that these can be enabled by default.
Bug: b/156661359
Change-Id: I7eab9710bf9632d07ff6b80375d3ad1789d58f7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2202634
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8765b46a
|
2020-07-15T17:10:35
|
|
Vulkan: Make mDefaultUniformStorage per ContextVk
Right now the dynamic buffer for default uniform is per program. Most of
time the buffer is unused. That is a huge waste of memory (and these
memory are wired memory). This CL moves the mDefaultUniformStorage from
per ProgramVk to ContextVk so that we all share with each other.
Bug: b/161391337
Change-Id: I1fe8523b2b2dbc39bec3509a3432e38e34bd5713
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3b0c9918
|
2020-07-21T11:52:13
|
|
Update CaptureAndReplay.md and Python script with links
Links to the Python script in CaptureAndReplay.md
Links to CaptureAndReplay.md's testing section in the Python script
Bug: angleproject:4817
Change-Id: I584f8508661950e4907dae1adb8f0fe300387198
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309226
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3f851efa
|
2020-07-24T14:54:37
|
|
Vulkan: Fix overflow in maxCombinedUniformComponents
The value is capped to INT_MAX to avoid overflow when queried with
glGetIntegerv().
Bug: angleproject:4554
Bug: angleproject:4788
Change-Id: I36d52fc608ef5adc2bc0b73e379db66cbfd9bb54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2318046
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
07ae186b
|
2020-07-24T10:55:33
|
|
Capture/Replay: Update headers.
Instead of including "angle_trace_gl.h" in shared capture header
we can include it in each cpp file. This prevents a header conflict
with the "old" way of using the util GL loader.
Bug: angleproject:4845
Change-Id: Ia00a2beffc77446c779ceec8995fce9704e7b8af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2315625
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8adc5469
|
2020-07-02T10:15:17
|
|
Vulkan: Generate mipmap in compute
An initial implementation based on AMD's FFX SPD (Single Pass
Downsampler).
Apart from requiring STORAGE_IMAGE support for the image format, the
following limitations are in place due to FFX SPD:
- Image must be 2D or 2D array (including cube maps)
- Image must be single-sampled
The following _can_ be supported, but not yet implemented:
- sRGB formats
- Integer formats
- depth/stencil formats
Bug: angleproject:4551
Change-Id: Ibc4d5cea701cca31e55e3d651540872bbd3b473f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278713
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bef908ee
|
2020-07-24T12:53:13
|
|
Enable KHR GLES31 tests blocked on Issue 4146
The KHR GLES31 tests disabled and marked with Issue 4146 are passing,
likely due to the work for Issue 3570: Vulkan: Implement separate
shader objects or program pipeline objects. This CL re-enables the
tests.
Bug: angleproject:4146
Bug: angleproject:3570
Test: KHR-GLES31.core.shader_storage_buffer_object.basic-syntaxSSO
Test: KHR-GLES31.core.vertex_attrib_binding.advanced-bindingUpdate
Test: KHR-GLES31.core.vertex_attrib_binding.advanced-largeStrideAndOffsetsNewAndLegacyAPI
Change-Id: I4e42129c873604c937cf03412a105170755413e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2318265
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f359cb66
|
2020-07-02T15:15:54
|
|
Reland: Refactor DisplayGbm::generateConfigs
We should explicitly set EGL_SURFACE_TYPE to EGL_DONT_CARE.
Otherwise, it's default value is EGL_WINDOW_BIT. However,
on some platforms, only EGL_PBUFFER_BIT is supported.
In this case, no matching config is found. So mWindowSurface
and mPbufferSurface will be nullptr. That's why we see
the bot failed.
Bug: chromium:1105208
Change-Id: I8ee2487fd24bab86a5ec22fbe7b8ff68081bc15c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304429
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
074bc23f
|
2020-07-21T18:11:57
|
|
Implement DRM_FORMAT to GL format conversion
Bug: chromium:1096442
Change-Id: I79722073bd1f2674b40e7eaa8d5311a09bc36416
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309636
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
ca8f856a
|
2020-07-22T13:56:40
|
|
Tests: Update gfxbench traces
Migrate from traces recorded on desktop to traces recorded
on a Pixel 4 XL. This impacts the resolution and framebuffer
config used for the tests. They now more accurately reflect
the numbers seen from running the benchmark directly.
Test: angle_perftests --gtest_filter=TracePerfTest.Run/*
Bug: angleproject:4048
Change-Id: Ib013dfb35c32c6f97bcae76a74cc16d9a5d1a369
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314896
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ffb31229
|
2020-07-22T12:02:54
|
|
Capture/Replay: Enable capturing slingshot scenes
Implemented parameter capture functions for:
glGetActiveUniformsiv
glGetActiveUniformBlockName
glGetActiveUniformBlockiv
Added a check for bound unused locations when capturing glLinkProgram
Changed CaptureGetParameter to always request a gReadBuffer allocation
of the maximum reported possible array size needed to query
GL_COMPRESSED_TEXTURE_FORMATS. Recording the value on the capturing
device would previously have buffer overflow issues when the replaying
the capture on a device with more formats available.
Changed VertexAttribType::UnsignedInt2101010's string to reflect the
correct type
Bug: angleproject:4834
Change-Id: Icd1ff404369ae9f18cad7cd4f56fbcccc89e7e98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2306735
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
a4535c18
|
2020-07-22T14:52:26
|
|
Fix trace tests auto-generation.
This moves the trace header inclusion to the cpp file so that the
test itself doesn't need to look at the individual trace headers.
This fixes an include directory dependency. Also removes the FBO
change callback from the generated traces.
Bug: angleproject:4845
Change-Id: I019f0d347a62a81b92bf32110572911111212689
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314217
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9faf0cdc
|
2020-07-20T10:30:55
|
|
Capture/Replay: Use custom GL header.
This will let us override the util loader for all new traces. It will
also be easier to maintain going forward if we have to change the
header again.
The end goal is to run the trace tests with a custom GL layer that can
intercept certain API calls.
Bug: angleproject:4845
Change-Id: I028a1afdadf638998805d7b9a2cc6717cf5f0148
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2308029
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ab95a449
|
2020-07-20T12:12:18
|
|
Textures that have bound surfaces are always renderable.
Chrome still tends to use ES2 contexts for most rasterization. This is a
problem when trying to use FP16 IOSurfaces for rendering HDR because
GL_RGBA16F is not renderable in ES2. Since a surface is always
renderable, allow rendering to any textures with a bound surface.
Update the tests to verify that ES3 formats can be used with ES2
contexts.
Add tests for RGBA16F IOSurfaces.
BUG: chromium:1103112
Change-Id: I9e8c082fc97a0e072289b097e71fc944988d4872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2307454
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ee9c4fe4
|
2020-07-14T15:29:40
|
|
D3D: Make possible to build angle without D3D11
A few files inside the D3D11 tree are used by D3D9 and WGL backends. We
add these files to the build system even when D3D11 is disabled.
Also, we fix the use the of ANGLE_DEFAULT_D3D11 symbol.
Bug: angleproject:4839
Change-Id: I981f4bfc60d973c02549caa737c5aed5ccf31282
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298143
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f6659b3d
|
2020-07-20T15:55:52
|
|
Vulkan: Fix invalidate + deferred clear
Imagine the following scenario:
1. Clear draw framebuffer
2. Invalidate draw framebuffer
3. Copy from read framebuffer into texture that is attached to draw
framebuffer
4. Draw again into draw framebuffer
At step 2, FramebufferVk::syncState is called which extracts the clear
and stores it in mDeferredClears, but since the framebuffer description
hasn't changed, a new render pass is not started.
At step 3, the texture attached to the draw framebuffer is used as copy
destination, but its clear which is stored in the (apparently
irrelevant) draw framebuffer is not flushed.
At step 4, a new render pass is started which clears the draw
framebuffer, trampling the copy in step 3.
This change makes sure invalidate results in a flushDeferredClears().
With glInvalidateFramebuffer() (not glInvalidateSubFramebuffer()), the
deferred clears for invalidated framebuffers are discarded first.
It is unknown whether there are similar situations where syncState
gathers deferred clears, but they are not flushed before the attachments
are updated outside the framebuffer. To catch similar bugs in the
future, assertions are added to FramebufferVk::syncState such that if a
dirty bit is set for the contents of an attachment, we can make sure
there are no prior deferred clears stored for that attachment.
Bug: angleproject:4862
Change-Id: Idb1a08b53e7f011f0fc9a54d478289030b6d77a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2308034
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c757e607
|
2020-07-21T10:18:41
|
|
Vulkan: Fix deferred clears and noop clear and blit
Imagine the following situation:
1. Clear draw framebuffer
2. Noop operation on the framebuffer (Clear, ClearBuffer,
BlitFramebuffer with flags specifying non-existing attachments)
3. Change framebuffer's attachment
4. Draw into framebuffer
At step 2, FramebufferVk::syncState was called before noop-ing the
operation. During syncState, deferred clears were stored in the
framebuffer and weren't flushed because the actual operation was not
performed.
At step 4, the deferred clear meant for the prior attachment gets
applied to the new attachment.
Bug: angleproject:4865
Change-Id: I5b096bacf00356b4dccd4cbc9561b87b1bb557d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309224
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
93eb633c
|
2020-07-07T15:41:38
|
|
Inline depth/stencil clear if in middle of renderpass
Some apps have a pattern where they clear the depth & stencil buffers
in the middle of the frame which causes the Vulkan backend to stop the
existing render pass and start a new one. This causes more loads &
stores of buffer contents than if we inline that clear with a draw.
Bug: b/159808300
Bug: angleproject:4695
Change-Id: I7a15af22f47a81051fa33fa19eaa123d8b66597c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289945
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
964c4089
|
2020-07-21T14:08:21
|
|
Vulkan: fix RenderPassDesc::mColorAttachmentRange
This variable tracks the index range of color attachments. A previous
change (d8ce865b5fd113d8e0cec4368a9a192a524566a1) made the range
inclusive so it can fit in 3 bits, but that's incorrect as it's no
longer possible to specify a range where no color attachments are
present.
This change partially reverts d8ce865b5fd113d8e0cec4368a9a192a524566a1
to restore the previous semantics of
RenderPassDesc::mColorAttachmentRange.
Bug: chromium:1107884
Change-Id: I08da2568b5e63a48a672edd499a8b6653060eadb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310578
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ca2c116
|
2020-07-17T13:07:24
|
|
Make trace tests a shared library.
This will facilitate intercepting the GL calls and implementing
emulation paths for offscreen redering. Or other EGL/GL features.
It does not yet override the GLES loader and uses the shared
'angle_util' loader as it did before.
Bug: angleproject:4845
Change-Id: I68806c307f59e1852999299e88dc358781817f12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305042
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4fa75b5c
|
2020-07-17T12:58:50
|
|
Move restricted trace functions to cpp file.
This is a refactoring change only. It will facilitate moving these
functions to a shared library. A shared library will allow us to more
easily override GL functions with an interception layer. The intercept
layer will allow us to do emulation for features like offscreen tests.
Bug: angleproject:4845
Change-Id: I0e00c0c22a26f1bb8faec30a825c71953033f8a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305039
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
23211585
|
2020-07-21T10:08:03
|
|
Roll chromium_revision b0410bba02..fb6cbaf6e5 (763000:790363)
Also updates a Vulkan back-end file to not return error.
Change log: https://chromium.googlesource.com/chromium/src/+log/b0410bba02..fb6cbaf6e5
Full diff: https://chromium.googlesource.com/chromium/src/+/b0410bba02..fb6cbaf6e5
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/45ab3c89af..1ee11394cf
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/204a35a2a6..9e121212d4
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/3993ef1f52..f126fc6578
* third_party/Python-Markdown: https://chromium.googlesource.com/chromium/src/third_party/Python-Markdown/+log/36657c103c..9c8566e047
* third_party/googletest: https://chromium.googlesource.com/chromium/src/third_party/googletest/+log/217407c478..defbf92951
* third_party/jsoncpp: https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/{chromium_..ec647b85b6
* third_party/nasm: https://chromium.googlesource.com/chromium/deps/nasm.git/+log/4fa54ca5f7..19f3fad68d
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/ae385786ed..89bddfee9c
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/04b99e7bf9..6412135b39
* tools/md_browser: https://chromium.googlesource.com/chromium/src/tools/md_browser/+log/aae45d8d82..be8cf5a17d
DEPS diff: https://chromium.googlesource.com/chromium/src/+/b0410bba02..fb6cbaf6e5/DEPS
Clang version changed 4e0d9925d6a3561449bdd8def27fd3f3f1b3fb9f:04b9a46c842f793a2baedcad64de35fcbd3e93b7
Details: https://chromium.googlesource.com/chromium/src/+/b0410bba02..fb6cbaf6e5/tools/clang/scripts/update.py
Bug: angleproject:4867
Change-Id: I184945ad4d1fc39f4ad9b37cbf411b2c2b74a3ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309223
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1cfc6f0a
|
2020-07-20T16:03:38
|
|
Add test for deferred clear + attachment gaps
This test makes sure the list of clear values given to the render pass
(for deferred clears) are correctly passed.
Bug: angleproject:4862
Change-Id: I4830a72a6f2b01570f6d4427ffb025429b5aa03c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309109
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
16856027
|
2020-07-08T13:47:33
|
|
Support EXT_shader_texture_lod on Vulkan.
Bug: angleproject:2899,b/161716126
Change-Id: Ia850cbda948c8f6da9ced0bf46fd7f8371125032
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288333
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
10e9e9a1
|
2020-07-13T17:02:38
|
|
Apply multiprocessing to capture_replay_tests.py
Multiple tests are run in paralell to squeeze the most out of CPUs.
Tests are stored in a work queue. Whenever a CPU becomes available,
the next unrun test is grabbed and run on a spawn process on that CPU.
Each cpu gets their own environment and build folders and trace folders
so that tests don't overwrite each other.
Bug: angleproject:4817
Change-Id: Ifd35c9c75522e480b0257d090d5af70f2a3428ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2296040
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d9818fd6
|
2020-07-19T00:37:21
|
|
Vulkan: Improve RenderTargetVk's getImage interface
Prior to this change, RenderTargetVk had getImage() and
getImageForWrite(). This change introduces getImageForCopy() and
renames getImage() to getImageForRenderPass().
Currently, all three functions do the same thing. However, with
upcoming changes the semantics will be different:
- getImageForRenderPass(): This is the image used as the non-resolve
attachment. When resolve attachments are introduced, there will be a
corresponding getResolveImageForRenderPass().
- getImageForCopy(): When GL_EXT_multisampled_render_to_texture is
implemented, this will return the image that owns the data.
- getImageForWrite(): Similar to getImageForCopy(), but should set
mContentDefined. This is currently missing, and is a bug that will be
resolved in a follow up.
This split change gets the mechanical rename out of the way to make
future changes simpler.
Bug: angleproject:4836
Bug: angleproject:4859
Change-Id: I5f7657cc049c0e1772a7c510e74289e685ba93c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2306516
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
80d7725d
|
2020-07-15T15:14:17
|
|
Use Subject/Observer pattern for Programs/Executables in PPOs
This CL updates the frontend to use the subject/observer pattern for
Programs and ProgramExecutables in PPOs.
This allows us to remove the hack that iterated through all PPOs and
marking them all dirty when a Program is re-linked. Instead, just the
PPOs the Program is bound to are signalled, and only when the Program
is in a PPO.
Additionally the necessary PPOs are signalled when an Executable's
textures are updated, rather than iterating through all PPOs and
signalling them.
Bug: angleproject:4559
Test: CQ
Change-Id: Iaefb88c64c13259e921c8dfe95cf640247d17f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300705
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d8ce865b
|
2020-07-19T00:20:17
|
|
Vulkan: Make room in RenderPassDesc for resolve attachments
Data in RenderPassDesc is packed better to make room for resolve
attachments (9 bits made available; 8 for color and 1 for
depth/stencil).
mColorAttachmentRange contains values in [0, 8). The right side of the
range is made inclusive (i.e. [0, 7]) so it will fit in 3 bits.
The number of samples is always a power of 2, and below 128 (for the
foreseeable future), so its log is stored instead in 3 bits.
This change doesn't add support for resolve attachments yet, but is
split off the one that does to simplify it.
Bug: angleproject:4836
Change-Id: I2856286d5239499d0ab0c78b8154881c003309bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2306515
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7e2a9820
|
2020-07-20T12:38:05
|
|
Vulkan: Make explicitly-[non-]rotated get methods
Split FramebufferVk::getCompleteRenderArea() into 2, [non-]rotated,
explicitly-named methods. Simplify the uses of these methods, and fix
some rotation cases. Also explicitly-name
FramebufferVk::getScissoredRenderArea().
Bug: b/151111296
Change-Id: I1754ec2796fd8625b916a2dba2e723e70ecba419
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305389
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
bdc79361
|
2020-07-15T17:01:05
|
|
Vulkan: No need to add current buffer into mResourceUseList
This is follow up to
https://chromium-review.googlesource.com/c/angle/angle/+/2288325. There
is no need to add current buffer to mResourceUseList for the per context
dynamic buffers. These dynamic buffers always shut down after we
call finishImpl.
Bug: b/160777679
Change-Id: I013cb3c30b4d31804cee13ce9e42da381fd1ae1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300208
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
cd5489ad
|
2020-07-19T00:05:21
|
|
Vulkan: Faster FramebufferDesc compare
Objects of this class are used as keys to a hash map and contain 10
serials. Prior to this change, operator== would compare all 10 serials.
This change tracks the maximum index set and only compares up to that
many serials.
To make sure this maximum index stays low in the presence of
depth/stencil attachment, this class stores the depth/stencil
attachment's serial before the color attachments. The update API of the
class is improved so this implementation detail is not leaked.
This is in preparation for supporting resolve attachments, which would
add another 8 serials to the class. With this change, the performance
of cases that don't use resolve attachments won't be affected.
Bug: angleproject:4836
Change-Id: Ia4874ab79163901fb86f5bee4120e9f19babdc09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2306514
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
234be194
|
2020-07-15T14:55:18
|
|
Vulkan: Move mEmptyBuffer from program to ContextVk
And merge that with TheNUllBuffer as well so that you only have one
dummy buffer per context.
Bug: b/161391337
Change-Id: I75fddb5c48393876e745ff237e11d9c5672ae10e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300707
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0df0b79c
|
2020-07-17T16:26:21
|
|
Vulkan: Optimize changing texture max level
For applications that frequently change the texture max level, to a
value that is a subset of the texture's maximum levels, just recreate
the VkImageView's.
Test: NBA 2K20 game play
Bug: b/160976091
Change-Id: I62a05a90cdb90147056ba8cec960c2114479ec37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300532
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
49108a12
|
2020-06-30T11:53:23
|
|
Support BGRA_1010102 IOSurfaces in CGL and Vulkan.
Bug: chromium:1100599
Change-Id: I7bc2c2e35490e28e9f6fe8f2e0c26cdea50650b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275731
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5671c2bd
|
2020-07-17T13:32:22
|
|
Capture/Replay: Fix vertex array objects for MEC
While debugging NBA2K20 MEC, fixed the following issues:
* Don't bind built-in attributes locations.
* Don't emit glGenBuffers for the default VAO.
* Include element array buffer in MEC.
Test: NBA2K20 MEC
Bug: b/160014453
Change-Id: I1b809946d67b6748b0670814be8dd090278dc38f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2307276
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
55e85549
|
2020-07-17T14:02:36
|
|
Lift warning from trace tests.
Noticed when working on a related feature.
Bug: angleproject:3630
Change-Id: I82638d37ee6d27dc824d5782c96387f0d000d585
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
08c4d094
|
2020-07-16T18:48:59
|
|
Improve WebGL 2.0 readPixels support.
Emulate GL_PACK_SKIP_PIXELS and GL_PACK_SKIP_ROWS on macOS, where it
appears the OpenGL driver ignores these parameters.
Add WebGL 2.0-specific validation constraints for pixel pack and
unpack parameters.
Bug: angleproject:4849
Change-Id: Iab566299223e05484a009817acb1ed2816023823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2303905
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9a9ef0ae
|
2020-07-15T16:50:32
|
|
Vulkan: Fix RTs attached to textures with non-0 mip
Cleared confusion between GL level indices and VK level indices by
adding the corresponding suffix to variables and function arguments. A
handful of places that sent one index and expected the other are fixed.
A couple more places needed this adjustment that were missed in the
first CL. Also included a test to provoke those situations.
The conversion between the two is given by:
levelIndexGL = levelIndexVk + baseLevel;
Bug: angleproject:4695
Change-Id: I3b8e5699abee1b011e52b666e6e245f44cb8ad6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2302549
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
bcec11c2
|
2020-07-16T18:28:17
|
|
Vulkan: FramebufferVk::clearImpl() break-RP fix
FramebufferVk::clearImpl() needs to potentially rotate the results of
getCompleteRenderArea(), so that it can be compared with the results
of getScissoredRenderArea().
Bug: b/151111296
Change-Id: Iad1fbdcb1943bae00835d31863d32ee85dbc7c2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2303606
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|