MCPcopy Create free account
hub / github.com/defold/defold / TextureTypeToDescriptorType

Function TextureTypeToDescriptorType

engine/graphics/src/vulkan/graphics_vulkan.cpp:2647–2691  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2645 }
2646
2647 static inline VkDescriptorType TextureTypeToDescriptorType(ShaderDesc::ShaderDataType type)
2648 {
2649 switch(type)
2650 {
2651 // Sampler objects
2652 case ShaderDesc::SHADER_TYPE_SAMPLER:
2653 return VK_DESCRIPTOR_TYPE_SAMPLER;
2654
2655 // Combined samplers
2656 case ShaderDesc::SHADER_TYPE_SAMPLER2D:
2657 case ShaderDesc::SHADER_TYPE_SAMPLER3D:
2658 case ShaderDesc::SHADER_TYPE_SAMPLER_CUBE:
2659 case ShaderDesc::SHADER_TYPE_SAMPLER2D_ARRAY:
2660 case ShaderDesc::SHADER_TYPE_SAMPLER3D_ARRAY:
2661 return VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
2662
2663 case ShaderDesc::SHADER_TYPE_IMAGE2D:
2664 case ShaderDesc::SHADER_TYPE_UIMAGE2D:
2665 case ShaderDesc::SHADER_TYPE_IMAGE3D:
2666 case ShaderDesc::SHADER_TYPE_UIMAGE3D:
2667 return VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
2668
2669 // Render pass inputs
2670 case ShaderDesc::SHADER_TYPE_RENDER_PASS_INPUT:
2671 return VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
2672
2673 // Texture objects
2674 case ShaderDesc::SHADER_TYPE_TEXTURE_CUBE:
2675 case ShaderDesc::SHADER_TYPE_TEXTURE2D:
2676 case ShaderDesc::SHADER_TYPE_TEXTURE2D_ARRAY:
2677 case ShaderDesc::SHADER_TYPE_UTEXTURE2D:
2678 case ShaderDesc::SHADER_TYPE_TEXTURE3D:
2679 case ShaderDesc::SHADER_TYPE_TEXTURE3D_ARRAY:
2680 case ShaderDesc::SHADER_TYPE_UTEXTURE3D:
2681 return VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
2682
2683 // Storage buffers
2684 case ShaderDesc::SHADER_TYPE_STORAGE_BUFFER:
2685 return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
2686 default:break;
2687 }
2688
2689 assert(0 && "Unsupported shader type");
2690 return (VkDescriptorType) -1;
2691 }
2692
2693 static void UpdateImageDescriptor(VulkanContext* context, HTexture texture_handle, ShaderResourceBinding* binding, VkDescriptorImageInfo& vk_image_info, VkWriteDescriptorSet& vk_write_desc_info)
2694 {

Callers 2

UpdateImageDescriptorFunction · 0.85

Calls 1

assertFunction · 0.50

Tested by

no test coverage detected