Vulkan: Render graph textures #120821

Merged
Jeroen Bakker merged 53 commits from Jeroen-Bakker/blender:vulkan/render-graph-textures into main 2024-04-19 14:55:49 +02:00

53 Commits

Author SHA1 Message Date
Jeroen Bakker 0534666ebc Add support for clear depth stencil textures to render graph
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-19 14:24:25 +02:00
Jeroen Bakker 648514038f Merge branch 'main' into vulkan/render-graph-textures 2024-04-19 12:30:49 +02:00
Jeroen Bakker 92e19a14fd Vulkan: Render graph textures
This PR implementes render graph for VKTexture.
NOTE: Clearing depth isn't implemented yet.
2024-04-19 12:26:41 +02:00
Jeroen Bakker 928bed1792 Formatting
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-19 11:45:29 +02:00
Jeroen Bakker dc71289717 Spelling 2024-04-19 11:29:17 +02:00
Jeroen Bakker 18ef5463b1 Remove unneeded changes 2024-04-19 11:19:08 +02:00
Jeroen Bakker a3f97ee6b0 Merge branch 'main' into vulkan/render-graph-storage-buffer 2024-04-19 11:15:08 +02:00
Jeroen Bakker f87dc9bb91 Merge branch 'main' into vulkan/render-graph-storage-buffer 2024-04-19 10:54:07 +02:00
Jeroen Bakker 60830c0e12 Vulkan: Render graph storage buffers
This PR enabled render graph for storage buffers.

A developer can switch `vk_common.hh#use_render_graph` to enable render graph.
When enabled the buffers and images are tracked by the device resource state
tracker. The storage buffer commands are recorded to the context render graph.

The next unit tests will pass:
- GPUVulkanTest.storage_buffer_create_update_read
- GPUVulkanTest.storage_buffer_clear_zero
- GPUVulkanTest.storage_buffer_clear
2024-04-19 09:00:49 +02:00
Jeroen Bakker 6225ec1565 Merge branch 'main' into vulkan/render-graph-core 2024-04-19 07:51:57 +02:00
Jeroen Bakker 434c5493dc Merge branch 'vulkan/use-std-endl' into vulkan/render-graph-core
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-18 15:07:08 +02:00
Jeroen Bakker bfad9c0e83 Add missing definition
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-18 15:06:49 +02:00
Jeroen Bakker 25e108f7a3 Merge branch 'vulkan/use-std-endl' into vulkan/render-graph-core 2024-04-18 15:05:47 +02:00
Jeroen Bakker 30a799a4bc Added missing headers + pipeline layout 2024-04-18 15:03:22 +02:00
Jeroen Bakker 687dab608d Add pipeline layout 2024-04-18 15:00:42 +02:00
Jeroen Bakker f8f9c96c90 Portable printing of handles 2024-04-18 14:59:12 +02:00
Jeroen Bakker af673d6edc Fix compiler compatible print of vulkan handles 2024-04-18 14:52:02 +02:00
Jeroen Bakker d10795cf85 Added portable print address
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-18 14:38:32 +02:00
Jeroen Bakker ab5e68e116 Another try to fiux test cases
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-18 14:27:41 +02:00
Jeroen Bakker d1769c6d82 Try to solve tests
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-18 12:44:30 +02:00
Jeroen Bakker 4646fcc747 Merge branch 'vulkan/use-std-endl' into vulkan/render-graph-core 2024-04-18 12:25:59 +02:00
Jeroen Bakker 1d9a4b2c2e Vulkan: Use std::endl in vk_to_string
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
Trying to narrow down why some tests are failing on windows, but not on
linux/mac. These tests use a string compare.
2024-04-18 12:22:34 +02:00
Jeroen Bakker 5556f18185 Remove compilation warning in release builds.
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-18 09:37:16 +02:00
Jeroen Bakker 0b5753a325 Merge branch 'main' into vulkan/render-graph-core 2024-04-18 09:11:40 +02:00
Jeroen Bakker 038f40c979 Merged render graph links into render graph 2024-04-18 09:09:39 +02:00
Jeroen Bakker b66724dce4 Added comment about walking the graph 2024-04-18 07:51:14 +02:00
Jeroen Bakker a0188ac424 Renamed VKNode to VKRenderGraphNode 2024-04-18 07:43:20 +02:00
Jeroen Bakker 999d4461ee Merge branch 'main' into vulkan/render-graph-core 2024-04-16 15:15:18 +02:00
Jeroen Bakker 4a91b165a6 make format
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-04-16 13:57:45 +02:00
Jeroen Bakker 1afae04018 Renamed pipeline_types to pipeline_data 2024-04-16 13:55:46 +02:00
Jeroen Bakker eeb5099eed Remove vk_types 2024-04-16 13:51:13 +02:00
Jeroen Bakker 4c1d64b029 Remove resource handles 2024-04-16 13:25:21 +02:00
Jeroen Bakker 1544fd7adb vk_render_graph documentation 2024-04-16 11:39:58 +02:00
Jeroen Bakker df7fb9dd95 vk_render_graph documentation 2024-04-16 11:23:52 +02:00
Jeroen Bakker 772dafc242 resource access info 2024-04-16 10:49:14 +02:00
Jeroen Bakker cfaabceac2 vk_resource_dependencies -> vk_render_graph_links 2024-04-16 10:24:59 +02:00
Jeroen Bakker 5d336e0606 Added documentation to resource state tracking 2024-04-16 09:41:58 +02:00
Jeroen Bakker ee6ca81a2f Make mutex public 2024-04-16 08:28:46 +02:00
Jeroen Bakker 15db1e46e6 Remove VKNodes 2024-04-16 08:24:34 +02:00
Jeroen Bakker 7116778eba Use`Node::CreateInfo` 2024-04-15 15:53:59 +02:00
Jeroen Bakker 06d0efbfa6 Moved tests in tests folder 2024-04-15 15:21:06 +02:00
Jeroen Bakker fdbebda31e Renamed VKNodeData to VKNode 2024-04-15 15:14:47 +02:00
Jeroen Bakker 7b3cabdfb9 Improve command builder API 2024-04-15 13:47:18 +02:00
Jeroen Bakker b74f229d1f Introduce state_ in VKCommandBuilder 2024-04-15 12:43:31 +02:00
Jeroen Bakker bdf9375432 Rename localized_shader_data to vk_pipeline_data_copy 2024-04-15 10:37:57 +02:00
Jeroen Bakker d595909198 Renamed VKNodeClass to VKNodeInfo 2024-04-15 10:25:55 +02:00
Jeroen Bakker 4ce2209fa4 Merge branch 'main' into vulkan/render-graph-core 2024-04-11 11:07:21 +02:00
Jeroen Bakker d4a05509b8 Merge branch 'main' into vulkan/render-graph-core 2024-04-11 10:26:45 +02:00
Jeroen Bakker 77029c311c Make VKScheduler less complex. 2024-04-11 09:09:16 +02:00
Jeroen Bakker af9d35bd4c Moved resource handles into render_graph folder 2024-04-09 15:10:44 +02:00
Jeroen Bakker a6025836df Make format 2024-04-09 14:58:45 +02:00
Jeroen Bakker 86d41f7009 Documentation 2024-04-09 14:58:02 +02:00
Jeroen Bakker 9136a4af8e Initial commit 2024-04-09 13:50:33 +02:00