Developer
Nicolette Prevost
nicolettep@google.com
Performance
YoY:+476%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files | Effort |
|---|---|---|---|---|
| 80a9ee6 | This commit **enhances the presubmit testing infrastructure** by adding new Vulkan test tasks to proactively catch issues. It introduces **Pixel 9 release test tasks** for both **Ganesh** and **Graphite** Vulkan, and **Quadro P400 Ubuntu release test tasks** for **Ganesh** Vulkan. These **new capability** tasks are configured to trigger when changes are made to the `tools/gpu/vk/` directory or Ganesh test directories. This **test infrastructure improvement** aims to identify platform-specific breakages on Android/mobile and P400 hardware *before* code lands, significantly **improving the robustness of Vulkan development**. | Mar 19 | 2 | grow |
| 72009ac | This commit **fixes a critical bug in `VkTestUtils`'s `VulkanPreferredFeatures` usage** by correcting how Vulkan extensions are queried and enabled. It ensures that **all available extensions on the device are properly considered** during instance and device initialization, resolving an issue where key extensions like `VK_KHR_driver_properties` were inadvertently excluded. This **bug fix and refactoring** in the **`VkTestUtils` module** (specifically `VkTestUtils.cpp` and `VkTestUtils.h`) restores correct Vulkan test environments. This is anticipated to bring performance back to baseline by re-enabling necessary driver correctness workarounds, ensuring **Vulkan tests accurately reflect real-world driver behavior**. | Mar 18 | 2 | maint |
| 6eddb43 | This commit **refactors** the **Graphite resource label management** by centralizing the update of non-shareable resource labels within `ResourceCache::findAndRefResource`. It modifies the `Resource` constructor and its subclasses like `Buffer` and `Texture` to assign labels upon construction, effectively removing all explicit `setLabel` calls from the `ResourceProvider`. This change streamlines the label assignment process, ensuring labels are primarily set at resource creation or managed by the `ResourceCache`. The **Graphite backend** now aligns its non-shareable resource label management with a new architectural model, laying crucial **groundwork for future thread-safe label updates**. | Mar 10 | 13 | maint |
| 49c2de9 | This commit performs a **refactoring** in the **`graphite` module** to ensure **`Texture` resources are assigned their debug label upon construction**. This involves updating **`ResourceProvider` texture creation methods** and **`Texture` constructors** across all backend implementations (Dawn, Metal, Vulkan) to accept and set the label directly, removing explicit label synchronization calls from `ResourceProvider`. This change is a crucial **preparatory step** towards establishing **thread-safe resource label management** and a global thread-safe cache, by shifting label assignment responsibility and enabling future restrictions on label updates. | Feb 26 | 16 | maint |
| d2de679 | This commit performs a **maintenance update** to the **Vulkan test suite**, specifically **refactoring existing tests** related to **YCbCr format handling**. It removes explicit references to a **YCbCr extension** within these tests, as its functionality has been promoted to core Vulkan 1.1. This change aligns the test logic with a prior update to `VulkanPreferredFeatures`, ensuring tests correctly reflect the availability of YCbCr support in modern Vulkan environments. The update prevents redundant checks and maintains the accuracy of the **Vulkan backend's YCbCr capabilities** testing. | Feb 26 | 2 | – |
| fc2b615 | This commit **refactors** the **Graphite GPU backend** to assign labels to `Buffer` objects directly upon construction, rather than updating them post-creation. It modifies the `Buffer` class and its backend-specific implementations (`DawnBuffer`, `MtlBuffer`, `VulkanBuffer`) to accept a label parameter in their constructors and `Make` methods. The `ResourceProvider` and its derivatives are updated to pass this label directly to `createBuffer` and `findOrCreateBuffer`, eliminating redundant label update calls. This change is a foundational step towards enabling **thread-safe resource label management** by centralizing label assignment within the **Graphite resource caching system**. | Feb 25 | 15 | grow |
| cdb3611 | This commit **refactors** the **Vulkan test utilities** by removing redundant or outdated extension usage within `VkTestUtils.cpp`. It cleans up the `should_include_extension` logic and `setup_features` function by eliminating extensions that are now part of Vulkan 1.1 core or are already implicitly handled by `VulkanPreferredFeatures`. This **maintenance** task streamlines the **Vulkan test initialization** process, ensuring only necessary extensions are explicitly managed and improving the clarity of the test setup. The change primarily impacts the **Vulkan test framework**, making its extension handling more efficient and accurate. | Feb 25 | 1 | maint |
| 9517a6f | This commit **refactors** the **Vulkan backend's feature detection logic** for **YCbCr sampler conversion**. It now **always queries for YCbCr conversion feature support** for Vulkan versions preceding 1.4, utilizing `VkPhysicalDeviceVulkan11Features` or `VkPhysicalDeviceSamplerYcbcrConversionFeatures`. This **maintenance** change removes the previous reliance on the `VK_KHR_sampler_ycbcr_conversion` extension, which is now part of the core Vulkan API. The update in `src/gpu/vk/VulkanPreferredFeatures.cpp` ensures more robust and accurate determination of YCbCr support, aligning with modern Vulkan API practices. | Feb 25 | 1 | maint |
| 688688e | This commit **relands a previous change** to **refactor** how **Graphite GPU backend** resource labels are managed, specifically **separating the frontend label assignment from the backend GPU resource synchronization**. This is a crucial **preparatory step towards achieving thread-safe label updates** for GPU resources, addressing `Bug: b/387505250`. It introduces a `synchronizeBackendLabel` method and a dirty flag in `Resource.h`, centralizes label update logic in `ResourceProvider.cpp`, and immediately applies backend label synchronization within the constructors of **`GraphicsPipeline`** across **Dawn, Metal, and Vulkan** implementations. This change lays the groundwork for future updates to `Texture` and `Buffer` resources, ensuring their backend labels are also updated in a controlled, thread-safe manner. | Feb 6 | 6 | maint |
| 13385d2 | This commit introduces a **new capability** by adding support for the `VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER` and `VK_EXT_QUEUE_FAMILY_FOREIGN` Vulkan extensions on **Android builds**. It extends the **Vulkan preferred features logic** to detect and enable these extensions, allowing the **Graphite rendering path** to utilize `AHardwareBuffer` for more efficient external memory handling. The `VulkanCaps` initialization is updated to check for these extensions when determining `AHardwareBuffer` image support. This enhancement significantly improves **graphics performance and memory efficiency** on Android devices by leveraging native hardware buffers, with new tests verifying proper detection and enablement. Release notes are also updated to document this important **Vulkan backend** feature. | Feb 5 | 5 | grow |
| dc523cc | This commit **refactors** the **Graphite GPU resource labeling system** to separate the assignment of a frontend label from the actual synchronization of that label with the backend GPU resource, a foundational step towards achieving **thread-safe label updates**. It introduces a `synchronizeBackendLabel` method and `fBackendLabelDirty` flag to the `Resource` class, and updates `ResourceProvider`'s resource creation methods to manage this new synchronization flow. As an immediate impact, **GraphicsPipeline backend implementations** (`MtlGraphicsPipeline`, `VulkanGraphicsPipeline`, `DawnGraphicsPipeline`) now call `synchronizeBackendLabel` in their constructors to ensure their underlying GPU objects reflect the correct label upon creation. This **maintenance** work improves consistency for **GPU resource debugging labels** and paves the way for `Resource` subclasses to eventually handle their own backend label updates. | Feb 3 | 6 | maint |
| 3efb298 | This commit performs a **code refactoring** across the **GPU rendering backends**, specifically within the **Ganesh** and **Graphite** modules. It **removes redundant `std::move` calls** when passing or constructing with `std::string_view` objects, as `std::move` offers no semantic or performance benefit for these non-owning reference types. This cleanup improves code clarity and consistency in various **resource management, texture/buffer creation, and image/surface operations**, such as `findAndRefScratchTexture` and `createAndUpdateBindings`. The change is a **code quality improvement** that enhances readability and reduces potential confusion without altering runtime behavior or introducing functional changes. | Jan 15 | 15 | maint |
| a950e32 | This commit **fixes** the **dependency installation script** (`install_dependencies.sh`) by removing the nonexistent `xcb` package from its list of dependencies. On Ubuntu systems, `xcb` is not a valid package name, which previously caused failures during the setup of the **Skia build environment**. This **maintenance change** ensures that developers can successfully run the script and build the project without encountering dependency installation errors, as the necessary XCB functionalities are already provided by `libx11-xcb-dev` and `libxcb-xkb-dev`. | Jan 6 | 2 | – |
| 6cc3ab0 | This commit provides a **bug fix** for the **Graphite Vulkan backend** by correcting how default depth/stencil attachment textures are configured. Previously, the `getDefaultAttachmentTextureInfo` function in `VulkanCaps.cpp` incorrectly set the **Vulkan image aspect mask** to only `VK_IMAGE_ASPECT_COLOR_BIT`, even for formats containing depth and/or stencil components. This change ensures that the appropriate `VK_IMAGE_ASPECT_DEPTH_BIT` and/or `VK_IMAGE_ASPECT_STENCIL_BIT` are included when creating these textures. This **fix** resolves a potential source of **texture cache misses** and improves **rendering correctness** for depth/stencil operations, particularly impacting **Android** devices. | Dec 9 | 1 | waste |
| 82905ed | This commit performs a **documentation update** within the **Graphite Vulkan backend**, specifically targeting the `include/gpu/graphite/vk/VulkanGraphiteTypes.h` header. It updates the comment documentation for `VkImageCreateFlags` to explicitly include `VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT` as a supported flag. This **maintenance** change improves the accuracy and completeness of the API documentation, ensuring developers have correct information when working with Vulkan image creation within the Graphite rendering system. The update clarifies the capabilities and expected usage of `VkImageCreateFlags` for **Vulkan image handling** in Graphite. | Dec 9 | 1 | maint |
| a6c4958 | This commit **fixes a compilation error** within the **Skia AVIF codec** by adding the missing include for `SkCodecPriv.h` to `src/codec/SkCrabbyAvifCodec.cpp`. This resolves an "incomplete type" error for `SkCodecs::ColorProfile` when `MakeICCProfile` is called, which was causing build failures. The **maintenance fix** ensures the `SkCrabbyAvifCodec` compiles correctly, preventing an **Android roller failure** related to this specific issue. | Dec 3 | 1 | waste |
| 116f237 | This commit performs a **maintenance refactoring** within the **`SkPixmap`** core module, specifically updating its color generation logic. It modifies methods like `getColor` and `getColor4f` in `src/core/SkPixmap.cpp` to consistently utilize `SkColor` creation helper functions. This change **simplifies expressions** and aligns the code with established patterns for color handling, improving internal consistency and readability. The work is a follow-up cleanup based on previous feedback, enhancing the maintainability of the `SkPixmap` implementation without altering its external behavior. | Nov 6 | 1 | maint |
| d5c02fd | This commit introduces the **new color type** `kR16_unorm_SkColorType`, a single-channel 16-bit unsigned normalized red format, primarily to enable more efficient **accelerated RGB to YUV conversion**. This **feature addition** required widespread updates across the **Skia core**, including `SkColorType.h`, `SkImageInfo`, `SkPixmap`, and the `SkRasterPipeline` for pixel handling and operations. Comprehensive support was integrated into **GPU backends** (Ganesh and Graphite) by updating format tables for D3D (`DXGI_FORMAT_R16_UNORM`), Metal (`R16Unorm`), Vulkan (`VK_FORMAT_R16_UNORM`), and Dawn (`wgpu::TextureFormat::R16Unorm`). The change also involved updating various utility functions, debugging tools, and adding extensive test coverage to ensure proper functionality and compatibility throughout the rendering pipeline. | Nov 4 | 36 | grow |
| 625ac80 | This commit refines **Graphite's resource management** by ensuring that **shareable resource labels** are only set once upon initial insertion into the cache. This change, primarily implemented in `src/gpu/graphite/ResourceProvider.cpp` within methods like `findOrCreateTexture` and `findOrCreateBuffer`, prevents subsequent modifications to shareable resource labels, thereby improving **thread safety** and relying on their generic nature. Additionally, `src/gpu/graphite/Resource.h` is updated with detailed documentation outlining the new resource labeling policies and future resource management strategies. This is a **maintenance improvement** that enhances the robustness and thread-safety of the resource caching system, addressing potential issues with concurrent label modifications. | Nov 4 | 2 | waste |
| 2b790c8 | This commit implements a **temporary workaround** by **disabling** the `SkSLIntrinsicModf_Ganesh` test within the **OpenGLES SkSL** test suite. This **maintenance** action specifically targets **Pixel 10 devices** where the test is known to fail, preventing continuous integration (CI) pipeline disruptions. The test is disabled in the `dmFlags` configuration located in `infra/bots/gen_tasks_logic/dm_flags.go`. A new bug has been filed to track the underlying issue and a future fix, ensuring this is not a permanent removal. | Oct 16 | 2 | waste |
This commit **enhances the presubmit testing infrastructure** by adding new Vulkan test tasks to proactively catch issues. It introduces **Pixel 9 release test tasks** for both **Ganesh** and **Graphite** Vulkan, and **Quadro P400 Ubuntu release test tasks** for **Ganesh** Vulkan. These **new capability** tasks are configured to trigger when changes are made to the `tools/gpu/vk/` directory or Ganesh test directories. This **test infrastructure improvement** aims to identify platform-specific breakages on Android/mobile and P400 hardware *before* code lands, significantly **improving the robustness of Vulkan development**.
This commit **fixes a critical bug in `VkTestUtils`'s `VulkanPreferredFeatures` usage** by correcting how Vulkan extensions are queried and enabled. It ensures that **all available extensions on the device are properly considered** during instance and device initialization, resolving an issue where key extensions like `VK_KHR_driver_properties` were inadvertently excluded. This **bug fix and refactoring** in the **`VkTestUtils` module** (specifically `VkTestUtils.cpp` and `VkTestUtils.h`) restores correct Vulkan test environments. This is anticipated to bring performance back to baseline by re-enabling necessary driver correctness workarounds, ensuring **Vulkan tests accurately reflect real-world driver behavior**.
This commit **refactors** the **Graphite resource label management** by centralizing the update of non-shareable resource labels within `ResourceCache::findAndRefResource`. It modifies the `Resource` constructor and its subclasses like `Buffer` and `Texture` to assign labels upon construction, effectively removing all explicit `setLabel` calls from the `ResourceProvider`. This change streamlines the label assignment process, ensuring labels are primarily set at resource creation or managed by the `ResourceCache`. The **Graphite backend** now aligns its non-shareable resource label management with a new architectural model, laying crucial **groundwork for future thread-safe label updates**.
This commit performs a **refactoring** in the **`graphite` module** to ensure **`Texture` resources are assigned their debug label upon construction**. This involves updating **`ResourceProvider` texture creation methods** and **`Texture` constructors** across all backend implementations (Dawn, Metal, Vulkan) to accept and set the label directly, removing explicit label synchronization calls from `ResourceProvider`. This change is a crucial **preparatory step** towards establishing **thread-safe resource label management** and a global thread-safe cache, by shifting label assignment responsibility and enabling future restrictions on label updates.
This commit performs a **maintenance update** to the **Vulkan test suite**, specifically **refactoring existing tests** related to **YCbCr format handling**. It removes explicit references to a **YCbCr extension** within these tests, as its functionality has been promoted to core Vulkan 1.1. This change aligns the test logic with a prior update to `VulkanPreferredFeatures`, ensuring tests correctly reflect the availability of YCbCr support in modern Vulkan environments. The update prevents redundant checks and maintains the accuracy of the **Vulkan backend's YCbCr capabilities** testing.
This commit **refactors** the **Graphite GPU backend** to assign labels to `Buffer` objects directly upon construction, rather than updating them post-creation. It modifies the `Buffer` class and its backend-specific implementations (`DawnBuffer`, `MtlBuffer`, `VulkanBuffer`) to accept a label parameter in their constructors and `Make` methods. The `ResourceProvider` and its derivatives are updated to pass this label directly to `createBuffer` and `findOrCreateBuffer`, eliminating redundant label update calls. This change is a foundational step towards enabling **thread-safe resource label management** by centralizing label assignment within the **Graphite resource caching system**.
This commit **refactors** the **Vulkan test utilities** by removing redundant or outdated extension usage within `VkTestUtils.cpp`. It cleans up the `should_include_extension` logic and `setup_features` function by eliminating extensions that are now part of Vulkan 1.1 core or are already implicitly handled by `VulkanPreferredFeatures`. This **maintenance** task streamlines the **Vulkan test initialization** process, ensuring only necessary extensions are explicitly managed and improving the clarity of the test setup. The change primarily impacts the **Vulkan test framework**, making its extension handling more efficient and accurate.
This commit **refactors** the **Vulkan backend's feature detection logic** for **YCbCr sampler conversion**. It now **always queries for YCbCr conversion feature support** for Vulkan versions preceding 1.4, utilizing `VkPhysicalDeviceVulkan11Features` or `VkPhysicalDeviceSamplerYcbcrConversionFeatures`. This **maintenance** change removes the previous reliance on the `VK_KHR_sampler_ycbcr_conversion` extension, which is now part of the core Vulkan API. The update in `src/gpu/vk/VulkanPreferredFeatures.cpp` ensures more robust and accurate determination of YCbCr support, aligning with modern Vulkan API practices.
This commit **relands a previous change** to **refactor** how **Graphite GPU backend** resource labels are managed, specifically **separating the frontend label assignment from the backend GPU resource synchronization**. This is a crucial **preparatory step towards achieving thread-safe label updates** for GPU resources, addressing `Bug: b/387505250`. It introduces a `synchronizeBackendLabel` method and a dirty flag in `Resource.h`, centralizes label update logic in `ResourceProvider.cpp`, and immediately applies backend label synchronization within the constructors of **`GraphicsPipeline`** across **Dawn, Metal, and Vulkan** implementations. This change lays the groundwork for future updates to `Texture` and `Buffer` resources, ensuring their backend labels are also updated in a controlled, thread-safe manner.
This commit introduces a **new capability** by adding support for the `VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER` and `VK_EXT_QUEUE_FAMILY_FOREIGN` Vulkan extensions on **Android builds**. It extends the **Vulkan preferred features logic** to detect and enable these extensions, allowing the **Graphite rendering path** to utilize `AHardwareBuffer` for more efficient external memory handling. The `VulkanCaps` initialization is updated to check for these extensions when determining `AHardwareBuffer` image support. This enhancement significantly improves **graphics performance and memory efficiency** on Android devices by leveraging native hardware buffers, with new tests verifying proper detection and enablement. Release notes are also updated to document this important **Vulkan backend** feature.
This commit **refactors** the **Graphite GPU resource labeling system** to separate the assignment of a frontend label from the actual synchronization of that label with the backend GPU resource, a foundational step towards achieving **thread-safe label updates**. It introduces a `synchronizeBackendLabel` method and `fBackendLabelDirty` flag to the `Resource` class, and updates `ResourceProvider`'s resource creation methods to manage this new synchronization flow. As an immediate impact, **GraphicsPipeline backend implementations** (`MtlGraphicsPipeline`, `VulkanGraphicsPipeline`, `DawnGraphicsPipeline`) now call `synchronizeBackendLabel` in their constructors to ensure their underlying GPU objects reflect the correct label upon creation. This **maintenance** work improves consistency for **GPU resource debugging labels** and paves the way for `Resource` subclasses to eventually handle their own backend label updates.
This commit performs a **code refactoring** across the **GPU rendering backends**, specifically within the **Ganesh** and **Graphite** modules. It **removes redundant `std::move` calls** when passing or constructing with `std::string_view` objects, as `std::move` offers no semantic or performance benefit for these non-owning reference types. This cleanup improves code clarity and consistency in various **resource management, texture/buffer creation, and image/surface operations**, such as `findAndRefScratchTexture` and `createAndUpdateBindings`. The change is a **code quality improvement** that enhances readability and reduces potential confusion without altering runtime behavior or introducing functional changes.
This commit **fixes** the **dependency installation script** (`install_dependencies.sh`) by removing the nonexistent `xcb` package from its list of dependencies. On Ubuntu systems, `xcb` is not a valid package name, which previously caused failures during the setup of the **Skia build environment**. This **maintenance change** ensures that developers can successfully run the script and build the project without encountering dependency installation errors, as the necessary XCB functionalities are already provided by `libx11-xcb-dev` and `libxcb-xkb-dev`.
This commit provides a **bug fix** for the **Graphite Vulkan backend** by correcting how default depth/stencil attachment textures are configured. Previously, the `getDefaultAttachmentTextureInfo` function in `VulkanCaps.cpp` incorrectly set the **Vulkan image aspect mask** to only `VK_IMAGE_ASPECT_COLOR_BIT`, even for formats containing depth and/or stencil components. This change ensures that the appropriate `VK_IMAGE_ASPECT_DEPTH_BIT` and/or `VK_IMAGE_ASPECT_STENCIL_BIT` are included when creating these textures. This **fix** resolves a potential source of **texture cache misses** and improves **rendering correctness** for depth/stencil operations, particularly impacting **Android** devices.
This commit performs a **documentation update** within the **Graphite Vulkan backend**, specifically targeting the `include/gpu/graphite/vk/VulkanGraphiteTypes.h` header. It updates the comment documentation for `VkImageCreateFlags` to explicitly include `VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT` as a supported flag. This **maintenance** change improves the accuracy and completeness of the API documentation, ensuring developers have correct information when working with Vulkan image creation within the Graphite rendering system. The update clarifies the capabilities and expected usage of `VkImageCreateFlags` for **Vulkan image handling** in Graphite.
This commit **fixes a compilation error** within the **Skia AVIF codec** by adding the missing include for `SkCodecPriv.h` to `src/codec/SkCrabbyAvifCodec.cpp`. This resolves an "incomplete type" error for `SkCodecs::ColorProfile` when `MakeICCProfile` is called, which was causing build failures. The **maintenance fix** ensures the `SkCrabbyAvifCodec` compiles correctly, preventing an **Android roller failure** related to this specific issue.
This commit performs a **maintenance refactoring** within the **`SkPixmap`** core module, specifically updating its color generation logic. It modifies methods like `getColor` and `getColor4f` in `src/core/SkPixmap.cpp` to consistently utilize `SkColor` creation helper functions. This change **simplifies expressions** and aligns the code with established patterns for color handling, improving internal consistency and readability. The work is a follow-up cleanup based on previous feedback, enhancing the maintainability of the `SkPixmap` implementation without altering its external behavior.
This commit introduces the **new color type** `kR16_unorm_SkColorType`, a single-channel 16-bit unsigned normalized red format, primarily to enable more efficient **accelerated RGB to YUV conversion**. This **feature addition** required widespread updates across the **Skia core**, including `SkColorType.h`, `SkImageInfo`, `SkPixmap`, and the `SkRasterPipeline` for pixel handling and operations. Comprehensive support was integrated into **GPU backends** (Ganesh and Graphite) by updating format tables for D3D (`DXGI_FORMAT_R16_UNORM`), Metal (`R16Unorm`), Vulkan (`VK_FORMAT_R16_UNORM`), and Dawn (`wgpu::TextureFormat::R16Unorm`). The change also involved updating various utility functions, debugging tools, and adding extensive test coverage to ensure proper functionality and compatibility throughout the rendering pipeline.
This commit refines **Graphite's resource management** by ensuring that **shareable resource labels** are only set once upon initial insertion into the cache. This change, primarily implemented in `src/gpu/graphite/ResourceProvider.cpp` within methods like `findOrCreateTexture` and `findOrCreateBuffer`, prevents subsequent modifications to shareable resource labels, thereby improving **thread safety** and relying on their generic nature. Additionally, `src/gpu/graphite/Resource.h` is updated with detailed documentation outlining the new resource labeling policies and future resource management strategies. This is a **maintenance improvement** that enhances the robustness and thread-safety of the resource caching system, addressing potential issues with concurrent label modifications.
This commit implements a **temporary workaround** by **disabling** the `SkSLIntrinsicModf_Ganesh` test within the **OpenGLES SkSL** test suite. This **maintenance** action specifically targets **Pixel 10 devices** where the test is known to fail, preventing continuous integration (CI) pipeline disruptions. The test is disabled in the `dmFlags` configuration located in `infra/bots/gen_tasks_logic/dm_flags.go`. A new bug has been filed to track the underlying issue and a future fix, ensuring this is not a permanent removal.
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.