@@ -593,7 +593,7 @@ void SubgroupsOperations::create_descriptor_set_layout()
593593 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_FRAGMENT_BIT,
594594 3u ),
595595 vkb::initializers::descriptor_set_layout_binding (
596- VK_DESCRIPTOR_TYPE_STORAGE_IMAGE , VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_FRAGMENT_BIT,
596+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER , VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_FRAGMENT_BIT,
597597 4u ),
598598 vkb::initializers::descriptor_set_layout_binding (
599599 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_FRAGMENT_BIT,
@@ -627,7 +627,7 @@ void SubgroupsOperations::create_descriptor_set()
627627 vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1u , &displacement_descriptor),
628628 vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 2u , &tessellation_params_descriptor),
629629 vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 3u , &camera_pos_buffer_descriptor),
630- vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_STORAGE_IMAGE , 4u , &normal_map_descriptor),
630+ vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER , 4u , &normal_map_descriptor),
631631 vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 5u , &ocean_params_buffer_descriptor),
632632 vkb::initializers::write_descriptor_set (ocean.descriptor_set , VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 6u , &skybox_cubemap_descriptor)};
633633
@@ -1066,6 +1066,21 @@ void SubgroupsOperations::create_image_attachement(VkFormat format, uint32_t wid
10661066 image_view_create_info.image = attachment.image ;
10671067 VK_CHECK (vkCreateImageView (get_device ().get_handle (), &image_view_create_info, nullptr , &attachment.view ));
10681068
1069+ VkSamplerCreateInfo sampler_info = vkb::initializers::sampler_create_info ();
1070+ sampler_info.magFilter = VK_FILTER_LINEAR;
1071+ sampler_info.minFilter = VK_FILTER_LINEAR;
1072+ sampler_info.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT;
1073+ sampler_info.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT;
1074+ sampler_info.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT;
1075+ sampler_info.anisotropyEnable = VK_TRUE;
1076+ sampler_info.maxAnisotropy = get_device ().get_gpu ().get_properties ().limits .maxSamplerAnisotropy ;
1077+ sampler_info.compareEnable = VK_FALSE;
1078+ sampler_info.compareOp = VK_COMPARE_OP_ALWAYS;
1079+ sampler_info.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK;
1080+ sampler_info.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR;
1081+
1082+ VK_CHECK (vkCreateSampler (get_device ().get_handle (), &sampler_info, nullptr , &attachment.sampler ));
1083+
10691084 VkImageMemoryBarrier imgMemBarrier = vkb::initializers::image_memory_barrier ();
10701085 imgMemBarrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED;
10711086 imgMemBarrier.newLayout = VK_IMAGE_LAYOUT_GENERAL;
@@ -1326,10 +1341,10 @@ void SubgroupsOperations::create_fft_normal_map()
13261341
13271342VkDescriptorImageInfo SubgroupsOperations::create_ia_descriptor (ImageAttachment &attachment)
13281343{
1329- VkDescriptorImageInfo image_descriptor{};
1330- image_descriptor.imageView = attachment.view ;
1331- image_descriptor.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
1332- image_descriptor.sampler = nullptr ;
1344+ VkDescriptorImageInfo image_descriptor = {};
1345+ image_descriptor.imageView = attachment.view ;
1346+ image_descriptor.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
1347+ image_descriptor.sampler = attachment. sampler ;
13331348 return image_descriptor;
13341349}
13351350
0 commit comments