Skip to content

copyMemoryToImage function added#1079

Open
CrabExtra wants to merge 9 commits into
masterfrom
host_image_copy
Open

copyMemoryToImage function added#1079
CrabExtra wants to merge 9 commits into
masterfrom
host_image_copy

Conversation

@CrabExtra

Copy link
Copy Markdown
Contributor
  • Add hostImageCopy as MOVE_TO_LIMIT in device_features.json.
  • Query and enable VkPhysicalDeviceHostImageCopyFeaturesEXT through limits.hostImageCopy.
  • Add EUF_HOST_TRANSFER_BIT and map it to VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT.
  • Wire VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT into hostImageTransfer format usage.
  • Add host image copy flags and SMemoryToImageCopy.
  • Add ILogicalDevice::copyMemoryToImage validation and CVulkanLogicalDevice backend.
  • Validate host-transfer image creation and EHICF_MEMCPY_BIT full-subresource rules.

Description

Testing

TODO list:

- Add hostImageCopy as MOVE_TO_LIMIT in device_features.json.
- Query and enable VkPhysicalDeviceHostImageCopyFeaturesEXT through limits.hostImageCopy.
- Add EUF_HOST_TRANSFER_BIT and map it to VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT.
- Wire VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT into hostImageTransfer format usage.
- Add host image copy flags and SMemoryToImageCopy.
- Add ILogicalDevice::copyMemoryToImage validation and CVulkanLogicalDevice backend.
- Validate host-transfer image creation and EHICF_MEMCPY_BIT full-subresource rules.
Comment thread include/nbl/video/ILogicalDevice.h
Comment thread src/nbl/video/CVulkanPhysicalDevice.cpp Outdated
Comment thread src/nbl/video/utilities/CAssetConverter.cpp
CrabExtra added 5 commits June 9, 2026 01:49
…ImageCopyProperties`, including `identicalMemoryTypeRequirements`, `copySrcLayouts`, and `copyDstLayouts`.

- Updated `ILogicalDevice` to validate source and destination image layouts for host image copy operations in `copyMemoryToImage`, `copyImageToMemory`, `copyImageToImage`, and `transitionImageLayout`.
- Extended `device_limits.json` to include new fields for `hostImageCopySrcLayouts`, `hostImageCopyDstLayouts`, and `identicalMemoryTypeRequirements`.
Comment thread src/nbl/video/device_capabilities/device_limits.json Outdated
Comment thread include/nbl/video/IPhysicalDevice.h Outdated
Comment on lines +117 to +118
/* VK_EXT_host_image_copy */
uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope, should be in dedicate SHostImageCopyProperties

Comment thread src/nbl/video/CVulkanPhysicalDevice.cpp Outdated
Comment thread src/nbl/video/CVulkanPhysicalDevice.cpp
Comment thread src/nbl/video/ILogicalDevice.cpp Outdated
Comment thread src/nbl/video/ILogicalDevice.cpp Outdated
Comment thread src/nbl/video/CVulkanPhysicalDevice.cpp Outdated
Comment thread src/nbl/video/CVulkanPhysicalDevice.cpp Outdated
Comment thread src/nbl/video/ILogicalDevice.cpp Outdated
Comment thread src/nbl/video/ILogicalDevice.cpp Outdated
Comment thread src/nbl/video/ILogicalDevice.cpp Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants