diff --git a/base/shaders/raytrace/raytrace_brute_core.spirv b/base/shaders/raytrace/raytrace_brute_core.spirv index 6c3c014a..1a7a89c1 100644 Binary files a/base/shaders/raytrace/raytrace_brute_core.spirv and b/base/shaders/raytrace/raytrace_brute_core.spirv differ diff --git a/base/shaders/raytrace/raytrace_brute_forge_core.spirv b/base/shaders/raytrace/raytrace_brute_forge_core.spirv index fbf2a5fa..6f3bb78b 100644 Binary files a/base/shaders/raytrace/raytrace_brute_forge_core.spirv and b/base/shaders/raytrace/raytrace_brute_forge_core.spirv differ diff --git a/base/shaders/raytrace/raytrace_brute_forge_full.spirv b/base/shaders/raytrace/raytrace_brute_forge_full.spirv index 24847a17..bff86acd 100644 Binary files a/base/shaders/raytrace/raytrace_brute_forge_full.spirv and b/base/shaders/raytrace/raytrace_brute_forge_full.spirv differ diff --git a/base/shaders/raytrace/raytrace_brute_full.spirv b/base/shaders/raytrace/raytrace_brute_full.spirv index 1bd69465..825079be 100644 Binary files a/base/shaders/raytrace/raytrace_brute_full.spirv and b/base/shaders/raytrace/raytrace_brute_full.spirv differ diff --git a/base/shaders/raytrace/src/build_vkrt.sh b/base/shaders/raytrace/src/build_vkrt.sh index 69fe6c06..f4148e6e 100755 --- a/base/shaders/raytrace/src/build_vkrt.sh +++ b/base/shaders/raytrace/src/build_vkrt.sh @@ -1,8 +1,8 @@ -./dxc -Zpr -Fo ../raytrace_brute_core.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -./dxc -Zpr -Fo ../raytrace_brute_full.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -D _FULL -./dxc -Zpr -Fo ../raytrace_brute_forge_core.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -D _FORGE -./dxc -Zpr -Fo ../raytrace_brute_forge_full.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -D _FORGE -D _FULL -./dxc -Zpr -Fo ../raytrace_bake_ao.spirv -T lib_6_4 ./raytrace_bake_ao.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -./dxc -Zpr -Fo ../raytrace_bake_light.spirv -T lib_6_4 ./raytrace_bake_light.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -./dxc -Zpr -Fo ../raytrace_bake_bent.spirv -T lib_6_4 ./raytrace_bake_bent.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -./dxc -Zpr -Fo ../raytrace_bake_thick.spirv -T lib_6_4 ./raytrace_bake_thick.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all +./dxc -Zpr -Fo ../raytrace_brute_core.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all +./dxc -Zpr -Fo ../raytrace_brute_full.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all -D _FULL +./dxc -Zpr -Fo ../raytrace_brute_forge_core.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all -D _FORGE +./dxc -Zpr -Fo ../raytrace_brute_forge_full.spirv -T lib_6_4 ./raytrace_brute.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all -D _FORGE -D _FULL +./dxc -Zpr -Fo ../raytrace_bake_ao.spirv -T lib_6_4 ./raytrace_bake_ao.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all +./dxc -Zpr -Fo ../raytrace_bake_light.spirv -T lib_6_4 ./raytrace_bake_light.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all +./dxc -Zpr -Fo ../raytrace_bake_bent.spirv -T lib_6_4 ./raytrace_bake_bent.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all +./dxc -Zpr -Fo ../raytrace_bake_thick.spirv -T lib_6_4 ./raytrace_bake_thick.hlsl -spirv -fvk-use-scalar-layout -fspv-target-env="vulkan1.3" -fvk-u-shift 10 all -fvk-b-shift 11 all -fvk-s-shift 12 all diff --git a/base/sources/backends/vulkan_gpu.c b/base/sources/backends/vulkan_gpu.c index 14f76ef3..327c4ad4 100644 --- a/base/sources/backends/vulkan_gpu.c +++ b/base/sources/backends/vulkan_gpu.c @@ -3035,7 +3035,19 @@ void gpu_raytrace_dispatch_rays() { .pImageInfo = &texrankimage_descriptor, }; - VkWriteDescriptorSet write_descriptor_sets[12] = {acceleration_structure_write, + VkDescriptorImageInfo sampler_info = { + .sampler = linear_sampler, + }; + VkWriteDescriptorSet sampler_linear_write = { + .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, + .dstSet = pipeline->impl.descriptor_set, + .dstBinding = 12, + .descriptorCount = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER, + .pImageInfo = &sampler_info, + }; + + VkWriteDescriptorSet write_descriptor_sets[13] = {acceleration_structure_write, result_image_write, uniform_buffer_write, vb_write, @@ -3046,8 +3058,9 @@ void gpu_raytrace_dispatch_rays() { texenv_image_write, texsobol_image_write, texscramble_image_write, - texrank_image_write}; - vkUpdateDescriptorSets(device, 12, write_descriptor_sets, 0, VK_NULL_HANDLE); + texrank_image_write, + sampler_linear_write}; + vkUpdateDescriptorSets(device, 13, write_descriptor_sets, 0, VK_NULL_HANDLE); set_image_layout(output->impl.image, VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL);