Giter VIP home page Giter VIP logo

hybrid-rendering's People

Contributors

diharaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hybrid-rendering's Issues

Runtime error when submit command buffer

I cloned this repository and built the project successfully with VS2019. When I started to run the project, I met the same validation errors as #16 mentioned. Then I uninstalled the latest version of Vulkan SDK and installed the version 1.2.189.2 same with that in readme. However, program still crashed at submit command buffer , the result of vkQueSubmit is VK_ERROR_DEVICE_LOST. I dont know what to do next to solve this problem. Any advice would be grateful !

Cannot run the application

[ 19:24:42 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-VkGraphicsPipelineCreateInfo-layout-07987 ] Object 0: handle = 0xb6c14b000000060c, type = VK_OBJECT_TYPE_SHADER_MODULE; Object 1: handle = 0xb1d799000000060e, type = VK_OBJECT_TYPE_PIPELINE_LAYOUT; | MessageID = 0xfbdd4d2e | vkCreateGraphicsPipelines(): pCreateInfos[0] VK_SHADER_STAGE_VERTEX_BIT has a push constant buffer Block with range [0, 136] which outside the pipeline layout range of [0, 76]. The Vulkan spec states: If a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-layout-07987) , FILE : vk.cpp , LINE : 156

[ 19:24:42 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-VkGraphicsPipelineCreateInfo-layout-07987 ] Object 0: handle = 0x68aaa000000060d, type = VK_OBJECT_TYPE_SHADER_MODULE; Object 1: handle = 0xb1d799000000060e, type = VK_OBJECT_TYPE_PIPELINE_LAYOUT; | MessageID = 0xfbdd4d2e | vkCreateGraphicsPipelines(): pCreateInfos[0] VK_SHADER_STAGE_FRAGMENT_BIT has a push constant buffer Block with range [0, 140] which outside the pipeline layout range of [0, 76]. The Vulkan spec states: If a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-layout-07987) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xdc9b430000000625, name = Shadows Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xbef9ee0000000611, name = Shadows Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xdc9b430000000625[Shadows Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xbef9ee0000000611[Shadows Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xb64738000000065c, name = AO Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xda70bf000000064a, name = AO Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xb64738000000065c[AO Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xda70bf000000064a[AO Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xdc9b430000000625, name = Shadows Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xbef9ee0000000611, name = Shadows Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xdc9b430000000625[Shadows Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xbef9ee0000000611[Shadows Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xb64738000000065c, name = AO Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xda70bf000000064a, name = AO Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xb64738000000065c[AO Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xda70bf000000064a[AO Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xdc9b430000000625, name = Shadows Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xbef9ee0000000611, name = Shadows Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xdc9b430000000625[Shadows Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xbef9ee0000000611[Shadows Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xb64738000000065c, name = AO Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xda70bf000000064a, name = AO Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xb64738000000065c[AO Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xda70bf000000064a[AO Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xdc9b430000000625, name = Shadows Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xbef9ee0000000611, name = Shadows Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xdc9b430000000625[Shadows Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xbef9ee0000000611[Shadows Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | ERROR ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdDispatch-mipmapMode-04770 ] Object 0: handle = 0xb64738000000065c, name = AO Ray Trace Read, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xda6ce50000000156, name = Nearest Sampler, type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xda70bf000000064a, name = AO Ray Trace, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x3019e15a | vkCmdDispatch: Descriptor set VkDescriptorSet 0xb64738000000065c[AO Ray Trace Read] Sampler (VkSampler 0xda6ce50000000156[Nearest Sampler]) is set to use VK_SAMPLER_MIPMAP_MODE_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0xda70bf000000064a[AO Ray Trace]) format (VK_FORMAT_R32_UINT) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The Vulkan spec states: If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-vkCmdDispatch-mipmapMode-04770) , FILE : vk.cpp , LINE : 156

[ 19:24:43 | FATAL ] : (Vulkan) Failed to submit command buffer! , FILE : vk.cpp , LINE : 3813

Vulkan validation error on debug build?

Hi,

I am having the following error on when launching the released app

[ 01:19:12 | ERROR   ] : Vulkan - Validation : Validation Error: [ VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03710 ] Object 0: handle = 0x2651808f510, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ff8904 | vkCmdBuildAccelerationStructuresKHR:For each element of pInfos, its scratchData.deviceAddress member must be a multiple of VkPhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment. The Vulkan spec states: For each element of pInfos, its scratchData.deviceAddress member must be a multiple of VkPhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment (https://vulkan.lunarg.com/doc/view/1.3.216.0/windows/1.3-extensions/vkspec.html#VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03710) , FILE : vk.cpp , LINE : 156

Vulkan sdk version 1.3.216.0
Win10
AMD 6900xt

Failed to build on MSYS2 UCRT64

$ make
[  0%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/context.c.obj
[  1%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/init.c.obj
[  1%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/input.c.obj
[  1%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/monitor.c.obj
[  2%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/vulkan.c.obj
[  2%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/window.c.obj
[  2%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/win32_init.c.obj
[  3%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/win32_joystick.c.obj
[  3%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/win32_monitor.c.obj
[  3%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/win32_time.c.obj
[  4%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/win32_thread.c.obj
[  4%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/win32_window.c.obj
[  4%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/wgl_context.c.obj
[  5%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/egl_context.c.obj
[  5%] Building C object external/dwSampleFramework/external/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.obj
[  6%] Linking C static library /C/msys64/home/Administrator/hybrid-rendering/lib/libglfw3.a
[  6%] Built target glfw
[  7%] Building CXX object external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/Common/Assimp.cpp.obj
[  7%] Building CXX object external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/CApi/CInterfaceIOWrapper.cpp.obj
[  7%] Building CXX object external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/Common/BaseImporter.cpp.obj
[  8%] Building CXX object external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/Common/BaseProcess.cpp.obj
In file included from C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/include/assimp/GenericProperty.h:52,
                 from C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/BaseProcess.h:46,
                 from C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/BaseProcess.cpp:44:
C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/include/assimp/Importer.hpp:505:16: error: 'exception_ptr' in namespace 'std' does not name a type
  505 |     const std::exception_ptr& GetException() const;
      |                ^~~~~~~~~~~~~
C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/include/assimp/Importer.hpp:61:1: note: 'std::exception_ptr' is defined in header '<exception>'; did you forget to '#include <exception>'?
   60 | #include <assimp/types.h>
  +++ |+#include <exception>
   61 |
In file included from C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/BaseProcess.cpp:45:
C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/Importer.h:104:10: error: 'exception_ptr' in namespace 'std' does not name a type
  104 |     std::exception_ptr mException;
      |          ^~~~~~~~~~~~~
C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/Importer.h:49:1: note: 'std::exception_ptr' is defined in header '<exception>'; did you forget to '#include <exception>'?
   48 | #include <vector>
  +++ |+#include <exception>
   49 | #include <string>
C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/Importer.h: In constructor 'Assimp::ImporterPimpl::ImporterPimpl()':
C:/msys64/home/Administrator/hybrid-rendering/external/dwSampleFramework/external/assimp/code/Common/Importer.h:139:9: error: class 'Assimp::ImporterPimpl' does not have any field named 'mException'
  139 |         mException(),
      |         ^~~~~~~~~~
make[2]: *** [external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/build.make:118: external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/Common/BaseProcess.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:224: external/dwSampleFramework/external/assimp/code/CMakeFiles/assimp.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I guess the external submodules are too old to build with modern C++ compilers?

Fails to run on RX 6800 with Radeon Software 21.10.1

Attempting to run the Release version on my RX 6800 on Windows using the newest available drivers (21.10.1) fails during the allocation of a descriptor set.

>HybridRendering.exe
********************************************************************************************************
Tue Oct  5 14:32:53 2021
Log Started.
********************************************************************************************************
[ 14:32:53 | INFO    ] : Successfully initialized platform! , FILE : application.cpp , LINE : 232
[ 14:32:53 | INFO    ] : (Vulkan) Vendor : AMD , FILE : vk.cpp , LINE : 4285
[ 14:32:53 | INFO    ] : (Vulkan) Name   : AMD Radeon RX 6800 , FILE : vk.cpp , LINE : 4286
[ 14:32:53 | INFO    ] : (Vulkan) Type   : VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU , FILE : vk.cpp , LINE : 4287
[ 14:32:53 | INFO    ] : (Vulkan) Driver : 8388806 , FILE : vk.cpp , LINE : 4288
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queue families: 3 , FILE : vk.cpp , LINE : 4325
[ 14:32:53 | INFO    ] : (Vulkan) Family 0 , FILE : vk.cpp , LINE : 4334
[ 14:32:53 | INFO    ] : (Vulkan) Supported Bits:  , FILE : vk.cpp , LINE : 4335
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_GRAPHICS_BIT: 1 , FILE : vk.cpp , LINE : 4336
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_COMPUTE_BIT: 1 , FILE : vk.cpp , LINE : 4337
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_TRANSFER_BIT: 1 , FILE : vk.cpp , LINE : 4338
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queues: 1 , FILE : vk.cpp , LINE : 4339
[ 14:32:53 | INFO    ] : (Vulkan) Family 1 , FILE : vk.cpp , LINE : 4334
[ 14:32:53 | INFO    ] : (Vulkan) Supported Bits:  , FILE : vk.cpp , LINE : 4335
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_GRAPHICS_BIT: 0 , FILE : vk.cpp , LINE : 4336
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_COMPUTE_BIT: 1 , FILE : vk.cpp , LINE : 4337
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_TRANSFER_BIT: 1 , FILE : vk.cpp , LINE : 4338
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queues: 2 , FILE : vk.cpp , LINE : 4339
[ 14:32:53 | INFO    ] : (Vulkan) Family 2 , FILE : vk.cpp , LINE : 4334
[ 14:32:53 | INFO    ] : (Vulkan) Supported Bits:  , FILE : vk.cpp , LINE : 4335
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_GRAPHICS_BIT: 0 , FILE : vk.cpp , LINE : 4336
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_COMPUTE_BIT: 0 , FILE : vk.cpp , LINE : 4337
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_TRANSFER_BIT: 1 , FILE : vk.cpp , LINE : 4338
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queues: 2 , FILE : vk.cpp , LINE : 4339
[ 14:32:55 | FATAL   ] : (Vulkan) Failed to allocate descriptor set. , FILE : vk.cpp , LINE : 2

Vulkaninfo for this system:
vkinfo.txt

Questions about the shadow denoising method used

Hi, thanks for making the sample freely available!

I haven't ran it yet, so sorry if this is a question that would be explained by doing so. I'm curious about what method you're using for shadow denoising here. It appears that you're doing some temporal reprojection stuff and then running it the output through an A Trous filter? Is there a reference that you used for this method? It seems familiar to the AMD FidelityFX shadow denoiser which unfortunately is a bit un-documented as well.

Shadow denoising seems to be an aspect of ray-tracing that doesn't have many good implementation guides, so any recommendations would be appreciated! Thanks in advance!

Possible optimization?

Hi, this was a good read and interesting to see. One thing that might be interesting reading about is https://www.khronos.org/blog/vulkan-subgroup-tutorial, it basically allows to get rid of the atomicOr and barrier. Since you're executing 1 warp (32 threads), you can exchange it using subgroupOr (GL_KHR_shader_subgroup_arithmetic). Basically uint x = subgroupOr(result << gl_LocalInvocationIndex) in https://github.com/diharaw/HybridRendering/blob/master/src/shaders/ao/ao_ray_trace.comp#L120 and also the shadow pass from what I've read. I'm not sure if this is already done by the driver or compiler, but it might be interesting to check out anyways (if this wasn't done for reducing the extensions required to run the sample).

Test scene generation methods

Could you make a short tutorial regarding how to make the test scenes? I want to make some additional scenes for this project but don't know where shall I start.
Many thanks.

Failed to configure on MSYS2 UCRT64

Please re-check your CMakeLists.txt. The configuration is done and the ninja build script is generated but there are errors on the ninja build script:

CMake Error:
  Running

   'C:/msys64/ucrt64/bin/ninja.exe' '-C' 'C:/msys64/home/Administrator/hybrid-rendering/build' '-t' 'recompact'

  failed with:

   ninja: error: build.ninja:3122: bad $-escape (literal $ must be written as $$)





CMake Generate step failed.  Build files cannot be regenerated correctly.

Update: if I use "MSYS Makefiles" or "MinGW Makefiles" generator then it could generate the build script without any errors!

Failed to find a suitable GPU (GeForce GTX 1060 6GB)

Hello,

When I run HybridRendering.exe (v1.0.0), I get this fatal error:

(Vulkan) Failed to find a suitable GPU. , FILE : vk.cpp , LINE : 3442

Here are some system informations:

OS : Windows 10.0.19043 Build 19043
GPU : NVIDIA GeForce GTX 1060 6GB
I have also an integrated Intel GPU...

GeForce Game Ready Driver 511.23

Runtime error at launch

Hi, and thanks for sharing your work!
The compilation went well but I have this runtime issue at launch:

image

I have the exact same error when I run the built version in your release package.
Do you have any idea?

I have built the application using default CMake options.

  • Windows 10 20H2
  • RTX 2070
  • Vulkan SDK 1.2.189.2

Missing texture files

When running the renderer, it is missing PNGs in the texture folder. Could you kindly provide the texture files or point to where to get them?

texture/LDR_RGBA_0.png
texture/LDR_RGBA_1.png
texture/blue_noise/sobol_256_4d.png
texture/blue_noise/scrambling_ranking_128x128_2d_1spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_2spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_4spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_8spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_16spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_32spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_64spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_128spp.png
texture/blue_noise/scrambling_ranking_128x128_2d_256spp.png

Thank you very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.