48 return VK_IMAGE_ASPECT_COLOR_BIT;
55 return VK_IMAGE_ASPECT_COLOR_BIT;
61 return VK_IMAGE_ASPECT_DEPTH_BIT;
65 return VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT;
86 return VK_IMAGE_ASPECT_COLOR_BIT;
97 return VK_IMAGE_ASPECT_COLOR_BIT;
105 VkImageAspectFlags result = 0;
107 result |= VK_IMAGE_ASPECT_COLOR_BIT;
110 result |= VK_IMAGE_ASPECT_DEPTH_BIT;
113 result |= VK_IMAGE_ASPECT_STENCIL_BIT;
121 case VK_FORMAT_R8G8B8A8_UNORM:
122 case VK_FORMAT_B8G8R8A8_UNORM:
136 return VK_FORMAT_R32G32B32A32_UINT;
138 return VK_FORMAT_R32G32_UINT;
140 return VK_FORMAT_R32_UINT;
142 return VK_FORMAT_R16G16B16A16_UINT;
144 return VK_FORMAT_R16G16_UINT;
146 return VK_FORMAT_R16_UINT;
148 return VK_FORMAT_R8G8B8A8_UINT;
150 return VK_FORMAT_R8G8_UINT;
152 return VK_FORMAT_R8_UINT;
154 return VK_FORMAT_R32G32B32A32_SINT;
156 return VK_FORMAT_R32G32_SINT;
158 return VK_FORMAT_R32_SINT;
160 return VK_FORMAT_R16G16B16A16_SINT;
162 return VK_FORMAT_R16G16_SINT;
164 return VK_FORMAT_R16_SINT;
166 return VK_FORMAT_R8G8B8A8_SINT;
168 return VK_FORMAT_R8G8_SINT;
170 return VK_FORMAT_R8_SINT;
172 return VK_FORMAT_R32G32B32A32_SFLOAT;
174 return VK_FORMAT_R32G32_SFLOAT;
176 return VK_FORMAT_R32_SFLOAT;
178 return VK_FORMAT_R16G16B16A16_SFLOAT;
180 return VK_FORMAT_R16G16_SFLOAT;
182 return VK_FORMAT_R16_SFLOAT;
184 return VK_FORMAT_R16G16B16A16_UNORM;
186 return VK_FORMAT_R16G16_UNORM;
188 return VK_FORMAT_R16_UNORM;
190 return VK_FORMAT_R8G8B8A8_UNORM;
192 return VK_FORMAT_R8G8_UNORM;
194 return VK_FORMAT_R8_UNORM;
198 return VK_FORMAT_A2B10G10R10_UNORM_PACK32;
200 return VK_FORMAT_A2B10G10R10_UINT_PACK32;
202 return VK_FORMAT_B10G11R11_UFLOAT_PACK32;
204 return VK_FORMAT_R8G8B8A8_SRGB;
206 return VK_FORMAT_D32_SFLOAT_S8_UINT;
208 return VK_FORMAT_D24_UNORM_S8_UINT;
212 return VK_FORMAT_D32_SFLOAT;
214 return VK_FORMAT_X8_D24_UNORM_PACK32;
216 return VK_FORMAT_D16_UNORM;
220 return VK_FORMAT_R32G32B32_UINT;
222 return VK_FORMAT_R16G16B16_UINT;
224 return VK_FORMAT_R8G8B8_UINT;
226 return VK_FORMAT_R32G32B32_SINT;
228 return VK_FORMAT_R16G16B16_SINT;
230 return VK_FORMAT_R8G8B8_SINT;
232 return VK_FORMAT_R16G16B16_UNORM;
234 return VK_FORMAT_R8G8B8_UNORM;
236 return VK_FORMAT_R16G16B16A16_SNORM;
238 return VK_FORMAT_R16G16B16_SNORM;
240 return VK_FORMAT_R16G16_SNORM;
242 return VK_FORMAT_R16_SNORM;
244 return VK_FORMAT_R8G8B8A8_SNORM;
246 return VK_FORMAT_R8G8B8_SNORM;
248 return VK_FORMAT_R8G8_SNORM;
250 return VK_FORMAT_R8_SNORM;
252 return VK_FORMAT_R32G32B32_SFLOAT;
254 return VK_FORMAT_R16G16B16_SFLOAT;
258 return VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
260 return VK_FORMAT_BC2_SRGB_BLOCK;
262 return VK_FORMAT_BC3_SRGB_BLOCK;
264 return VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
266 return VK_FORMAT_BC2_UNORM_BLOCK;
268 return VK_FORMAT_BC3_UNORM_BLOCK;
270 return VK_FORMAT_R8G8B8_SRGB;
272 return VK_FORMAT_E5B9G9R9_UFLOAT_PACK32;
274 return VK_FORMAT_UNDEFINED;
283 return VK_FORMAT_R8_SNORM;
285 return VK_FORMAT_R8G8_SNORM;
287 return VK_FORMAT_R8G8B8_SNORM;
289 return VK_FORMAT_R8G8B8A8_SNORM;
291 return VK_FORMAT_R8G8B8A8_SNORM;
294 return VK_FORMAT_R8_SNORM;
301 return VK_FORMAT_R8_UNORM;
303 return VK_FORMAT_R8G8_UNORM;
305 return VK_FORMAT_R8G8B8_UNORM;
307 return VK_FORMAT_R8G8B8A8_UNORM;
309 return VK_FORMAT_R8G8B8A8_UNORM;
312 return VK_FORMAT_R8_UNORM;
319 return VK_FORMAT_R16_SNORM;
321 return VK_FORMAT_R16G16_SNORM;
323 return VK_FORMAT_R16G16B16_SNORM;
325 return VK_FORMAT_R16G16B16A16_SNORM;
328 return VK_FORMAT_R16_SNORM;
335 return VK_FORMAT_R16_UNORM;
337 return VK_FORMAT_R16G16_UNORM;
339 return VK_FORMAT_R16G16B16_UNORM;
341 return VK_FORMAT_R16G16B16A16_UNORM;
344 return VK_FORMAT_R16_UNORM;
350 return VK_FORMAT_A2B10G10R10_SNORM_PACK32;
359 return VK_FORMAT_R32_SFLOAT;
368 return VK_FORMAT_R8_SSCALED;
370 return VK_FORMAT_R8G8_SSCALED;
372 return VK_FORMAT_R8G8B8_SSCALED;
374 return VK_FORMAT_R8G8B8A8_SSCALED;
377 return VK_FORMAT_R8_SSCALED;
382 return VK_FORMAT_R8_USCALED;
384 return VK_FORMAT_R8G8_USCALED;
386 return VK_FORMAT_R8G8B8_USCALED;
388 return VK_FORMAT_R8G8B8A8_USCALED;
391 return VK_FORMAT_R8_USCALED;
396 return VK_FORMAT_R16_SSCALED;
398 return VK_FORMAT_R16G16_SSCALED;
400 return VK_FORMAT_R16G16B16_SSCALED;
402 return VK_FORMAT_R16G16B16A16_SSCALED;
405 return VK_FORMAT_R16_SSCALED;
410 return VK_FORMAT_R16_USCALED;
412 return VK_FORMAT_R16G16_USCALED;
414 return VK_FORMAT_R16G16B16_USCALED;
416 return VK_FORMAT_R16G16B16A16_USCALED;
419 return VK_FORMAT_R16_USCALED;
428 return VK_FORMAT_R32_SFLOAT;
430 return VK_FORMAT_R32G32_SFLOAT;
432 return VK_FORMAT_R32G32B32_SFLOAT;
434 return VK_FORMAT_R32G32B32A32_SFLOAT;
437 return VK_FORMAT_R32_SFLOAT;
443 return VK_FORMAT_R32_SFLOAT;
445 return VK_FORMAT_R32G32_SFLOAT;
447 return VK_FORMAT_R32G32B32_SFLOAT;
449 return VK_FORMAT_R32G32B32A32_SFLOAT;
451 return VK_FORMAT_R32G32B32A32_SFLOAT;
454 return VK_FORMAT_R32_SFLOAT;
459 return VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
465 return VK_FORMAT_R32_SFLOAT;
474 return VK_FORMAT_R8_SINT;
476 return VK_FORMAT_R8G8_SINT;
478 return VK_FORMAT_R8G8B8_SINT;
480 return VK_FORMAT_R8G8B8A8_SINT;
483 return VK_FORMAT_R8_SINT;
490 return VK_FORMAT_R8_UINT;
492 return VK_FORMAT_R8G8_UINT;
494 return VK_FORMAT_R8G8B8_UINT;
496 return VK_FORMAT_R8G8B8A8_UINT;
499 return VK_FORMAT_R8_UINT;
506 return VK_FORMAT_R16_SINT;
508 return VK_FORMAT_R16G16_SINT;
510 return VK_FORMAT_R16G16B16_SINT;
512 return VK_FORMAT_R16G16B16A16_SINT;
515 return VK_FORMAT_R16_SINT;
522 return VK_FORMAT_R16_UINT;
524 return VK_FORMAT_R16G16_UINT;
526 return VK_FORMAT_R16G16B16_UINT;
528 return VK_FORMAT_R16G16B16A16_UINT;
531 return VK_FORMAT_R16_UINT;
538 return VK_FORMAT_R32_SINT;
540 return VK_FORMAT_R32G32_SINT;
542 return VK_FORMAT_R32G32B32_SINT;
544 return VK_FORMAT_R32G32B32A32_SINT;
547 return VK_FORMAT_R32_SINT;
554 return VK_FORMAT_R32_UINT;
556 return VK_FORMAT_R32G32_UINT;
558 return VK_FORMAT_R32G32B32_UINT;
560 return VK_FORMAT_R32G32B32A32_UINT;
563 return VK_FORMAT_R32_UINT;
570 return VK_FORMAT_R32_SINT;
572 return VK_FORMAT_R32G32_SINT;
574 return VK_FORMAT_R32G32B32_SINT;
576 return VK_FORMAT_R32G32B32A32_SINT;
579 return VK_FORMAT_R32_SINT;
585 return VK_FORMAT_A2B10G10R10_SINT_PACK32;
592 return VK_FORMAT_R32_SFLOAT;
597 switch (fetch_mode) {
613 return VK_FORMAT_R32_SFLOAT;
620 return VK_FORMAT_R32_SFLOAT;
622 return VK_FORMAT_R32G32_SFLOAT;
624 return VK_FORMAT_R32G32B32_SFLOAT;
626 return VK_FORMAT_R32G32B32A32_SFLOAT;
628 return VK_FORMAT_R32_UINT;
630 return VK_FORMAT_R32G32_UINT;
632 return VK_FORMAT_R32G32B32_UINT;
634 return VK_FORMAT_R32G32B32A32_UINT;
636 return VK_FORMAT_R32_SINT;
638 return VK_FORMAT_R32G32_SINT;
640 return VK_FORMAT_R32G32B32_SINT;
642 return VK_FORMAT_R32G32B32A32_SINT;
644 return VK_FORMAT_R32G32B32A32_SFLOAT;
669 return VK_FORMAT_R32G32B32A32_SFLOAT;
674 switch (query_type) {
676 return VK_QUERY_TYPE_OCCLUSION;
679 return VK_QUERY_TYPE_OCCLUSION;
691 return VK_IMAGE_TYPE_1D;
697 return VK_IMAGE_TYPE_2D;
700 return VK_IMAGE_TYPE_3D;
708 return VK_IMAGE_TYPE_1D;
715 VkImageViewType result = VK_IMAGE_VIEW_TYPE_1D;
720 result = VK_IMAGE_VIEW_TYPE_1D;
723 result = VK_IMAGE_VIEW_TYPE_2D;
726 result = VK_IMAGE_VIEW_TYPE_3D;
730 VK_IMAGE_VIEW_TYPE_CUBE;
733 result = VK_IMAGE_VIEW_TYPE_1D_ARRAY;
736 result = VK_IMAGE_VIEW_TYPE_2D_ARRAY;
740 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
749 if (result == VK_IMAGE_VIEW_TYPE_1D_ARRAY) {
750 result = VK_IMAGE_VIEW_TYPE_1D;
752 else if (result == VK_IMAGE_VIEW_TYPE_2D_ARRAY) {
753 result = VK_IMAGE_VIEW_TYPE_2D;
755 else if (result == VK_IMAGE_VIEW_TYPE_CUBE_ARRAY) {
756 result = VK_IMAGE_VIEW_TYPE_CUBE;
760 if (result == VK_IMAGE_VIEW_TYPE_1D) {
761 result = VK_IMAGE_VIEW_TYPE_1D_ARRAY;
763 else if (result == VK_IMAGE_VIEW_TYPE_2D) {
764 result = VK_IMAGE_VIEW_TYPE_2D_ARRAY;
766 else if (result == VK_IMAGE_VIEW_TYPE_CUBE) {
767 result = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
778 return VK_COMPONENT_SWIZZLE_ZERO;
780 return VK_COMPONENT_SWIZZLE_ONE;
782 return VK_COMPONENT_SWIZZLE_R;
784 return VK_COMPONENT_SWIZZLE_G;
786 return VK_COMPONENT_SWIZZLE_B;
788 return VK_COMPONENT_SWIZZLE_A;
794 return VK_COMPONENT_SWIZZLE_IDENTITY;
807 VkClearColorValue result = {{0.0f}};
811 const float *float_data =
static_cast<const float *
>(
data);
841 switch (index_type) {
843 return VK_INDEX_TYPE_UINT16;
845 return VK_INDEX_TYPE_UINT32;
850 return VK_INDEX_TYPE_UINT16;
857 return VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
859 return VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
861 return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
863 return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
865 return VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
867 return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
869 return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
871 return VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY;
873 return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY;
875 return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY;
882 return VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
889 return VK_CULL_MODE_FRONT_BIT;
891 return VK_CULL_MODE_BACK_BIT;
893 return VK_CULL_MODE_NONE;
896 return VK_CULL_MODE_NONE;
901 switch (extend_mode) {
903 return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE;
905 return VK_SAMPLER_ADDRESS_MODE_REPEAT;
907 return VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
909 return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
913 return VK_SAMPLER_ADDRESS_MODE_REPEAT;
918 switch (image_type) {
946 return VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
951 return VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
957 return VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
962 switch (image_type) {
998 return VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
1003 return VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
1006 return VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
1017 return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
1019 return VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
1022 return VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
#define BLI_assert_unreachable()
#define BLI_assert_msg(a, msg)
@ GPU_PRIM_LINE_STRIP_ADJ
@ GPU_DATA_2_10_10_10_REV
@ GPU_SAMPLER_EXTEND_MODE_MIRRORED_REPEAT
@ GPU_SAMPLER_EXTEND_MODE_REPEAT
@ GPU_SAMPLER_EXTEND_MODE_EXTEND
@ GPU_SAMPLER_EXTEND_MODE_CLAMP_TO_BORDER
additional_info("compositor_sum_float_shared") .push_constant(Type additional_info("compositor_sum_float_shared") .push_constant(Type GPU_RGBA32F
DOF_TILES_FLATTEN_GROUP_SIZE coc_tx GPU_R11F_G11F_B10F
out_radiance out_gbuf_normal out_gbuf_closure2 GPU_RG16
SHADOW_TILEMAP_RES tiles_buf[] statistics_buf render_view_buf[SHADOW_VIEW_MAX] GPU_R32UI
RAYTRACE_GROUP_SIZE additional_info("eevee_shared", "eevee_gbuffer_data", "eevee_global_ubo", "eevee_sampling_data", "eevee_utility_texture", "eevee_hiz_data", "draw_view") .specialization_constant(Type RAYTRACE_GROUP_SIZE in_sh_0_tx in_sh_2_tx screen_normal_tx GPU_RGBA8
VkQueryType to_vk_query_type(const GPUQueryType query_type)
static VkFormat to_vk_format_norm(const GPUVertCompType type, const uint32_t size)
static VkFormat to_vk_format_int(const GPUVertCompType type, const uint32_t size)
VkIndexType to_vk_index_type(const GPUIndexBufType index_type)
VkComponentSwizzle to_vk_component_swizzle(const char swizzle)
static VkDescriptorType to_vk_descriptor_type_image(const shader::ImageType &image_type)
static VkDescriptorType to_vk_descriptor_type_sampler(const shader::ImageType &image_type)
VkDescriptorType to_vk_descriptor_type(const shader::ShaderCreateInfo::Resource &resource)
VkSamplerAddressMode to_vk_sampler_address_mode(const GPUSamplerExtendMode extend_mode)
eGPUTextureFormat to_gpu_format(const VkFormat format)
VkPrimitiveTopology to_vk_primitive_topology(const GPUPrimType prim_type)
VkImageType to_vk_image_type(const eGPUTextureType type)
VkFormat to_vk_format(const eGPUTextureFormat format)
VkClearColorValue to_vk_clear_color_value(const eGPUDataFormat format, const void *data)
static VkFormat to_vk_format_float(const GPUVertCompType type, const uint32_t size)
void copy_color(T dst[4], const T *src)
VkImageAspectFlags to_vk_image_aspect_flag_bits(const eGPUTextureFormat format)
VkImageViewType to_vk_image_view_type(const eGPUTextureType type, const eImageViewUsage view_type, VKImageViewArrayed arrayed)
VkCullModeFlags to_vk_cull_mode_flags(const eGPUFaceCullTest cull_test)