|
9a19a996
|
2020-08-26T09:00:50
|
|
Vulkan: Use 4 MB as preferredLargeHeapBlockSize for allocator.
This reduces preferredLargeHeapBlockSize from the default
value of 256 MB to 4 MB, which reduces the initial block
size from 32 MB to 512 KB.
4 MB is the same size as used by Chromium and Skia. It seems
to be a good compromise of not wasting unused allocated space
and not making too many small allocations.
This change is limited to non-Qualcomm GPUs as a number of
tests are failing on Qualcomm after this change and the
initial investigation indicates a potential driver bug. See
http://anglebug.com/4995 for more details.
Bug: chromium:1122718
Bug: fuchsia:58959
Change-Id: Ifdaf863ef38e72098a04ee57dec46ee71cab6ac3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376891
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: David Reveman <reveman@chromium.org>
|
|
78d10017
|
2020-08-16T16:13:59
|
|
Vulkan: Enable VK_KHR_bind_memory2 extension
Don't assume support for VK_KHR_bind_memory2,
enable the extension, if supported, during device creation.
Also initialize all required extension functions for the
memory allocator.
Bug: angleproject:4966
Change-Id: I878939fb3324723675a2b7dec18ab453b2a9fc77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359529
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4ad0f250
|
2020-07-14T21:22:35
|
|
Revert "Vulkan: Enable VK_KHR_get_memory_requirements2 extension"
This reverts commit d98afb787a24285eccd554daa6b8de197187a636.
Reason for revert: Suspected for angle_perftests failure. See issue.
Bug: chromium:1105609
Original change's description:
> Vulkan: Enable VK_KHR_get_memory_requirements2 extension
>
> 1. Don't assume support for VK_KHR_get_memory_requirements2.
> Enable the extension, if supported, during device creation.
> 2. Also let VMA fill in the function pointers for these commands
> based on Vulkan API version -
> 1. vkGetBufferMemoryRequirements2KHR
> 2. vkGetImageMemoryRequirements2KHR
>
> Bug: angleproject:4830
> Change-Id: Icd0b3baf56732b5f5f49f320c1feb996204169ed
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2293633
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
TBR=syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com
Change-Id: Ida9a333f897d87e7608d4fafe9da9f1fad0221e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4830
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298146
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d98afb78
|
2020-07-10T17:11:15
|
|
Vulkan: Enable VK_KHR_get_memory_requirements2 extension
1. Don't assume support for VK_KHR_get_memory_requirements2.
Enable the extension, if supported, during device creation.
2. Also let VMA fill in the function pointers for these commands
based on Vulkan API version -
1. vkGetBufferMemoryRequirements2KHR
2. vkGetImageMemoryRequirements2KHR
Bug: angleproject:4830
Change-Id: Icd0b3baf56732b5f5f49f320c1feb996204169ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2293633
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
17b4a877
|
2020-05-26T17:02:48
|
|
Vulkan: Pass API version to VMA.
This apparently can save on memory usage in the allocator.
Reported by penghuang@chromium.org.
Bug: angleproject:4685
Change-Id: I6f29280e3fe16f3388c4f8412e0acb09d7f16e58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216714
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6c158164
|
2020-05-28T15:19:51
|
|
Vulkan: Fix XFB invalid accesses in buffer OOM.
This uses the "null" buffer in the Renderer to bind an empty
buffer handle so ANGLE can maintain a consistent state.
Bug: chromium:1086532
Change-Id: I1912a1d1cb64433a285fcfced80a675619690a0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219140
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
7e5d7dc3
|
2020-05-06T12:56:41
|
|
Vulkan: Initialize all members of VmaVulkanFunctions.
VmaVulkanFunctions was passed to vmaCreateAllocator without initializing
all members. This leads to potential reads of uninitialized variables.
BUG=chromium:1078652
Change-Id: Id349c8fbb2dd3a5a2c64c6a017add3d6f97b78fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3cb9c4be
|
2020-03-13T13:56:47
|
|
Statically link vulkan-loader on Mac
Disable angle_shared_libvulkan on Mac since we are the only client.
Re-add codepaths to support this.
Bug: angleproject:4477
Change-Id: Ie128c83adaae741636541bbfd6105d160d874a8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102954
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
b7d6949b
|
2020-04-17T13:36:14
|
|
Vulkan: Enable persistently mapped buffer objects
The VMA allocator has a handy feature where during memory
allocation we can request persistently mapped memory.
This saves IOCTL overhead for apps that update buffers
frequently.
Bug: angleproject:2162
Change-Id: I870d880033beec343efae6de06f1c5935de4c2c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2155131
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
e5491253
|
2020-04-17T12:37:00
|
|
Don't redefine VMA_IMPLEMENTATION in build files and source
VMA_IMPLEMENTATION is defined in the build files, it doesn't need
to be redefined in vk_mem_alloc_wrapper.cpp.
BUG=angleproject:2162
Change-Id: Ie4eceedd2dd3051f8431c7c8c86403250e93f98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154538
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6e0d718a
|
2020-03-31T18:41:57
|
|
Vulkan: Implement device memory sub-allocation
Use AMD Vulkan Memory Allocator for device memory sub-allocation.
We now have a mempool from which all glBuffer memory is allocated.
The CPU overhead involved in repeated IOCTL calls to the kernel is
reduced significantly.
Bug: angleproject:2162
Change-Id: Id7681ffe2ac3d2853141ebe34c7df7b7fdd0d55e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2124519
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
76d52be3
|
2020-04-07T09:14:29
|
|
Vulkan: Add VulkanMemoryAllocator to DEPS.
Bug: angleproject:2162
Change-Id: If91ae40c1fe818a59d775bb2fa066227dd52859d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2139992
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|