| 2055 | } |
| 2056 | |
| 2057 | uint32_t bytesPerTexFormat(VkFormat fmt) |
| 2058 | { |
| 2059 | switch (fmt) |
| 2060 | { |
| 2061 | case VK_FORMAT_R8_SINT: |
| 2062 | case VK_FORMAT_R8_UNORM: |
| 2063 | return 1; |
| 2064 | case VK_FORMAT_R16_SFLOAT: |
| 2065 | return 2; |
| 2066 | case VK_FORMAT_R16G16_SFLOAT: |
| 2067 | return 4; |
| 2068 | case VK_FORMAT_R16G16_SNORM: |
| 2069 | return 4; |
| 2070 | case VK_FORMAT_B8G8R8A8_UNORM: |
| 2071 | return 4; |
| 2072 | case VK_FORMAT_R8G8B8A8_UNORM: |
| 2073 | return 4; |
| 2074 | case VK_FORMAT_R16G16B16A16_SFLOAT: |
| 2075 | return 4 * sizeof(uint16_t); |
| 2076 | case VK_FORMAT_R32G32B32A32_SFLOAT: |
| 2077 | return 4 * sizeof(float); |
| 2078 | default: |
| 2079 | break; |
| 2080 | } |
| 2081 | return 0; |
| 2082 | } |
| 2083 | |
| 2084 | bool updateTextureVolume(VulkanRenderDevice& vkDev, VkImage& textureVolume, VkDeviceMemory& textureVolumeMemory, uint32_t texWidth, uint32_t texHeight, uint32_t texDepth, VkFormat texFormat, const void* volumeData, VkImageLayout sourceImageLayout) |
| 2085 | { |
no outgoing calls
no test coverage detected