|
54b69688
|
2025-01-21T11:28:59
|
|
Vulkan: Add max memory allocation size limit check
During memory allocation, we should make sure that the attempted
allocation size does not exceed the maximum allowed size. Failure to
do so may result in validation errors.
* Added the following object to the renderer: mMaintenance3Properties
* It holds the following device property: maxMemoryAllocationSize
* Inline renderer function: getMaxMemoryAllocationSize()
* Buffer and image allocation sizes will now be checked with the
function above.
* In case of exceeding the maximum allocation size, a device OOM
error is returned after issuing a warning:
* MemoryAllocationTracker::onExceedingMaxMemoryAllocationSize()
* Removed the suppression for the test failing due to this issue.
* Removed the maxMemoryAllocationSize VVL skip targeted for MockICD.
* Suppressed tests on S22 that now fail due to exceeding this limit:
* KHR-GLES[31/32].core.texture_buffer.texture_buffer_max_size
Bug: angleproject:391002353
Change-Id: Id271066bd872c80344ef8531653afda3e6b40a93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187981
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
df90bbc5
|
2024-07-12T18:04:53
|
|
Refactoring: move angle::HashMap and HashSet to own header
Underlying abseil includes pull in a large set of headers
Bug: angleproject:42266508
Change-Id: Icee47143a8a59bb0795a054b67c0aa4ddcfca4d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5704137
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
54c48177
|
2023-04-29T23:12:30
|
|
GCC: Define MemoryAllocInfoMapKey's hash before using in unordered_map
GCC complains that std::hash specialization for
MemoryAllocInfoMapKey type should be positioned before it is
used in std::unordered_map.
Bug: chromium:40565911
Change-Id: Ia3dd2a699431720b030839d94ea796894ba8b822
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5642294
Auto-Submit: DongHwan Yu <donghwan.yu@lge.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c3a1cae4
|
2024-04-15T14:58:55
|
|
Use angle::SimpleMutex everywhere in libGLESv2
Only cases left that use std::mutex are:
- Share group and the context ErrorSet mutexes as they need try_lock()
- Anywhere mutexes are used in conjunction with std::condition_variables
(as they explicitly require std::mutex)
Bug: angleproject:8667
Change-Id: Ib6d68938b0886f9e7c43e023162557990ecfb300
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5453294
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
60aaf4a0
|
2024-03-14T12:58:56
|
|
Vulkan: Move renderer to namespace vk
This class is agnostic of EGL. This change moves it to namespace vk for
use with the OpenCL implementation
Bug: angleproject:8564
Change-Id: I57f7807d6af8b3d5d7f8efbaf8b5d537a930f881
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5371324
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6f959e07
|
2023-04-28T16:00:11
|
|
Vulkan: Add non-device memory option for VMA image
* Updated the required flags for allocateAndBindMemory() to no longer
include VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, though still preferred.
This allows VMA to allocate from another memory type if the device
is out of memory.
* Added a debug message to indicate when allocated memory for VMA image
does not have all the preferred property flags.
* Also added a warning in the case of memory allocation fallback.
* Added a perf counter to keep track of image allocation fallbacks from
the device memory.
* deviceMemoryImageAllocationFallbacks
* Added a test to make sure that VMA images can still be allocated from
other memory types even if device memory is unavailable.
* VulkanImageTest.AllocateVMAImageWhenDeviceOOM
Bug: b/280304441
Change-Id: Ic452c18ded25345cdb7e271442372b99aede045e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4493483
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
156efe9e
|
2023-02-23T14:07:23
|
|
Fix the alloc error with enabled backtrace feature
When angle_enable_unwind_backtrace_support is enabled, an assertion
occurs on memory allocation with the following message:
"constructed value does not match the lookup key"
The assertion comes from PolicyTraits::apply() in the hash map.
* In MemoryTracking.h, the type of mMemoryAllocationRecord is now
std::unordered_map instead of angle::HashMap.
Bug: b/262029018
Change-Id: I11a6d8e99a129759c046e37cef9e74f7db193066
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289947
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
b0d99f72
|
2023-02-22T13:48:16
|
|
Move the memory tracking classes to new files
* Moved the classes, functions, and constants related to memory
tracking to MemoryTracking.h and MemoryTracking.cpp. Main classes
include the following:
* MemoryAllocationTracker
* MemoryReport
* MemoryAllocationType
* MemoryAllocationInfo
* MemoryLogSeverity
* New static function added in RendererVk to get the Vulkan object
type name (GetVulkanObjectTypeName()).
Bug: b/262029018
Change-Id: I619001e3c24114c4fe7bf024498338bce146fced
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4284639
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|