diff --git a/Makefile.common b/Makefile.common index bc041798fb..eb274d42f2 100644 --- a/Makefile.common +++ b/Makefile.common @@ -48,6 +48,11 @@ ifeq ($(GL_DEBUG), 1) CXXFLAGS += -DGL_DEBUG endif +ifeq ($(VULKAN_DEBUG), 1) + CFLAGS += -DVULKAN_DEBUG + CXXFLAGS += -DVULKAN_DEBUG +endif + ifeq ($(HAVE_HARD_FLOAT), 1) DEFINES += -mfloat-abi=hard endif @@ -803,6 +808,7 @@ ifeq ($(HAVE_VULKAN), 1) $(wildcard deps/glslang/glslang/OGLCompilersDLL/*.cpp) \ $(wildcard deps/glslang/glslang/glslang/MachineIndependent/*.cpp) \ $(wildcard deps/glslang/glslang/glslang/MachineIndependent/preprocessor/*.cpp) \ + $(wildcard deps/glslang/glslang/hlsl/*.cpp) \ $(wildcard deps/glslang/glslang/glslang/OSDependent/$(GLSLANG_PLATFORM)/*.cpp) SPIRV_CROSS_SOURCES := deps/SPIRV-Cross/spirv_cross.cpp @@ -821,7 +827,7 @@ ifeq ($(HAVE_VULKAN), 1) -Ideps/glslang \ -Ideps/SPIRV-Cross - CXXFLAGS += -Wno-switch -Wno-sign-compare -fno-strict-aliasing -Wno-maybe-uninitialized -Wno-reorder -Igfx/include + CXXFLAGS += -Wno-switch -Wno-sign-compare -fno-strict-aliasing -Wno-maybe-uninitialized -Wno-reorder -Wno-parentheses -Igfx/include CFLAGS += -Igfx/include GLSLANG_OBJ := $(GLSLANG_SOURCES:.cpp=.o) diff --git a/cores/libretro-test-vulkan/libretro-test.c b/cores/libretro-test-vulkan/libretro-test.c index c2ec3b7ef7..554c0a7d56 100644 --- a/cores/libretro-test-vulkan/libretro-test.c +++ b/cores/libretro-test-vulkan/libretro-test.c @@ -933,6 +933,7 @@ static void vulkan_test_deinit(void) VKFUNC(vkDestroyRenderPass)(device, vk.render_pass, NULL); VKFUNC(vkDestroyPipeline)(device, vk.pipeline, NULL); + VKFUNC(vkDestroyDescriptorSetLayout)(device, vk.set_layout, NULL); VKFUNC(vkDestroyPipelineLayout)(device, vk.pipeline_layout, NULL); VKFUNC(vkFreeMemory)(device, vk.vbo.memory, NULL); @@ -967,7 +968,7 @@ void retro_run(void) vk.index = vulkan->get_sync_index(vulkan->handle); vulkan_test_render(); - vulkan->set_image(vulkan->handle, &vk.images[vk.index], 0, NULL); + vulkan->set_image(vulkan->handle, &vk.images[vk.index], 0, NULL, VK_QUEUE_FAMILY_IGNORED); vulkan->set_command_buffers(vulkan->handle, 1, &vk.cmd[vk.index]); video_cb(RETRO_HW_FRAME_BUFFER_VALID, BASE_WIDTH, BASE_HEIGHT, 0); } diff --git a/deps/SPIRV-Cross b/deps/SPIRV-Cross index 44ef367141..05a97883d2 160000 --- a/deps/SPIRV-Cross +++ b/deps/SPIRV-Cross @@ -1 +1 @@ -Subproject commit 44ef367141f9935bc719c9cc25693a9055f61efa +Subproject commit 05a97883d2efa8cad6e105eaa39fc1521017238e diff --git a/deps/glslang/glslang b/deps/glslang/glslang index 5ace09a75b..a4a4d5e22c 160000 --- a/deps/glslang/glslang +++ b/deps/glslang/glslang @@ -1 +1 @@ -Subproject commit 5ace09a75be02bd32505f1f94b1b49a6aa3498b8 +Subproject commit a4a4d5e22c375d37bd286106904ef819eafff29b diff --git a/gfx/common/vksym.h b/gfx/common/vksym.h index 10410eef20..e735f2b242 100644 --- a/gfx/common/vksym.h +++ b/gfx/common/vksym.h @@ -260,6 +260,12 @@ typedef struct vulkan_context_fp #ifdef HAVE_MIR PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; #endif + +#ifdef VULKAN_DEBUG + PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; + PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; + PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; +#endif } vulkan_context_fp_t; extern vulkan_context_fp_t vkcfp; diff --git a/gfx/common/vulkan_common.c b/gfx/common/vulkan_common.c index 73d92726f2..7c00819f48 100644 --- a/gfx/common/vulkan_common.c +++ b/gfx/common/vulkan_common.c @@ -35,6 +35,48 @@ static dylib_t vulkan_library; static VkInstance cached_instance; static VkDevice cached_device; +#ifdef VULKAN_DEBUG +static VKAPI_ATTR VkBool32 VKAPI_CALL vulkan_debug_cb( + VkDebugReportFlagsEXT flags, + VkDebugReportObjectTypeEXT objectType, + uint64_t object, + size_t location, + int32_t messageCode, + const char *pLayerPrefix, + const char *pMessage, + void *pUserData) +{ + (void)objectType; + (void)object; + (void)location; + (void)messageCode; + (void)pUserData; + + if (flags & VK_DEBUG_REPORT_ERROR_BIT_EXT) + { + RARCH_ERR("[Vulkan]: Error: %s: %s\n", + pLayerPrefix, pMessage); + } + else if (flags & VK_DEBUG_REPORT_WARNING_BIT_EXT) + { + RARCH_WARN("[Vulkan]: Warning: %s: %s\n", + pLayerPrefix, pMessage); + } + else if (flags & VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT) + { + RARCH_LOG("[Vulkan]: Performance warning: %s: %s\n", + pLayerPrefix, pMessage); + } + else + { + RARCH_LOG("[Vulkan]: Information: %s: %s\n", + pLayerPrefix, pMessage); + } + + return VK_FALSE; +} +#endif + #define VKSYM(vk, entrypoint) do { \ vkcfp.vk##entrypoint = (PFN_vk##entrypoint) dylib_proc(vulkan_library, "vk"#entrypoint); \ if (vkcfp.vk##entrypoint == NULL) { \ @@ -104,6 +146,31 @@ uint32_t vulkan_find_memory_type_fallback( device_reqs, host_reqs_second, 0); } +void vulkan_transfer_image_ownership(VkCommandBuffer cmd, + VkImage image, VkImageLayout layout, + VkPipelineStageFlags src_stages, + VkPipelineStageFlags dst_stages, + uint32_t src_queue_family, + uint32_t dst_queue_family) +{ + VkImageMemoryBarrier barrier = + { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER }; + + barrier.srcAccessMask = 0; + barrier.dstAccessMask = 0; + barrier.oldLayout = layout; + barrier.newLayout = layout; + barrier.srcQueueFamilyIndex = src_queue_family; + barrier.dstQueueFamilyIndex = dst_queue_family; + barrier.image = image; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.levelCount = VK_REMAINING_MIP_LEVELS; + barrier.subresourceRange.layerCount = VK_REMAINING_ARRAY_LAYERS; + + VKFUNC(vkCmdPipelineBarrier)(cmd, src_stages, dst_stages, + false, 0, NULL, 0, NULL, 1, &barrier); +} + void vulkan_map_persistent_texture( VkDevice device, struct vk_texture *texture) @@ -382,23 +449,28 @@ struct vk_texture vulkan_create_texture(vk_t *vk, VKFUNC(vkBindImageMemory)(device, tex.image, tex.memory, 0); - view.image = tex.image; - view.viewType = VK_IMAGE_VIEW_TYPE_2D; - view.format = format; - if (swizzle) - view.components = *swizzle; - else + if (type != VULKAN_TEXTURE_STAGING && type != VULKAN_TEXTURE_READBACK) { - view.components.r = VK_COMPONENT_SWIZZLE_R; - view.components.g = VK_COMPONENT_SWIZZLE_G; - view.components.b = VK_COMPONENT_SWIZZLE_B; - view.components.a = VK_COMPONENT_SWIZZLE_A; - } - view.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - view.subresourceRange.levelCount = 1; - view.subresourceRange.layerCount = 1; + view.image = tex.image; + view.viewType = VK_IMAGE_VIEW_TYPE_2D; + view.format = format; + if (swizzle) + view.components = *swizzle; + else + { + view.components.r = VK_COMPONENT_SWIZZLE_R; + view.components.g = VK_COMPONENT_SWIZZLE_G; + view.components.b = VK_COMPONENT_SWIZZLE_B; + view.components.a = VK_COMPONENT_SWIZZLE_A; + } + view.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + view.subresourceRange.levelCount = 1; + view.subresourceRange.layerCount = 1; - VKFUNC(vkCreateImageView)(device, &view, NULL, &tex.view); + VKFUNC(vkCreateImageView)(device, &view, NULL, &tex.view); + } + else + tex.view = VK_NULL_HANDLE; VKFUNC(vkGetImageSubresourceLayout)(device, tex.image, &subresource, &layout); tex.stride = layout.rowPitch; @@ -447,8 +519,8 @@ struct vk_texture vulkan_create_texture(vk_t *vk, vulkan_image_layout_transition(vk, staging, tmp.image, VK_IMAGE_LAYOUT_PREINITIALIZED, VK_IMAGE_LAYOUT_GENERAL, - 0, VK_ACCESS_TRANSFER_READ_BIT, - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT); vulkan_image_layout_transition(vk, staging, tex.image, @@ -511,7 +583,8 @@ void vulkan_destroy_texture( if (tex->mapped) VKFUNC(vkUnmapMemory)(device, tex->memory); VKFUNC(vkFreeMemory)(device, tex->memory, NULL); - VKFUNC(vkDestroyImageView)(device, tex->view, NULL); + if (tex->view) + VKFUNC(vkDestroyImageView)(device, tex->view, NULL); VKFUNC(vkDestroyImage)(device, tex->image, NULL); #ifdef VULKAN_DEBUG_TEXTURE_ALLOC vulkan_track_dealloc(tex->image); @@ -576,16 +649,16 @@ void vulkan_transition_texture(vk_t *vk, struct vk_texture *texture) case VULKAN_TEXTURE_STREAMED: vulkan_image_layout_transition(vk, vk->cmd, texture->image, texture->layout, VK_IMAGE_LAYOUT_GENERAL, - 0, VK_ACCESS_SHADER_READ_BIT, - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, + VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT); break; case VULKAN_TEXTURE_STAGING: vulkan_image_layout_transition(vk, vk->cmd, texture->image, texture->layout, VK_IMAGE_LAYOUT_GENERAL, - 0, VK_ACCESS_TRANSFER_READ_BIT, - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT); break; @@ -1319,7 +1392,16 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, static const char *device_extensions[] = { "VK_KHR_swapchain", }; - static const char *instance_extensions[2]; + +#ifdef VULKAN_DEBUG + const char *instance_extensions[3]; + instance_extensions[2] = "VK_EXT_debug_report"; + static const char *instance_layers[] = { "VK_LAYER_LUNARG_standard_validation" }; + static const char *device_layers[] = { "VK_LAYER_LUNARG_standard_validation" }; +#else + const char *instance_extensions[2]; +#endif + bool use_instance_ext, use_device_ext; instance_extensions[0] = "VK_KHR_surface"; @@ -1378,6 +1460,10 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, info.pApplicationInfo = &app; info.enabledExtensionCount = use_instance_ext ? ARRAY_SIZE(instance_extensions) : 0; info.ppEnabledExtensionNames = use_instance_ext ? instance_extensions : NULL; +#ifdef VULKAN_DEBUG + info.enabledLayerCount = ARRAY_SIZE(instance_layers); + info.ppEnabledLayerNames = instance_layers; +#endif if (cached_instance) { @@ -1393,6 +1479,23 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, res = VKFUNC(vkCreateInstance)(&info, NULL, &vk->context.instance); } +#ifdef VULKAN_DEBUG + VK_GET_INSTANCE_PROC_ADDR(CreateDebugReportCallbackEXT); + VK_GET_INSTANCE_PROC_ADDR(DebugReportMessageEXT); + VK_GET_INSTANCE_PROC_ADDR(DestroyDebugReportCallbackEXT); + + { + VkDebugReportCallbackCreateInfoEXT info = + { VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT }; + info.flags = + VK_DEBUG_REPORT_ERROR_BIT_EXT | + VK_DEBUG_REPORT_WARNING_BIT_EXT | + VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT; + info.pfnCallback = vulkan_debug_cb; + VKFUNC(vkCreateDebugReportCallbackEXT)(vk->context.instance, &info, NULL, &vk->context.debug_callback); + } +#endif + /* Try different API versions if driver has compatible * but slightly different VK_API_VERSION. */ for (i = 1; i < 4 && res == VK_ERROR_INCOMPATIBLE_DRIVER; i++) @@ -1490,6 +1593,10 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, device_info.enabledExtensionCount = use_device_ext ? ARRAY_SIZE(device_extensions) : 0; device_info.ppEnabledExtensionNames = use_device_ext ? device_extensions : NULL; device_info.pEnabledFeatures = &features; +#ifdef VULKAN_DEBUG + info.enabledLayerCount = ARRAY_SIZE(device_layers); + info.ppEnabledLayerNames = device_layers; +#endif if (cached_device) { @@ -1703,11 +1810,10 @@ bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk, void vulkan_present(gfx_ctx_vulkan_data_t *vk, unsigned index) { - VkPresentInfoKHR present; + VkPresentInfoKHR present = { VK_STRUCTURE_TYPE_PRESENT_INFO_KHR }; VkResult result = VK_SUCCESS; VkResult err = VK_SUCCESS; - present.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; present.swapchainCount = 1; present.pSwapchains = &vk->swapchain; present.pImageIndices = &index; @@ -1757,6 +1863,11 @@ void vulkan_context_destroy(gfx_ctx_vulkan_data_t *vk, vk->context.swapchain_fences[i], NULL); } +#ifdef VULKAN_DEBUG + if (vk->context.debug_callback) + VKFUNC(vkDestroyDebugReportCallbackEXT)(vk->context.instance, vk->context.debug_callback, NULL); +#endif + if (video_driver_is_video_cache_context()) { cached_device = vk->context.device; @@ -1772,7 +1883,6 @@ void vulkan_context_destroy(gfx_ctx_vulkan_data_t *vk, if (vulkan_library) dylib_close(vulkan_library); - } void vulkan_acquire_next_image(gfx_ctx_vulkan_data_t *vk) @@ -1780,13 +1890,12 @@ void vulkan_acquire_next_image(gfx_ctx_vulkan_data_t *vk) unsigned index; VkResult err; VkFence fence; - VkSemaphoreCreateInfo sem_info; - VkFenceCreateInfo fence_info; + VkSemaphoreCreateInfo sem_info = + { VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO }; + VkFenceCreateInfo fence_info = + { VK_STRUCTURE_TYPE_FENCE_CREATE_INFO }; VkFence *next_fence = NULL; - sem_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; - fence_info.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; - VKFUNC(vkCreateFence)(vk->context.device, &fence_info, NULL, &fence); err = VKFUNC(vkAcquireNextImageKHR)(vk->context.device, @@ -1832,7 +1941,7 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk, uint32_t format_count; uint32_t present_mode_count; uint32_t desired_swapchain_images; - VkSwapchainCreateInfoKHR info; + VkSwapchainCreateInfoKHR info = { VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR }; VkSurfaceCapabilitiesKHR surface_properties; VkSurfaceFormatKHR formats[256]; VkPresentModeKHR present_modes[16]; @@ -1840,7 +1949,11 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk, VkExtent2D swapchain_size; VkSwapchainKHR old_swapchain; VkSurfaceTransformFlagBitsKHR pre_transform; + VkBool32 supported; VkPresentModeKHR swapchain_present_mode = VK_PRESENT_MODE_FIFO_KHR; + settings_t *settings = config_get_ptr(); + + VKFUNC(vkDeviceWaitIdle)(vk->context.device); present_mode_count = 0; VKFUNC(vkGetPhysicalDeviceSurfacePresentModesKHR)( @@ -1921,8 +2034,8 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk, desired_swapchain_images = surface_properties.minImageCount + 1; /* Limit latency. */ - if (desired_swapchain_images > 3) - desired_swapchain_images = 3; + if (desired_swapchain_images > settings->video.max_swapchain_images) + desired_swapchain_images = settings->video.max_swapchain_images; if (desired_swapchain_images < surface_properties.minImageCount) desired_swapchain_images = surface_properties.minImageCount; @@ -1939,8 +2052,6 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk, old_swapchain = vk->swapchain; - memset(&info, 0, sizeof(info)); - info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; info.surface = vk->vk_surface; info.minImageCount = desired_swapchain_images; info.imageFormat = format.format; @@ -1957,6 +2068,15 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk, info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + if (VKFUNC(vkGetPhysicalDeviceSurfaceSupportKHR)( + vk->context.gpu, vk->context.graphics_queue_index, + vk->vk_surface, &supported) != VK_SUCCESS || !supported) + { + RARCH_ERR("[Vulkan]: GPU does not supported presentation on queue family %u with surface 0x%llx.\n", + vk->context.graphics_queue_index, (unsigned long long)vk->vk_surface); + return false; + } + if (VKFUNC(vkCreateSwapchainKHR)(vk->context.device, &info, NULL, &vk->swapchain) != VK_SUCCESS) { RARCH_ERR("[Vulkan]: Failed to create swapchain.\n"); diff --git a/gfx/common/vulkan_common.h b/gfx/common/vulkan_common.h index 8a5bfe8bdd..9eb0a35799 100644 --- a/gfx/common/vulkan_common.h +++ b/gfx/common/vulkan_common.h @@ -108,6 +108,10 @@ typedef struct vulkan_context slock_t *queue_lock; +#ifdef VULKAN_DEBUG + VkDebugReportCallbackEXT debug_callback; +#endif + /* Used by screenshot to get blits with correct colorspace. */ bool swapchain_is_srgb; } vulkan_context_t; @@ -358,8 +362,10 @@ typedef struct vk unsigned last_width; unsigned last_height; + uint32_t src_queue_family; bool enable; + bool valid_semaphore; } hw; struct @@ -393,6 +399,13 @@ struct vk_texture vulkan_create_texture(vk_t *vk, void vulkan_transition_texture(vk_t *vk, struct vk_texture *texture); +void vulkan_transfer_image_ownership(VkCommandBuffer cmd, + VkImage image, VkImageLayout layout, + VkPipelineStageFlags src_stages, + VkPipelineStageFlags dst_stages, + uint32_t src_queue_family, + uint32_t dst_queue_family); + void vulkan_map_persistent_texture( VkDevice device, struct vk_texture *texture); diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index ac0cb764d8..78980eddbc 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -28,13 +28,6 @@ #include #include "../common/vulkan_common.h" -#include "vulkan_shaders/alpha_blend.vert.inc" -#include "vulkan_shaders/alpha_blend.frag.inc" -#include "vulkan_shaders/font.frag.inc" -#include "vulkan_shaders/ribbon.vert.inc" -#include "vulkan_shaders/ribbon.frag.inc" -#include "vulkan_shaders/ribbon_simple.vert.inc" -#include "vulkan_shaders/ribbon_simple.frag.inc" #include "../../driver.h" #include "../../record/record_driver.h" @@ -110,7 +103,6 @@ static void vulkan_init_render_pass( subpass.pColorAttachments = &color_ref; /* Finally, create the renderpass. */ - rp_info.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; rp_info.attachmentCount = 1; rp_info.pAttachments = &attachment; rp_info.subpassCount = 1; @@ -129,13 +121,14 @@ static void vulkan_init_framebuffers( for (i = 0; i < vk->num_swapchain_images; i++) { - VkImageViewCreateInfo view; - VkFramebufferCreateInfo info; + VkImageViewCreateInfo view = + { VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO }; + VkFramebufferCreateInfo info = + { VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO }; vk->swapchain[i].backbuffer.image = vk->context->swapchain_images[i]; /* Create an image view which we can render into. */ - view.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; view.viewType = VK_IMAGE_VIEW_TYPE_2D; view.format = vk->context->swapchain_format; view.image = vk->swapchain[i].backbuffer.image; @@ -153,7 +146,6 @@ static void vulkan_init_framebuffers( &view, NULL, &vk->swapchain[i].backbuffer.view); /* Create the framebuffer */ - info.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; info.renderPass = vk->render_pass; info.attachmentCount = 1; info.pAttachments = &vk->swapchain[i].backbuffer.view; @@ -203,6 +195,34 @@ static void vulkan_init_pipeline_layout( static void vulkan_init_pipelines( vk_t *vk) { + static const uint32_t alpha_blend_vert[] = +#include "vulkan_shaders/alpha_blend.vert.inc" + ; + + static const uint32_t alpha_blend_frag[] = +#include "vulkan_shaders/alpha_blend.frag.inc" + ; + + static const uint32_t font_frag[] = +#include "vulkan_shaders/font.frag.inc" + ; + + static const uint32_t ribbon_vert[] = +#include "vulkan_shaders/ribbon.vert.inc" + ; + + static const uint32_t ribbon_frag[] = +#include "vulkan_shaders/ribbon.frag.inc" + ; + + static const uint32_t ribbon_simple_vert[] = +#include "vulkan_shaders/ribbon_simple.vert.inc" + ; + + static const uint32_t ribbon_simple_frag[] = +#include "vulkan_shaders/ribbon_simple.frag.inc" + ; + unsigned i; VkPipelineInputAssemblyStateCreateInfo input_assembly = { VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO }; @@ -314,8 +334,8 @@ static void vulkan_init_pipelines( pipe.renderPass = vk->render_pass; pipe.layout = vk->pipelines.layout; - module_info.codeSize = alpha_blend_vert_spv_len; - module_info.pCode = (const uint32_t*)alpha_blend_vert_spv; + module_info.codeSize = sizeof(alpha_blend_vert); + module_info.pCode = alpha_blend_vert; shader_stages[0].stage = VK_SHADER_STAGE_VERTEX_BIT; shader_stages[0].pName = "main"; VKFUNC(vkCreateShaderModule)(vk->context->device, @@ -331,8 +351,8 @@ static void vulkan_init_pipelines( blend_attachment.alphaBlendOp = VK_BLEND_OP_ADD; /* Glyph pipeline */ - module_info.codeSize = font_frag_spv_len; - module_info.pCode = (const uint32_t*)font_frag_spv; + module_info.codeSize = sizeof(font_frag); + module_info.pCode = font_frag; shader_stages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT; shader_stages[1].pName = "main"; VKFUNC(vkCreateShaderModule)(vk->context->device, @@ -343,8 +363,8 @@ static void vulkan_init_pipelines( VKFUNC(vkDestroyShaderModule)(vk->context->device, shader_stages[1].module, NULL); /* Alpha-blended pipeline. */ - module_info.codeSize = alpha_blend_frag_spv_len; - module_info.pCode = (const uint32_t*)alpha_blend_frag_spv; + module_info.codeSize = sizeof(alpha_blend_frag); + module_info.pCode = alpha_blend_frag; shader_stages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT; shader_stages[1].pName = "main"; VKFUNC(vkCreateShaderModule)(vk->context->device, @@ -372,13 +392,13 @@ static void vulkan_init_pipelines( { if (i & 2) { - module_info.codeSize = ribbon_simple_vert_spv_len; - module_info.pCode = (const uint32_t*)ribbon_simple_vert_spv; + module_info.codeSize = sizeof(ribbon_simple_vert); + module_info.pCode = ribbon_simple_vert; } else { - module_info.codeSize = ribbon_vert_spv_len; - module_info.pCode = (const uint32_t*)ribbon_vert_spv; + module_info.codeSize = sizeof(ribbon_vert); + module_info.pCode = ribbon_vert; } shader_stages[0].stage = VK_SHADER_STAGE_VERTEX_BIT; @@ -388,13 +408,13 @@ static void vulkan_init_pipelines( if (i & 2) { - module_info.codeSize = ribbon_simple_frag_spv_len; - module_info.pCode = (const uint32_t*)ribbon_simple_frag_spv; + module_info.codeSize = sizeof(ribbon_simple_frag); + module_info.pCode = ribbon_simple_frag; } else { - module_info.codeSize = ribbon_frag_spv_len; - module_info.pCode = (const uint32_t*)ribbon_frag_spv; + module_info.codeSize = sizeof(ribbon_frag); + module_info.pCode = ribbon_frag; } shader_stages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT; @@ -408,6 +428,9 @@ static void vulkan_init_pipelines( VKFUNC(vkCreateGraphicsPipelines)(vk->context->device, vk->pipelines.cache, 1, &pipe, NULL, &vk->display.pipelines[4 + i]); + + VKFUNC(vkDestroyShaderModule)(vk->context->device, shader_stages[0].module, NULL); + VKFUNC(vkDestroyShaderModule)(vk->context->device, shader_stages[1].module, NULL); } } @@ -441,9 +464,9 @@ static void vulkan_init_command_buffers(vk_t *vk) static void vulkan_init_samplers(vk_t *vk) { - VkSamplerCreateInfo info; + VkSamplerCreateInfo info = + { VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO }; - info.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; info.magFilter = VK_FILTER_NEAREST; info.minFilter = VK_FILTER_NEAREST; info.mipmapMode = VK_SAMPLER_MIPMAP_MODE_NEAREST; @@ -833,7 +856,8 @@ static uint32_t vulkan_get_sync_index_mask(void *handle) static void vulkan_set_image(void *handle, const struct retro_vulkan_image *image, uint32_t num_semaphores, - const VkSemaphore *semaphores) + const VkSemaphore *semaphores, + uint32_t src_queue_family) { unsigned i; vk_t *vk = (vk_t*)handle; @@ -853,6 +877,9 @@ static void vulkan_set_image(void *handle, for (i = 0; i < vk->hw.num_semaphores; i++) vk->hw.wait_dst_stages[i] = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + + vk->hw.valid_semaphore = true; + vk->hw.src_queue_family = src_queue_family; } } @@ -1446,6 +1473,7 @@ static bool vulkan_frame(void *data, const void *frame, static struct retro_perf_counter copy_frame = {0}; static struct retro_perf_counter swapbuffers = {0}; static struct retro_perf_counter queue_submit = {0}; + bool waits_for_semaphores = false; VkCommandBufferBeginInfo begin_info = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO }; @@ -1488,6 +1516,26 @@ static bool vulkan_frame(void *data, const void *frame, vulkan_flush_caches(vk); + waits_for_semaphores = vk->hw.enable && frame && + !vk->hw.num_cmd && vk->hw.valid_semaphore; + + if (waits_for_semaphores && + vk->hw.src_queue_family != VK_QUEUE_FAMILY_IGNORED && + vk->hw.src_queue_family != vk->context->graphics_queue_index) + { + retro_assert(vk->hw.image); + + /* Acquire ownership of image from other queue family. */ + vulkan_transfer_image_ownership(vk->cmd, + vk->hw.image->create_info.image, + vk->hw.image->image_layout, + /* Create a dependency chain from semaphore wait. */ + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | + VK_PIPELINE_STAGE_TRANSFER_BIT, + vk->hw.src_queue_family, vk->context->graphics_queue_index); + } + /* Upload texture */ performance_counter_start(©_frame); if (frame && !vk->hw.enable) @@ -1717,6 +1765,21 @@ static bool vulkan_frame(void *data, const void *frame, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT); } + if (waits_for_semaphores && + vk->hw.src_queue_family != VK_QUEUE_FAMILY_IGNORED && + vk->hw.src_queue_family != vk->context->graphics_queue_index) + { + retro_assert(vk->hw.image); + + /* Release ownership of image back to other queue family. */ + vulkan_transfer_image_ownership(vk->cmd, + vk->hw.image->create_info.image, + vk->hw.image->image_layout, + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, + vk->context->graphics_queue_index, vk->hw.src_queue_family); + } + performance_counter_start(&end_cmd); VKFUNC(vkEndCommandBuffer)(vk->cmd); performance_counter_stop(&end_cmd); @@ -1739,11 +1802,14 @@ static bool vulkan_frame(void *data, const void *frame, submit_info.pCommandBuffers = &vk->cmd; } - if (vk->hw.enable && frame && !vk->hw.num_cmd) + if (waits_for_semaphores) { submit_info.waitSemaphoreCount = vk->hw.num_semaphores; submit_info.pWaitSemaphores = vk->hw.semaphores; submit_info.pWaitDstStageMask = vk->hw.wait_dst_stages; + + /* Consume the semaphores. */ + vk->hw.valid_semaphore = false; } submit_info.signalSemaphoreCount = diff --git a/gfx/drivers/vulkan_shaders/Makefile b/gfx/drivers/vulkan_shaders/Makefile index e33ac65d2a..639b7d4846 100644 --- a/gfx/drivers/vulkan_shaders/Makefile +++ b/gfx/drivers/vulkan_shaders/Makefile @@ -1,23 +1,19 @@ VERT_SHADERS := $(wildcard *.vert) FRAG_SHADERS := $(wildcard *.frag) -SPIRV := $(VERT_SHADERS:.vert=.vert.spv) $(FRAG_SHADERS:.frag=.frag.spv) -INCLUDES := $(SPIRV:.spv=.inc) +SPIRV := $(VERT_SHADERS:.vert=.vert.inc) $(FRAG_SHADERS:.frag=.frag.inc) -GLSLANG := glslangValidator +GLSLANG := glslc +GLSLFLAGS := -mfmt=c -all: $(INCLUDES) +all: $(SPIRV) -%.frag.spv: %.frag - $(GLSLANG) -V -o $@ $< +%.vert.inc: %.vert + $(GLSLANG) $(GLSLFLAGS) -o $@ $< -%.vert.spv: %.vert - $(GLSLANG) -V -o $@ $< - -%.inc: %.spv - xxd -i $< $@ +%.frag.inc: %.frag + $(GLSLANG) $(GLSLFLAGS) -o $@ $< clean: - rm -f $(INCLUDES) rm -f $(SPIRV) .PHONY: clean diff --git a/gfx/drivers/vulkan_shaders/alpha_blend.frag.inc b/gfx/drivers/vulkan_shaders/alpha_blend.frag.inc index 7f1655bbf8..991c5cab8b 100644 --- a/gfx/drivers/vulkan_shaders/alpha_blend.frag.inc +++ b/gfx/drivers/vulkan_shaders/alpha_blend.frag.inc @@ -1,59 +1,46 @@ -unsigned char alpha_blend_frag_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x76, 0x43, 0x6f, 0x6c, - 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x75, 0x54, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, - 0x38, 0x00, 0x01, 0x00 -}; -unsigned int alpha_blend_frag_spv_len = 664; +{0x07230203,0x00010000,0x00080001,0x00000018, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0008000f,0x00000004,0x00000004,0x6e69616d, +0x00000000,0x00000009,0x0000000b,0x00000014, +0x00030010,0x00000004,0x00000007,0x00030003, +0x00000001,0x00000136,0x000a0004,0x475f4c47, +0x4c474f4f,0x70635f45,0x74735f70,0x5f656c79, +0x656e696c,0x7269645f,0x69746365,0x00006576, +0x00080004,0x475f4c47,0x4c474f4f,0x6e695f45, +0x64756c63,0x69645f65,0x74636572,0x00657669, +0x00040005,0x00000004,0x6e69616d,0x00000000, +0x00050005,0x00000009,0x67617246,0x6f6c6f43, +0x00000072,0x00040005,0x0000000b,0x6c6f4376, +0x0000726f,0x00040005,0x00000010,0x78655475, +0x00000000,0x00050005,0x00000014,0x78655476, +0x726f6f43,0x00000064,0x00040047,0x00000009, +0x0000001e,0x00000000,0x00040047,0x0000000b, +0x0000001e,0x00000001,0x00040047,0x00000010, +0x00000022,0x00000000,0x00040047,0x00000010, +0x00000021,0x00000001,0x00040047,0x00000014, +0x0000001e,0x00000000,0x00020013,0x00000002, +0x00030021,0x00000003,0x00000002,0x00030016, +0x00000006,0x00000020,0x00040017,0x00000007, +0x00000006,0x00000004,0x00040020,0x00000008, +0x00000003,0x00000007,0x0004003b,0x00000008, +0x00000009,0x00000003,0x00040020,0x0000000a, +0x00000001,0x00000007,0x0004003b,0x0000000a, +0x0000000b,0x00000001,0x00090019,0x0000000d, +0x00000006,0x00000001,0x00000000,0x00000000, +0x00000000,0x00000001,0x00000000,0x0003001b, +0x0000000e,0x0000000d,0x00040020,0x0000000f, +0x00000000,0x0000000e,0x0004003b,0x0000000f, +0x00000010,0x00000000,0x00040017,0x00000012, +0x00000006,0x00000002,0x00040020,0x00000013, +0x00000001,0x00000012,0x0004003b,0x00000013, +0x00000014,0x00000001,0x00050036,0x00000002, +0x00000004,0x00000000,0x00000003,0x000200f8, +0x00000005,0x0004003d,0x00000007,0x0000000c, +0x0000000b,0x0004003d,0x0000000e,0x00000011, +0x00000010,0x0004003d,0x00000012,0x00000015, +0x00000014,0x00050057,0x00000007,0x00000016, +0x00000011,0x00000015,0x00050085,0x00000007, +0x00000017,0x0000000c,0x00000016,0x0003003e, +0x00000009,0x00000017,0x000100fd,0x00010038} diff --git a/gfx/drivers/vulkan_shaders/alpha_blend.vert.inc b/gfx/drivers/vulkan_shaders/alpha_blend.vert.inc index 7e22afdf13..c86dbe4473 100644 --- a/gfx/drivers/vulkan_shaders/alpha_blend.vert.inc +++ b/gfx/drivers/vulkan_shaders/alpha_blend.vert.inc @@ -1,99 +1,77 @@ -unsigned char alpha_blend_vert_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x67, 0x6c, 0x5f, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x55, 0x42, 0x4f, 0x00, 0x06, 0x00, 0x04, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x56, 0x50, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x76, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x76, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x1a, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; -unsigned int alpha_blend_vert_spv_len = 1152; +{0x07230203,0x00010000,0x00080001,0x00000023, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x000b000f,0x00000000,0x00000004,0x6e69616d, +0x00000000,0x0000000a,0x00000015,0x0000001c, +0x0000001e,0x00000020,0x00000021,0x00030003, +0x00000001,0x00000136,0x000a0004,0x475f4c47, +0x4c474f4f,0x70635f45,0x74735f70,0x5f656c79, +0x656e696c,0x7269645f,0x69746365,0x00006576, +0x00080004,0x475f4c47,0x4c474f4f,0x6e695f45, +0x64756c63,0x69645f65,0x74636572,0x00657669, +0x00040005,0x00000004,0x6e69616d,0x00000000, +0x00060005,0x00000008,0x505f6c67,0x65567265, +0x78657472,0x00000000,0x00060006,0x00000008, +0x00000000,0x505f6c67,0x7469736f,0x006e6f69, +0x00070006,0x00000008,0x00000001,0x505f6c67, +0x746e696f,0x657a6953,0x00000000,0x00030005, +0x0000000a,0x00000000,0x00030005,0x0000000e, +0x004f4255,0x00040006,0x0000000e,0x00000000, +0x0050564d,0x00040005,0x00000010,0x626f6c67, +0x00006c61,0x00050005,0x00000015,0x69736f50, +0x6e6f6974,0x00000000,0x00050005,0x0000001c, +0x78655476,0x726f6f43,0x00000064,0x00050005, +0x0000001e,0x43786554,0x64726f6f,0x00000000, +0x00040005,0x00000020,0x6c6f4376,0x0000726f, +0x00040005,0x00000021,0x6f6c6f43,0x00000072, +0x00050048,0x00000008,0x00000000,0x0000000b, +0x00000000,0x00050048,0x00000008,0x00000001, +0x0000000b,0x00000001,0x00030047,0x00000008, +0x00000002,0x00040048,0x0000000e,0x00000000, +0x00000005,0x00050048,0x0000000e,0x00000000, +0x00000023,0x00000000,0x00050048,0x0000000e, +0x00000000,0x00000007,0x00000010,0x00030047, +0x0000000e,0x00000002,0x00040047,0x00000010, +0x00000022,0x00000000,0x00040047,0x00000010, +0x00000021,0x00000000,0x00040047,0x00000015, +0x0000001e,0x00000000,0x00040047,0x0000001c, +0x0000001e,0x00000000,0x00040047,0x0000001e, +0x0000001e,0x00000001,0x00040047,0x00000020, +0x0000001e,0x00000001,0x00040047,0x00000021, +0x0000001e,0x00000002,0x00020013,0x00000002, +0x00030021,0x00000003,0x00000002,0x00030016, +0x00000006,0x00000020,0x00040017,0x00000007, +0x00000006,0x00000004,0x0004001e,0x00000008, +0x00000007,0x00000006,0x00040020,0x00000009, +0x00000003,0x00000008,0x0004003b,0x00000009, +0x0000000a,0x00000003,0x00040015,0x0000000b, +0x00000020,0x00000001,0x0004002b,0x0000000b, +0x0000000c,0x00000000,0x00040018,0x0000000d, +0x00000007,0x00000004,0x0003001e,0x0000000e, +0x0000000d,0x00040020,0x0000000f,0x00000002, +0x0000000e,0x0004003b,0x0000000f,0x00000010, +0x00000002,0x00040020,0x00000011,0x00000002, +0x0000000d,0x00040020,0x00000014,0x00000001, +0x00000007,0x0004003b,0x00000014,0x00000015, +0x00000001,0x00040020,0x00000018,0x00000003, +0x00000007,0x00040017,0x0000001a,0x00000006, +0x00000002,0x00040020,0x0000001b,0x00000003, +0x0000001a,0x0004003b,0x0000001b,0x0000001c, +0x00000003,0x00040020,0x0000001d,0x00000001, +0x0000001a,0x0004003b,0x0000001d,0x0000001e, +0x00000001,0x0004003b,0x00000018,0x00000020, +0x00000003,0x0004003b,0x00000014,0x00000021, +0x00000001,0x00050036,0x00000002,0x00000004, +0x00000000,0x00000003,0x000200f8,0x00000005, +0x00050041,0x00000011,0x00000012,0x00000010, +0x0000000c,0x0004003d,0x0000000d,0x00000013, +0x00000012,0x0004003d,0x00000007,0x00000016, +0x00000015,0x00050091,0x00000007,0x00000017, +0x00000013,0x00000016,0x00050041,0x00000018, +0x00000019,0x0000000a,0x0000000c,0x0003003e, +0x00000019,0x00000017,0x0004003d,0x0000001a, +0x0000001f,0x0000001e,0x0003003e,0x0000001c, +0x0000001f,0x0004003d,0x00000007,0x00000022, +0x00000021,0x0003003e,0x00000020,0x00000022, +0x000100fd,0x00010038} diff --git a/gfx/drivers/vulkan_shaders/font.frag.inc b/gfx/drivers/vulkan_shaders/font.frag.inc index 4adb43b6df..82536685b1 100644 --- a/gfx/drivers/vulkan_shaders/font.frag.inc +++ b/gfx/drivers/vulkan_shaders/font.frag.inc @@ -1,80 +1,62 @@ -unsigned char font_frag_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x76, 0x43, 0x6f, 0x6c, - 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x75, 0x54, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x1a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; -unsigned int font_frag_spv_len = 920; +{0x07230203,0x00010000,0x00080001,0x00000025, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0008000f,0x00000004,0x00000004,0x6e69616d, +0x00000000,0x00000009,0x0000000b,0x0000001b, +0x00030010,0x00000004,0x00000007,0x00030003, +0x00000001,0x00000136,0x000a0004,0x475f4c47, +0x4c474f4f,0x70635f45,0x74735f70,0x5f656c79, +0x656e696c,0x7269645f,0x69746365,0x00006576, +0x00080004,0x475f4c47,0x4c474f4f,0x6e695f45, +0x64756c63,0x69645f65,0x74636572,0x00657669, +0x00040005,0x00000004,0x6e69616d,0x00000000, +0x00050005,0x00000009,0x67617246,0x6f6c6f43, +0x00000072,0x00040005,0x0000000b,0x6c6f4376, +0x0000726f,0x00040005,0x00000017,0x78655475, +0x00000000,0x00050005,0x0000001b,0x78655476, +0x726f6f43,0x00000064,0x00040047,0x00000009, +0x0000001e,0x00000000,0x00040047,0x0000000b, +0x0000001e,0x00000001,0x00040047,0x00000017, +0x00000022,0x00000000,0x00040047,0x00000017, +0x00000021,0x00000001,0x00040047,0x0000001b, +0x0000001e,0x00000000,0x00020013,0x00000002, +0x00030021,0x00000003,0x00000002,0x00030016, +0x00000006,0x00000020,0x00040017,0x00000007, +0x00000006,0x00000004,0x00040020,0x00000008, +0x00000003,0x00000007,0x0004003b,0x00000008, +0x00000009,0x00000003,0x00040020,0x0000000a, +0x00000001,0x00000007,0x0004003b,0x0000000a, +0x0000000b,0x00000001,0x00040017,0x0000000c, +0x00000006,0x00000003,0x00040015,0x0000000f, +0x00000020,0x00000000,0x0004002b,0x0000000f, +0x00000010,0x00000003,0x00040020,0x00000011, +0x00000001,0x00000006,0x00090019,0x00000014, +0x00000006,0x00000001,0x00000000,0x00000000, +0x00000000,0x00000001,0x00000000,0x0003001b, +0x00000015,0x00000014,0x00040020,0x00000016, +0x00000000,0x00000015,0x0004003b,0x00000016, +0x00000017,0x00000000,0x00040017,0x00000019, +0x00000006,0x00000002,0x00040020,0x0000001a, +0x00000001,0x00000019,0x0004003b,0x0000001a, +0x0000001b,0x00000001,0x0004002b,0x0000000f, +0x0000001e,0x00000000,0x00050036,0x00000002, +0x00000004,0x00000000,0x00000003,0x000200f8, +0x00000005,0x0004003d,0x00000007,0x0000000d, +0x0000000b,0x0008004f,0x0000000c,0x0000000e, +0x0000000d,0x0000000d,0x00000000,0x00000001, +0x00000002,0x00050041,0x00000011,0x00000012, +0x0000000b,0x00000010,0x0004003d,0x00000006, +0x00000013,0x00000012,0x0004003d,0x00000015, +0x00000018,0x00000017,0x0004003d,0x00000019, +0x0000001c,0x0000001b,0x00050057,0x00000007, +0x0000001d,0x00000018,0x0000001c,0x00050051, +0x00000006,0x0000001f,0x0000001d,0x00000000, +0x00050085,0x00000006,0x00000020,0x00000013, +0x0000001f,0x00050051,0x00000006,0x00000021, +0x0000000e,0x00000000,0x00050051,0x00000006, +0x00000022,0x0000000e,0x00000001,0x00050051, +0x00000006,0x00000023,0x0000000e,0x00000002, +0x00070050,0x00000007,0x00000024,0x00000021, +0x00000022,0x00000023,0x00000020,0x0003003e, +0x00000009,0x00000024,0x000100fd,0x00010038} diff --git a/gfx/drivers/vulkan_shaders/opaque.frag.inc b/gfx/drivers/vulkan_shaders/opaque.frag.inc index 03fd2ff4e7..6db1daab16 100644 --- a/gfx/drivers/vulkan_shaders/opaque.frag.inc +++ b/gfx/drivers/vulkan_shaders/opaque.frag.inc @@ -1,63 +1,49 @@ -unsigned char opaque_frag_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x72, 0x61, 0x67, - 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x76, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, - 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x1a, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, - 0x38, 0x00, 0x01, 0x00 -}; -unsigned int opaque_frag_spv_len = 712; +{0x07230203,0x00010000,0x00080001,0x0000001b, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0007000f,0x00000004,0x00000004,0x6e69616d, +0x00000000,0x00000009,0x00000011,0x00030010, +0x00000004,0x00000007,0x00030003,0x00000001, +0x00000136,0x000a0004,0x475f4c47,0x4c474f4f, +0x70635f45,0x74735f70,0x5f656c79,0x656e696c, +0x7269645f,0x69746365,0x00006576,0x00080004, +0x475f4c47,0x4c474f4f,0x6e695f45,0x64756c63, +0x69645f65,0x74636572,0x00657669,0x00040005, +0x00000004,0x6e69616d,0x00000000,0x00050005, +0x00000009,0x67617246,0x6f6c6f43,0x00000072, +0x00040005,0x0000000d,0x72756f53,0x00006563, +0x00050005,0x00000011,0x78655476,0x726f6f43, +0x00000064,0x00040047,0x00000009,0x0000001e, +0x00000000,0x00040047,0x0000000d,0x00000022, +0x00000000,0x00040047,0x0000000d,0x00000021, +0x00000002,0x00040047,0x00000011,0x0000001e, +0x00000000,0x00020013,0x00000002,0x00030021, +0x00000003,0x00000002,0x00030016,0x00000006, +0x00000020,0x00040017,0x00000007,0x00000006, +0x00000004,0x00040020,0x00000008,0x00000003, +0x00000007,0x0004003b,0x00000008,0x00000009, +0x00000003,0x00090019,0x0000000a,0x00000006, +0x00000001,0x00000000,0x00000000,0x00000000, +0x00000001,0x00000000,0x0003001b,0x0000000b, +0x0000000a,0x00040020,0x0000000c,0x00000000, +0x0000000b,0x0004003b,0x0000000c,0x0000000d, +0x00000000,0x00040017,0x0000000f,0x00000006, +0x00000002,0x00040020,0x00000010,0x00000001, +0x0000000f,0x0004003b,0x00000010,0x00000011, +0x00000001,0x00040017,0x00000014,0x00000006, +0x00000003,0x0004002b,0x00000006,0x00000016, +0x3f800000,0x00050036,0x00000002,0x00000004, +0x00000000,0x00000003,0x000200f8,0x00000005, +0x0004003d,0x0000000b,0x0000000e,0x0000000d, +0x0004003d,0x0000000f,0x00000012,0x00000011, +0x00050057,0x00000007,0x00000013,0x0000000e, +0x00000012,0x0008004f,0x00000014,0x00000015, +0x00000013,0x00000013,0x00000000,0x00000001, +0x00000002,0x00050051,0x00000006,0x00000017, +0x00000015,0x00000000,0x00050051,0x00000006, +0x00000018,0x00000015,0x00000001,0x00050051, +0x00000006,0x00000019,0x00000015,0x00000002, +0x00070050,0x00000007,0x0000001a,0x00000017, +0x00000018,0x00000019,0x00000016,0x0003003e, +0x00000009,0x0000001a,0x000100fd,0x00010038} diff --git a/gfx/drivers/vulkan_shaders/opaque.vert.inc b/gfx/drivers/vulkan_shaders/opaque.vert.inc index 42fb461c4f..793d6ed637 100644 --- a/gfx/drivers/vulkan_shaders/opaque.vert.inc +++ b/gfx/drivers/vulkan_shaders/opaque.vert.inc @@ -1,99 +1,69 @@ -unsigned char opaque_vert_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x67, 0x6c, 0x5f, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x55, 0x42, 0x4f, 0x00, 0x06, 0x00, 0x04, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x56, 0x50, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x76, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x67, 0x6c, 0x5f, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x44, 0x00, - 0x05, 0x00, 0x06, 0x00, 0x22, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; -unsigned int opaque_vert_spv_len = 1152; +{0x07230203,0x00010000,0x00080001,0x00000020, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0009000f,0x00000000,0x00000004,0x6e69616d, +0x00000000,0x0000000a,0x00000015,0x0000001c, +0x0000001e,0x00030003,0x00000001,0x00000136, +0x000a0004,0x475f4c47,0x4c474f4f,0x70635f45, +0x74735f70,0x5f656c79,0x656e696c,0x7269645f, +0x69746365,0x00006576,0x00080004,0x475f4c47, +0x4c474f4f,0x6e695f45,0x64756c63,0x69645f65, +0x74636572,0x00657669,0x00040005,0x00000004, +0x6e69616d,0x00000000,0x00060005,0x00000008, +0x505f6c67,0x65567265,0x78657472,0x00000000, +0x00060006,0x00000008,0x00000000,0x505f6c67, +0x7469736f,0x006e6f69,0x00070006,0x00000008, +0x00000001,0x505f6c67,0x746e696f,0x657a6953, +0x00000000,0x00030005,0x0000000a,0x00000000, +0x00030005,0x0000000e,0x004f4255,0x00040006, +0x0000000e,0x00000000,0x0050564d,0x00040005, +0x00000010,0x626f6c67,0x00006c61,0x00050005, +0x00000015,0x69736f50,0x6e6f6974,0x00000000, +0x00050005,0x0000001c,0x78655476,0x726f6f43, +0x00000064,0x00050005,0x0000001e,0x43786554, +0x64726f6f,0x00000000,0x00050048,0x00000008, +0x00000000,0x0000000b,0x00000000,0x00050048, +0x00000008,0x00000001,0x0000000b,0x00000001, +0x00030047,0x00000008,0x00000002,0x00040048, +0x0000000e,0x00000000,0x00000005,0x00050048, +0x0000000e,0x00000000,0x00000023,0x00000000, +0x00050048,0x0000000e,0x00000000,0x00000007, +0x00000010,0x00030047,0x0000000e,0x00000002, +0x00040047,0x00000010,0x00000022,0x00000000, +0x00040047,0x00000010,0x00000021,0x00000000, +0x00040047,0x00000015,0x0000001e,0x00000000, +0x00040047,0x0000001c,0x0000001e,0x00000000, +0x00040047,0x0000001e,0x0000001e,0x00000001, +0x00020013,0x00000002,0x00030021,0x00000003, +0x00000002,0x00030016,0x00000006,0x00000020, +0x00040017,0x00000007,0x00000006,0x00000004, +0x0004001e,0x00000008,0x00000007,0x00000006, +0x00040020,0x00000009,0x00000003,0x00000008, +0x0004003b,0x00000009,0x0000000a,0x00000003, +0x00040015,0x0000000b,0x00000020,0x00000001, +0x0004002b,0x0000000b,0x0000000c,0x00000000, +0x00040018,0x0000000d,0x00000007,0x00000004, +0x0003001e,0x0000000e,0x0000000d,0x00040020, +0x0000000f,0x00000002,0x0000000e,0x0004003b, +0x0000000f,0x00000010,0x00000002,0x00040020, +0x00000011,0x00000002,0x0000000d,0x00040020, +0x00000014,0x00000001,0x00000007,0x0004003b, +0x00000014,0x00000015,0x00000001,0x00040020, +0x00000018,0x00000003,0x00000007,0x00040017, +0x0000001a,0x00000006,0x00000002,0x00040020, +0x0000001b,0x00000003,0x0000001a,0x0004003b, +0x0000001b,0x0000001c,0x00000003,0x00040020, +0x0000001d,0x00000001,0x0000001a,0x0004003b, +0x0000001d,0x0000001e,0x00000001,0x00050036, +0x00000002,0x00000004,0x00000000,0x00000003, +0x000200f8,0x00000005,0x00050041,0x00000011, +0x00000012,0x00000010,0x0000000c,0x0004003d, +0x0000000d,0x00000013,0x00000012,0x0004003d, +0x00000007,0x00000016,0x00000015,0x00050091, +0x00000007,0x00000017,0x00000013,0x00000016, +0x00050041,0x00000018,0x00000019,0x0000000a, +0x0000000c,0x0003003e,0x00000019,0x00000017, +0x0004003d,0x0000001a,0x0000001f,0x0000001e, +0x0003003e,0x0000001c,0x0000001f,0x000100fd, +0x00010038} diff --git a/gfx/drivers/vulkan_shaders/ribbon.frag.inc b/gfx/drivers/vulkan_shaders/ribbon.frag.inc index a229f4a047..dceb764734 100644 --- a/gfx/drivers/vulkan_shaders/ribbon.frag.inc +++ b/gfx/drivers/vulkan_shaders/ribbon.frag.inc @@ -1,101 +1,78 @@ -unsigned char ribbon_frag_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x76, 0x45, 0x43, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x63, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x55, 0x42, 0x4f, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x74, 0x69, 0x6d, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x2c, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x73, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x2c, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x17, 0x00, 0x04, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, - 0x2a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0xd0, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x07, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x28, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; -unsigned int ribbon_frag_spv_len = 1176; +{0x07230203,0x00010000,0x00080001,0x0000002d, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0007000f,0x00000004,0x00000004,0x6e69616d, +0x00000000,0x0000000b,0x00000027,0x00030010, +0x00000004,0x00000007,0x00030003,0x00000001, +0x00000136,0x000a0004,0x475f4c47,0x4c474f4f, +0x70635f45,0x74735f70,0x5f656c79,0x656e696c, +0x7269645f,0x69746365,0x00006576,0x00080004, +0x475f4c47,0x4c474f4f,0x6e695f45,0x64756c63, +0x69645f65,0x74636572,0x00657669,0x00040005, +0x00000004,0x6e69616d,0x00000000,0x00030005, +0x00000009,0x00000078,0x00030005,0x0000000b, +0x00434576,0x00030005,0x0000000e,0x00000079, +0x00040005,0x00000011,0x6d726f6e,0x00006c61, +0x00030005,0x00000017,0x00000063,0x00050005, +0x00000027,0x67617246,0x6f6c6f43,0x00000072, +0x00030005,0x0000002a,0x004f4255,0x00050006, +0x0000002a,0x00000000,0x656d6974,0x00000000, +0x00050005,0x0000002c,0x736e6f63,0x746e6174, +0x00000073,0x00040047,0x0000000b,0x0000001e, +0x00000000,0x00040047,0x00000027,0x0000001e, +0x00000000,0x00050048,0x0000002a,0x00000000, +0x00000023,0x00000000,0x00030047,0x0000002a, +0x00000002,0x00040047,0x0000002c,0x00000022, +0x00000000,0x00040047,0x0000002c,0x00000021, +0x00000000,0x00020013,0x00000002,0x00030021, +0x00000003,0x00000002,0x00030016,0x00000006, +0x00000020,0x00040017,0x00000007,0x00000006, +0x00000003,0x00040020,0x00000008,0x00000007, +0x00000007,0x00040020,0x0000000a,0x00000001, +0x00000007,0x0004003b,0x0000000a,0x0000000b, +0x00000001,0x00040020,0x00000016,0x00000007, +0x00000006,0x0004002b,0x00000006,0x00000018, +0x3f800000,0x0004002b,0x00000006,0x0000001a, +0x00000000,0x0006002c,0x00000007,0x0000001b, +0x0000001a,0x0000001a,0x00000018,0x0004002b, +0x00000006,0x00000023,0x40400000,0x00040017, +0x00000025,0x00000006,0x00000004,0x00040020, +0x00000026,0x00000003,0x00000025,0x0004003b, +0x00000026,0x00000027,0x00000003,0x0003001e, +0x0000002a,0x00000006,0x00040020,0x0000002b, +0x00000002,0x0000002a,0x0004003b,0x0000002b, +0x0000002c,0x00000002,0x00050036,0x00000002, +0x00000004,0x00000000,0x00000003,0x000200f8, +0x00000005,0x0004003b,0x00000008,0x00000009, +0x00000007,0x0004003b,0x00000008,0x0000000e, +0x00000007,0x0004003b,0x00000008,0x00000011, +0x00000007,0x0004003b,0x00000016,0x00000017, +0x00000007,0x0004003d,0x00000007,0x0000000c, +0x0000000b,0x000400cf,0x00000007,0x0000000d, +0x0000000c,0x0003003e,0x00000009,0x0000000d, +0x0004003d,0x00000007,0x0000000f,0x0000000b, +0x000400d0,0x00000007,0x00000010,0x0000000f, +0x0003003e,0x0000000e,0x00000010,0x0004003d, +0x00000007,0x00000012,0x00000009,0x0004003d, +0x00000007,0x00000013,0x0000000e,0x0007000c, +0x00000007,0x00000014,0x00000001,0x00000044, +0x00000012,0x00000013,0x0006000c,0x00000007, +0x00000015,0x00000001,0x00000045,0x00000014, +0x0003003e,0x00000011,0x00000015,0x0004003d, +0x00000007,0x00000019,0x00000011,0x00050094, +0x00000006,0x0000001c,0x00000019,0x0000001b, +0x00050083,0x00000006,0x0000001d,0x00000018, +0x0000001c,0x0003003e,0x00000017,0x0000001d, +0x0004003d,0x00000006,0x0000001e,0x00000017, +0x0004003d,0x00000006,0x0000001f,0x00000017, +0x00050085,0x00000006,0x00000020,0x0000001e, +0x0000001f,0x0006000c,0x00000006,0x00000021, +0x00000001,0x0000000e,0x00000020,0x00050083, +0x00000006,0x00000022,0x00000018,0x00000021, +0x00050088,0x00000006,0x00000024,0x00000022, +0x00000023,0x0003003e,0x00000017,0x00000024, +0x0004003d,0x00000006,0x00000028,0x00000017, +0x00070050,0x00000025,0x00000029,0x00000018, +0x00000018,0x00000018,0x00000028,0x0003003e, +0x00000027,0x00000029,0x000100fd,0x00010038} diff --git a/gfx/drivers/vulkan_shaders/ribbon.vert.inc b/gfx/drivers/vulkan_shaders/ribbon.vert.inc index cdd2c85275..1e2262bc6d 100644 --- a/gfx/drivers/vulkan_shaders/ribbon.vert.inc +++ b/gfx/drivers/vulkan_shaders/ribbon.vert.inc @@ -1,430 +1,325 @@ -unsigned char ribbon_vert_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x69, 0x71, 0x68, 0x61, 0x73, 0x68, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x6e, 0x6f, 0x69, 0x73, - 0x65, 0x28, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x78, 0x6d, 0x62, 0x5f, 0x6e, 0x6f, 0x69, 0x73, - 0x65, 0x32, 0x28, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x2c, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x3d, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x43, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4a, 0x00, 0x00, 0x00, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x4f, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x59, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x5e, 0x00, 0x00, 0x00, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x66, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x00, - 0x76, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x88, 0x00, 0x00, 0x00, 0x76, 0x32, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x76, 0x33, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x92, 0x00, 0x00, 0x00, - 0x55, 0x42, 0x4f, 0x00, 0x06, 0x00, 0x05, 0x00, 0x92, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x74, 0x69, 0x6d, 0x65, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x94, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0xb7, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xd5, 0x00, 0x00, 0x00, - 0x76, 0x45, 0x43, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd8, 0x00, 0x00, 0x00, - 0x67, 0x6c, 0x5f, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x07, 0x00, 0xd8, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0xda, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0x92, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x94, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x94, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd5, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd8, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x03, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x8c, 0xee, 0x2a, 0x47, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x15, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x2d, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x42, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x42, - 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x42, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xe4, 0x42, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x43, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x43, - 0x20, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x81, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x1e, 0x00, 0x03, 0x00, - 0x92, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x93, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x93, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x95, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x95, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x97, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x40, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xae, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xc8, 0x42, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x40, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x41, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xce, 0x00, 0x00, 0x00, - 0x9a, 0x99, 0x99, 0x3e, 0x20, 0x00, 0x04, 0x00, 0xd4, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0xd4, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0xd7, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0xd8, 0x00, 0x00, 0x00, - 0xd7, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0xd9, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe0, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0xb7, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x81, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x88, 0x00, 0x00, 0x00, - 0x89, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x8b, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x8a, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, - 0x8f, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x91, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x91, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x97, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, - 0x94, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, - 0x99, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x9d, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, - 0x9b, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x9f, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, - 0x8a, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, - 0xa1, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa3, 0x00, 0x00, 0x00, - 0xa2, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x97, 0x00, 0x00, 0x00, - 0xa4, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x00, - 0xa4, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xa7, 0x00, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, - 0x8a, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, - 0xa9, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, - 0x38, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x00, 0x00, 0x00, - 0xaa, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x97, 0x00, 0x00, 0x00, - 0xac, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, - 0xac, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xaf, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0xae, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, - 0x8a, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xb2, 0x00, 0x00, 0x00, - 0xb1, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb3, 0x00, 0x00, 0x00, - 0xb2, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0xb4, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, - 0xb5, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb7, 0x00, 0x00, 0x00, - 0xb6, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xb8, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xb7, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, - 0xb8, 0x00, 0x00, 0x00, 0xb9, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, - 0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xbc, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, - 0xba, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0xbe, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0xbe, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, - 0x8a, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0xc0, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0xc1, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00, - 0xb9, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0xc4, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, - 0xc4, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xc6, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x97, 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, - 0x94, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, - 0xc8, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, - 0xc9, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xcb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0xca, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xcc, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, - 0xc3, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, - 0xce, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0xd0, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, - 0xd0, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xd2, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0xd3, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0xd5, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xdc, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, - 0xdb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0xd7, 0x00, 0x00, 0x00, - 0xdf, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, - 0xde, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0xe0, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, - 0x96, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xe1, 0x00, 0x00, 0x00, - 0xdf, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x2c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x4a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x5e, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x26, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x2a, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2c, 0x00, 0x00, 0x00, - 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x3d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x42, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x4a, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x4a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x4c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, - 0x4d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x4e, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x5a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, - 0x2c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x5d, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x63, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x64, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x65, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x67, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, - 0x2c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x6a, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x6e, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, - 0x6e, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x72, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x62, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, - 0x72, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, - 0x75, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, - 0x79, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, - 0x7b, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00 -}; -unsigned int ribbon_vert_spv_len = 5120; +{0x07230203,0x00010000,0x00080001,0x000000e2, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0008000f,0x00000000,0x00000004,0x6e69616d, +0x00000000,0x00000080,0x000000d5,0x000000da, +0x00030003,0x00000001,0x00000136,0x000a0004, +0x475f4c47,0x4c474f4f,0x70635f45,0x74735f70, +0x5f656c79,0x656e696c,0x7269645f,0x69746365, +0x00006576,0x00080004,0x475f4c47,0x4c474f4f, +0x6e695f45,0x64756c63,0x69645f65,0x74636572, +0x00657669,0x00040005,0x00000004,0x6e69616d, +0x00000000,0x00050005,0x0000000a,0x61687169, +0x66286873,0x00003b31,0x00030005,0x00000009, +0x0000006e,0x00050005,0x00000010,0x73696f6e, +0x66762865,0x00003b33,0x00030005,0x0000000f, +0x00000078,0x00060005,0x00000013,0x5f626d78, +0x73696f6e,0x76283265,0x003b3366,0x00030005, +0x00000012,0x00000078,0x00030005,0x0000001c, +0x00000070,0x00030005,0x0000001f,0x00000066, +0x00030005,0x0000002c,0x0000006e,0x00040005, +0x0000003d,0x61726170,0x0000006d,0x00040005, +0x00000043,0x61726170,0x0000006d,0x00040005, +0x0000004a,0x61726170,0x0000006d,0x00040005, +0x0000004f,0x61726170,0x0000006d,0x00040005, +0x00000059,0x61726170,0x0000006d,0x00040005, +0x0000005e,0x61726170,0x0000006d,0x00040005, +0x00000066,0x61726170,0x0000006d,0x00040005, +0x0000006b,0x61726170,0x0000006d,0x00030005, +0x0000007e,0x00000076,0x00050005,0x00000080, +0x74726556,0x6f437865,0x0064726f,0x00030005, +0x00000088,0x00003276,0x00030005,0x0000008a, +0x00003376,0x00040005,0x0000008c,0x61726170, +0x0000006d,0x00030005,0x00000092,0x004f4255, +0x00050006,0x00000092,0x00000000,0x656d6974, +0x00000000,0x00050005,0x00000094,0x736e6f63, +0x746e6174,0x00000073,0x00040005,0x000000b7, +0x61726170,0x0000006d,0x00040005,0x000000c1, +0x61726170,0x0000006d,0x00030005,0x000000d5, +0x00434576,0x00060005,0x000000d8,0x505f6c67, +0x65567265,0x78657472,0x00000000,0x00060006, +0x000000d8,0x00000000,0x505f6c67,0x7469736f, +0x006e6f69,0x00070006,0x000000d8,0x00000001, +0x505f6c67,0x746e696f,0x657a6953,0x00000000, +0x00030005,0x000000da,0x00000000,0x00040047, +0x00000080,0x0000001e,0x00000000,0x00050048, +0x00000092,0x00000000,0x00000023,0x00000000, +0x00030047,0x00000092,0x00000002,0x00040047, +0x00000094,0x00000022,0x00000000,0x00040047, +0x00000094,0x00000021,0x00000000,0x00040047, +0x000000d5,0x0000001e,0x00000000,0x00050048, +0x000000d8,0x00000000,0x0000000b,0x00000000, +0x00050048,0x000000d8,0x00000001,0x0000000b, +0x00000001,0x00030047,0x000000d8,0x00000002, +0x00020013,0x00000002,0x00030021,0x00000003, +0x00000002,0x00030016,0x00000006,0x00000020, +0x00040020,0x00000007,0x00000007,0x00000006, +0x00040021,0x00000008,0x00000006,0x00000007, +0x00040017,0x0000000c,0x00000006,0x00000003, +0x00040020,0x0000000d,0x00000007,0x0000000c, +0x00040021,0x0000000e,0x00000006,0x0000000d, +0x0004002b,0x00000006,0x00000017,0x472aee8c, +0x0004002b,0x00000006,0x00000025,0x40400000, +0x0004002b,0x00000006,0x00000026,0x40000000, +0x00040015,0x0000002d,0x00000020,0x00000000, +0x0004002b,0x0000002d,0x0000002e,0x00000000, +0x0004002b,0x0000002d,0x00000031,0x00000001, +0x0004002b,0x00000006,0x00000034,0x42640000, +0x0004002b,0x00000006,0x00000037,0x42e20000, +0x0004002b,0x0000002d,0x00000038,0x00000002, +0x0004002b,0x00000006,0x00000041,0x3f800000, +0x0004002b,0x00000006,0x0000004d,0x42680000, +0x0004002b,0x00000006,0x0000005c,0x42e40000, +0x0004002b,0x00000006,0x00000064,0x432a0000, +0x0004002b,0x00000006,0x00000069,0x432b0000, +0x00040020,0x0000007f,0x00000001,0x0000000c, +0x0004003b,0x0000007f,0x00000080,0x00000001, +0x00040020,0x00000081,0x00000001,0x00000006, +0x0004002b,0x00000006,0x00000084,0x00000000, +0x0004002b,0x00000006,0x0000008f,0x40c00000, +0x0003001e,0x00000092,0x00000006,0x00040020, +0x00000093,0x00000002,0x00000092,0x0004003b, +0x00000093,0x00000094,0x00000002,0x00040015, +0x00000095,0x00000020,0x00000001,0x0004002b, +0x00000095,0x00000096,0x00000000,0x00040020, +0x00000097,0x00000002,0x00000006,0x0004002b, +0x00000006,0x0000009a,0x40a00000,0x0004002b, +0x00000006,0x000000a6,0x41200000,0x0004002b, +0x00000006,0x000000ae,0x42c80000,0x0004002b, +0x00000006,0x000000b5,0x40e00000,0x0004002b, +0x00000006,0x000000b9,0x41700000,0x0004002b, +0x00000006,0x000000ce,0x3e99999a,0x00040020, +0x000000d4,0x00000003,0x0000000c,0x0004003b, +0x000000d4,0x000000d5,0x00000003,0x00040017, +0x000000d7,0x00000006,0x00000004,0x0004001e, +0x000000d8,0x000000d7,0x00000006,0x00040020, +0x000000d9,0x00000003,0x000000d8,0x0004003b, +0x000000d9,0x000000da,0x00000003,0x00040020, +0x000000e0,0x00000003,0x000000d7,0x00050036, +0x00000002,0x00000004,0x00000000,0x00000003, +0x000200f8,0x00000005,0x0004003b,0x0000000d, +0x0000007e,0x00000007,0x0004003b,0x0000000d, +0x00000088,0x00000007,0x0004003b,0x0000000d, +0x0000008a,0x00000007,0x0004003b,0x0000000d, +0x0000008c,0x00000007,0x0004003b,0x0000000d, +0x000000b7,0x00000007,0x0004003b,0x0000000d, +0x000000c1,0x00000007,0x00050041,0x00000081, +0x00000082,0x00000080,0x0000002e,0x0004003d, +0x00000006,0x00000083,0x00000082,0x00050041, +0x00000081,0x00000085,0x00000080,0x00000031, +0x0004003d,0x00000006,0x00000086,0x00000085, +0x00060050,0x0000000c,0x00000087,0x00000083, +0x00000084,0x00000086,0x0003003e,0x0000007e, +0x00000087,0x0004003d,0x0000000c,0x00000089, +0x0000007e,0x0003003e,0x00000088,0x00000089, +0x0004003d,0x0000000c,0x0000008b,0x0000007e, +0x0003003e,0x0000008a,0x0000008b,0x0004003d, +0x0000000c,0x0000008d,0x00000088,0x0003003e, +0x0000008c,0x0000008d,0x00050039,0x00000006, +0x0000008e,0x00000013,0x0000008c,0x00050088, +0x00000006,0x00000090,0x0000008e,0x0000008f, +0x00050041,0x00000007,0x00000091,0x0000007e, +0x00000031,0x0003003e,0x00000091,0x00000090, +0x00050041,0x00000097,0x00000098,0x00000094, +0x00000096,0x0004003d,0x00000006,0x00000099, +0x00000098,0x00050088,0x00000006,0x0000009b, +0x00000099,0x0000009a,0x00050041,0x00000007, +0x0000009c,0x0000008a,0x0000002e,0x0004003d, +0x00000006,0x0000009d,0x0000009c,0x00050083, +0x00000006,0x0000009e,0x0000009d,0x0000009b, +0x00050041,0x00000007,0x0000009f,0x0000008a, +0x0000002e,0x0003003e,0x0000009f,0x0000009e, +0x00050041,0x00000007,0x000000a0,0x0000008a, +0x0000002e,0x0004003d,0x00000006,0x000000a1, +0x000000a0,0x00050088,0x00000006,0x000000a2, +0x000000a1,0x00000026,0x00050041,0x00000007, +0x000000a3,0x0000008a,0x0000002e,0x0003003e, +0x000000a3,0x000000a2,0x00050041,0x00000097, +0x000000a4,0x00000094,0x00000096,0x0004003d, +0x00000006,0x000000a5,0x000000a4,0x00050088, +0x00000006,0x000000a7,0x000000a5,0x000000a6, +0x00050041,0x00000007,0x000000a8,0x0000008a, +0x00000038,0x0004003d,0x00000006,0x000000a9, +0x000000a8,0x00050083,0x00000006,0x000000aa, +0x000000a9,0x000000a7,0x00050041,0x00000007, +0x000000ab,0x0000008a,0x00000038,0x0003003e, +0x000000ab,0x000000aa,0x00050041,0x00000097, +0x000000ac,0x00000094,0x00000096,0x0004003d, +0x00000006,0x000000ad,0x000000ac,0x00050088, +0x00000006,0x000000af,0x000000ad,0x000000ae, +0x00050041,0x00000007,0x000000b0,0x0000008a, +0x00000031,0x0004003d,0x00000006,0x000000b1, +0x000000b0,0x00050083,0x00000006,0x000000b2, +0x000000b1,0x000000af,0x00050041,0x00000007, +0x000000b3,0x0000008a,0x00000031,0x0003003e, +0x000000b3,0x000000b2,0x0004003d,0x0000000c, +0x000000b4,0x0000008a,0x0005008e,0x0000000c, +0x000000b6,0x000000b4,0x000000b5,0x0003003e, +0x000000b7,0x000000b6,0x00050039,0x00000006, +0x000000b8,0x00000010,0x000000b7,0x00050088, +0x00000006,0x000000ba,0x000000b8,0x000000b9, +0x00050041,0x00000007,0x000000bb,0x0000007e, +0x00000038,0x0004003d,0x00000006,0x000000bc, +0x000000bb,0x00050083,0x00000006,0x000000bd, +0x000000bc,0x000000ba,0x00050041,0x00000007, +0x000000be,0x0000007e,0x00000038,0x0003003e, +0x000000be,0x000000bd,0x0004003d,0x0000000c, +0x000000bf,0x0000008a,0x0005008e,0x0000000c, +0x000000c0,0x000000bf,0x000000b5,0x0003003e, +0x000000c1,0x000000c0,0x00050039,0x00000006, +0x000000c2,0x00000010,0x000000c1,0x00050088, +0x00000006,0x000000c3,0x000000c2,0x000000b9, +0x00050041,0x00000007,0x000000c4,0x0000007e, +0x0000002e,0x0004003d,0x00000006,0x000000c5, +0x000000c4,0x00050085,0x00000006,0x000000c6, +0x000000c5,0x00000026,0x00050041,0x00000097, +0x000000c7,0x00000094,0x00000096,0x0004003d, +0x00000006,0x000000c8,0x000000c7,0x00050088, +0x00000006,0x000000c9,0x000000c8,0x0000009a, +0x00050083,0x00000006,0x000000ca,0x000000c6, +0x000000c9,0x0006000c,0x00000006,0x000000cb, +0x00000001,0x0000000e,0x000000ca,0x00050088, +0x00000006,0x000000cc,0x000000cb,0x0000009a, +0x00050081,0x00000006,0x000000cd,0x000000c3, +0x000000cc,0x00050083,0x00000006,0x000000cf, +0x000000cd,0x000000ce,0x00050041,0x00000007, +0x000000d0,0x0000007e,0x00000031,0x0004003d, +0x00000006,0x000000d1,0x000000d0,0x00050083, +0x00000006,0x000000d2,0x000000d1,0x000000cf, +0x00050041,0x00000007,0x000000d3,0x0000007e, +0x00000031,0x0003003e,0x000000d3,0x000000d2, +0x0004003d,0x0000000c,0x000000d6,0x0000007e, +0x0003003e,0x000000d5,0x000000d6,0x0004003d, +0x0000000c,0x000000db,0x0000007e,0x00050051, +0x00000006,0x000000dc,0x000000db,0x00000000, +0x00050051,0x00000006,0x000000dd,0x000000db, +0x00000001,0x00050051,0x00000006,0x000000de, +0x000000db,0x00000002,0x00070050,0x000000d7, +0x000000df,0x000000dc,0x000000dd,0x000000de, +0x00000041,0x00050041,0x000000e0,0x000000e1, +0x000000da,0x00000096,0x0003003e,0x000000e1, +0x000000df,0x000100fd,0x00010038,0x00050036, +0x00000006,0x0000000a,0x00000000,0x00000008, +0x00030037,0x00000007,0x00000009,0x000200f8, +0x0000000b,0x0004003d,0x00000006,0x00000015, +0x00000009,0x0006000c,0x00000006,0x00000016, +0x00000001,0x0000000d,0x00000015,0x00050085, +0x00000006,0x00000018,0x00000016,0x00000017, +0x0006000c,0x00000006,0x00000019,0x00000001, +0x0000000a,0x00000018,0x000200fe,0x00000019, +0x00010038,0x00050036,0x00000006,0x00000010, +0x00000000,0x0000000e,0x00030037,0x0000000d, +0x0000000f,0x000200f8,0x00000011,0x0004003b, +0x0000000d,0x0000001c,0x00000007,0x0004003b, +0x0000000d,0x0000001f,0x00000007,0x0004003b, +0x00000007,0x0000002c,0x00000007,0x0004003b, +0x00000007,0x0000003d,0x00000007,0x0004003b, +0x00000007,0x00000043,0x00000007,0x0004003b, +0x00000007,0x0000004a,0x00000007,0x0004003b, +0x00000007,0x0000004f,0x00000007,0x0004003b, +0x00000007,0x00000059,0x00000007,0x0004003b, +0x00000007,0x0000005e,0x00000007,0x0004003b, +0x00000007,0x00000066,0x00000007,0x0004003b, +0x00000007,0x0000006b,0x00000007,0x0004003d, +0x0000000c,0x0000001d,0x0000000f,0x0006000c, +0x0000000c,0x0000001e,0x00000001,0x00000008, +0x0000001d,0x0003003e,0x0000001c,0x0000001e, +0x0004003d,0x0000000c,0x00000020,0x0000000f, +0x0006000c,0x0000000c,0x00000021,0x00000001, +0x0000000a,0x00000020,0x0003003e,0x0000001f, +0x00000021,0x0004003d,0x0000000c,0x00000022, +0x0000001f,0x0004003d,0x0000000c,0x00000023, +0x0000001f,0x00050085,0x0000000c,0x00000024, +0x00000022,0x00000023,0x0004003d,0x0000000c, +0x00000027,0x0000001f,0x0005008e,0x0000000c, +0x00000028,0x00000027,0x00000026,0x00060050, +0x0000000c,0x00000029,0x00000025,0x00000025, +0x00000025,0x00050083,0x0000000c,0x0000002a, +0x00000029,0x00000028,0x00050085,0x0000000c, +0x0000002b,0x00000024,0x0000002a,0x0003003e, +0x0000001f,0x0000002b,0x00050041,0x00000007, +0x0000002f,0x0000001c,0x0000002e,0x0004003d, +0x00000006,0x00000030,0x0000002f,0x00050041, +0x00000007,0x00000032,0x0000001c,0x00000031, +0x0004003d,0x00000006,0x00000033,0x00000032, +0x00050085,0x00000006,0x00000035,0x00000033, +0x00000034,0x00050081,0x00000006,0x00000036, +0x00000030,0x00000035,0x00050041,0x00000007, +0x00000039,0x0000001c,0x00000038,0x0004003d, +0x00000006,0x0000003a,0x00000039,0x00050085, +0x00000006,0x0000003b,0x00000037,0x0000003a, +0x00050081,0x00000006,0x0000003c,0x00000036, +0x0000003b,0x0003003e,0x0000002c,0x0000003c, +0x0004003d,0x00000006,0x0000003e,0x0000002c, +0x0003003e,0x0000003d,0x0000003e,0x00050039, +0x00000006,0x0000003f,0x0000000a,0x0000003d, +0x0004003d,0x00000006,0x00000040,0x0000002c, +0x00050081,0x00000006,0x00000042,0x00000040, +0x00000041,0x0003003e,0x00000043,0x00000042, +0x00050039,0x00000006,0x00000044,0x0000000a, +0x00000043,0x00050041,0x00000007,0x00000045, +0x0000001f,0x0000002e,0x0004003d,0x00000006, +0x00000046,0x00000045,0x0008000c,0x00000006, +0x00000047,0x00000001,0x0000002e,0x0000003f, +0x00000044,0x00000046,0x0004003d,0x00000006, +0x00000048,0x0000002c,0x00050081,0x00000006, +0x00000049,0x00000048,0x00000034,0x0003003e, +0x0000004a,0x00000049,0x00050039,0x00000006, +0x0000004b,0x0000000a,0x0000004a,0x0004003d, +0x00000006,0x0000004c,0x0000002c,0x00050081, +0x00000006,0x0000004e,0x0000004c,0x0000004d, +0x0003003e,0x0000004f,0x0000004e,0x00050039, +0x00000006,0x00000050,0x0000000a,0x0000004f, +0x00050041,0x00000007,0x00000051,0x0000001f, +0x0000002e,0x0004003d,0x00000006,0x00000052, +0x00000051,0x0008000c,0x00000006,0x00000053, +0x00000001,0x0000002e,0x0000004b,0x00000050, +0x00000052,0x00050041,0x00000007,0x00000054, +0x0000001f,0x00000031,0x0004003d,0x00000006, +0x00000055,0x00000054,0x0008000c,0x00000006, +0x00000056,0x00000001,0x0000002e,0x00000047, +0x00000053,0x00000055,0x0004003d,0x00000006, +0x00000057,0x0000002c,0x00050081,0x00000006, +0x00000058,0x00000057,0x00000037,0x0003003e, +0x00000059,0x00000058,0x00050039,0x00000006, +0x0000005a,0x0000000a,0x00000059,0x0004003d, +0x00000006,0x0000005b,0x0000002c,0x00050081, +0x00000006,0x0000005d,0x0000005b,0x0000005c, +0x0003003e,0x0000005e,0x0000005d,0x00050039, +0x00000006,0x0000005f,0x0000000a,0x0000005e, +0x00050041,0x00000007,0x00000060,0x0000001f, +0x0000002e,0x0004003d,0x00000006,0x00000061, +0x00000060,0x0008000c,0x00000006,0x00000062, +0x00000001,0x0000002e,0x0000005a,0x0000005f, +0x00000061,0x0004003d,0x00000006,0x00000063, +0x0000002c,0x00050081,0x00000006,0x00000065, +0x00000063,0x00000064,0x0003003e,0x00000066, +0x00000065,0x00050039,0x00000006,0x00000067, +0x0000000a,0x00000066,0x0004003d,0x00000006, +0x00000068,0x0000002c,0x00050081,0x00000006, +0x0000006a,0x00000068,0x00000069,0x0003003e, +0x0000006b,0x0000006a,0x00050039,0x00000006, +0x0000006c,0x0000000a,0x0000006b,0x00050041, +0x00000007,0x0000006d,0x0000001f,0x0000002e, +0x0004003d,0x00000006,0x0000006e,0x0000006d, +0x0008000c,0x00000006,0x0000006f,0x00000001, +0x0000002e,0x00000067,0x0000006c,0x0000006e, +0x00050041,0x00000007,0x00000070,0x0000001f, +0x00000031,0x0004003d,0x00000006,0x00000071, +0x00000070,0x0008000c,0x00000006,0x00000072, +0x00000001,0x0000002e,0x00000062,0x0000006f, +0x00000071,0x00050041,0x00000007,0x00000073, +0x0000001f,0x00000038,0x0004003d,0x00000006, +0x00000074,0x00000073,0x0008000c,0x00000006, +0x00000075,0x00000001,0x0000002e,0x00000056, +0x00000072,0x00000074,0x000200fe,0x00000075, +0x00010038,0x00050036,0x00000006,0x00000013, +0x00000000,0x0000000e,0x00030037,0x0000000d, +0x00000012,0x000200f8,0x00000014,0x00050041, +0x00000007,0x00000078,0x00000012,0x00000038, +0x0004003d,0x00000006,0x00000079,0x00000078, +0x00050085,0x00000006,0x0000007a,0x00000079, +0x00000026,0x0006000c,0x00000006,0x0000007b, +0x00000001,0x0000000e,0x0000007a,0x000200fe, +0x0000007b,0x00010038} diff --git a/gfx/drivers/vulkan_shaders/ribbon_simple.frag.inc b/gfx/drivers/vulkan_shaders/ribbon_simple.frag.inc index d1280b3427..680f6600a5 100644 --- a/gfx/drivers/vulkan_shaders/ribbon_simple.frag.inc +++ b/gfx/drivers/vulkan_shaders/ribbon_simple.frag.inc @@ -1,34 +1,28 @@ -unsigned char ribbon_simple_frag_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x36, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3d, - 0x2c, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, - 0x38, 0x00, 0x01, 0x00 -}; -unsigned int ribbon_simple_frag_spv_len = 364; +{0x07230203,0x00010000,0x00080001,0x0000000d, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0006000f,0x00000004,0x00000004,0x6e69616d, +0x00000000,0x00000009,0x00030010,0x00000004, +0x00000007,0x00030003,0x00000001,0x00000136, +0x000a0004,0x475f4c47,0x4c474f4f,0x70635f45, +0x74735f70,0x5f656c79,0x656e696c,0x7269645f, +0x69746365,0x00006576,0x00080004,0x475f4c47, +0x4c474f4f,0x6e695f45,0x64756c63,0x69645f65, +0x74636572,0x00657669,0x00040005,0x00000004, +0x6e69616d,0x00000000,0x00050005,0x00000009, +0x67617246,0x6f6c6f43,0x00000072,0x00030047, +0x00000009,0x00000000,0x00040047,0x00000009, +0x0000001e,0x00000000,0x00020013,0x00000002, +0x00030021,0x00000003,0x00000002,0x00030016, +0x00000006,0x00000020,0x00040017,0x00000007, +0x00000006,0x00000004,0x00040020,0x00000008, +0x00000003,0x00000007,0x0004003b,0x00000008, +0x00000009,0x00000003,0x0004002b,0x00000006, +0x0000000a,0x3f800000,0x0004002b,0x00000006, +0x0000000b,0x3d4ccccd,0x0007002c,0x00000007, +0x0000000c,0x0000000a,0x0000000a,0x0000000a, +0x0000000b,0x00050036,0x00000002,0x00000004, +0x00000000,0x00000003,0x000200f8,0x00000005, +0x0003003e,0x00000009,0x0000000c,0x000100fd, +0x00010038} diff --git a/gfx/drivers/vulkan_shaders/ribbon_simple.vert.inc b/gfx/drivers/vulkan_shaders/ribbon_simple.vert.inc index 32c153f40b..6e12fa9062 100644 --- a/gfx/drivers/vulkan_shaders/ribbon_simple.vert.inc +++ b/gfx/drivers/vulkan_shaders/ribbon_simple.vert.inc @@ -1,341 +1,258 @@ -unsigned char ribbon_simple_vert_spv[] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x77, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x69, 0x71, 0x68, 0x61, - 0x73, 0x68, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x28, 0x76, 0x66, - 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x66, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3a, 0x00, 0x00, 0x00, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x47, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4c, 0x00, 0x00, 0x00, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x77, 0x00, 0x00, 0x00, 0x56, 0x65, 0x72, 0x74, - 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x7f, 0x00, 0x00, 0x00, 0x76, 0x32, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x55, 0x42, 0x4f, 0x00, 0x06, 0x00, 0x05, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x69, 0x6d, 0x65, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x85, 0x00, 0x00, 0x00, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa7, 0x00, 0x00, 0x00, - 0x67, 0x6c, 0x5f, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xa7, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x07, 0x00, 0xa7, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x77, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x85, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x85, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa7, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0xa7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x8c, 0xee, 0x2a, 0x47, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0x15, 0x00, 0x04, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x2a, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x2a, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x64, 0x42, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x42, 0x2b, 0x00, 0x04, 0x00, - 0x2a, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x42, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x42, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x2a, 0x43, 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x43, 0x20, 0x00, 0x04, 0x00, - 0x76, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x76, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x03, 0x00, 0x83, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x84, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x84, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, - 0x86, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x86, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x88, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, - 0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x40, 0x17, 0x00, 0x04, 0x00, 0xa6, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, - 0xa7, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0xa7, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xa8, 0x00, 0x00, 0x00, - 0xa9, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0xaf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x75, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x79, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, - 0x79, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x7c, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, - 0x7c, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, - 0x7d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x7f, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x82, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x88, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, - 0x87, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x8a, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x8c, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, - 0x7f, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x8d, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x35, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x8f, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x91, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x91, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, - 0x75, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, - 0x75, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, - 0x95, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, - 0x96, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x88, 0x00, 0x00, 0x00, - 0x98, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, - 0x98, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x9a, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, - 0x9a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, - 0x9d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0xa0, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x9f, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x9f, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xa3, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, - 0x9e, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa5, 0x00, 0x00, 0x00, - 0xa4, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0xaa, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xac, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, - 0xaa, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, - 0xa6, 0x00, 0x00, 0x00, 0xae, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, - 0xac, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0xaf, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, - 0xa9, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0xb0, 0x00, 0x00, 0x00, 0xae, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, - 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x8e, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x28, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, - 0x32, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x38, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x42, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x42, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x3c, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x3e, 0x00, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, - 0x49, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x4c, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x4c, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x4e, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x4e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, - 0x54, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, - 0x59, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5b, 0x00, 0x00, 0x00, - 0x5a, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x5c, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, - 0x5c, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, - 0x60, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x63, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x63, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x65, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, - 0x66, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x68, 0x00, 0x00, 0x00, - 0x67, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x69, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, - 0x69, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x6e, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, - 0x6e, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x72, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, - 0x53, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, - 0xfe, 0x00, 0x02, 0x00, 0x72, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00 -}; -unsigned int ribbon_simple_vert_spv_len = 4056; +{0x07230203,0x00010000,0x00080001,0x000000b1, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0007000f,0x00000000,0x00000004,0x6e69616d, +0x00000000,0x00000077,0x000000a9,0x00030003, +0x00000001,0x00000136,0x000a0004,0x475f4c47, +0x4c474f4f,0x70635f45,0x74735f70,0x5f656c79, +0x656e696c,0x7269645f,0x69746365,0x00006576, +0x00080004,0x475f4c47,0x4c474f4f,0x6e695f45, +0x64756c63,0x69645f65,0x74636572,0x00657669, +0x00040005,0x00000004,0x6e69616d,0x00000000, +0x00050005,0x0000000a,0x61687169,0x66286873, +0x00003b31,0x00030005,0x00000009,0x0000006e, +0x00050005,0x00000010,0x73696f6e,0x66762865, +0x00003b33,0x00030005,0x0000000f,0x00000078, +0x00030005,0x00000019,0x00000070,0x00030005, +0x0000001c,0x00000066,0x00030005,0x00000029, +0x0000006e,0x00040005,0x0000003a,0x61726170, +0x0000006d,0x00040005,0x00000040,0x61726170, +0x0000006d,0x00040005,0x00000047,0x61726170, +0x0000006d,0x00040005,0x0000004c,0x61726170, +0x0000006d,0x00040005,0x00000056,0x61726170, +0x0000006d,0x00040005,0x0000005b,0x61726170, +0x0000006d,0x00040005,0x00000063,0x61726170, +0x0000006d,0x00040005,0x00000068,0x61726170, +0x0000006d,0x00030005,0x00000075,0x00000076, +0x00050005,0x00000077,0x74726556,0x6f437865, +0x0064726f,0x00030005,0x0000007f,0x00003276, +0x00030005,0x00000083,0x004f4255,0x00050006, +0x00000083,0x00000000,0x656d6974,0x00000000, +0x00050005,0x00000085,0x736e6f63,0x746e6174, +0x00000073,0x00040005,0x0000009f,0x61726170, +0x0000006d,0x00060005,0x000000a7,0x505f6c67, +0x65567265,0x78657472,0x00000000,0x00060006, +0x000000a7,0x00000000,0x505f6c67,0x7469736f, +0x006e6f69,0x00070006,0x000000a7,0x00000001, +0x505f6c67,0x746e696f,0x657a6953,0x00000000, +0x00030005,0x000000a9,0x00000000,0x00040047, +0x00000077,0x0000001e,0x00000000,0x00050048, +0x00000083,0x00000000,0x00000023,0x00000000, +0x00030047,0x00000083,0x00000002,0x00040047, +0x00000085,0x00000022,0x00000000,0x00040047, +0x00000085,0x00000021,0x00000000,0x00050048, +0x000000a7,0x00000000,0x0000000b,0x00000000, +0x00050048,0x000000a7,0x00000001,0x0000000b, +0x00000001,0x00030047,0x000000a7,0x00000002, +0x00020013,0x00000002,0x00030021,0x00000003, +0x00000002,0x00030016,0x00000006,0x00000020, +0x00040020,0x00000007,0x00000007,0x00000006, +0x00040021,0x00000008,0x00000006,0x00000007, +0x00040017,0x0000000c,0x00000006,0x00000003, +0x00040020,0x0000000d,0x00000007,0x0000000c, +0x00040021,0x0000000e,0x00000006,0x0000000d, +0x0004002b,0x00000006,0x00000014,0x472aee8c, +0x0004002b,0x00000006,0x00000022,0x40400000, +0x0004002b,0x00000006,0x00000023,0x40000000, +0x00040015,0x0000002a,0x00000020,0x00000000, +0x0004002b,0x0000002a,0x0000002b,0x00000000, +0x0004002b,0x0000002a,0x0000002e,0x00000001, +0x0004002b,0x00000006,0x00000031,0x42640000, +0x0004002b,0x00000006,0x00000034,0x42e20000, +0x0004002b,0x0000002a,0x00000035,0x00000002, +0x0004002b,0x00000006,0x0000003e,0x3f800000, +0x0004002b,0x00000006,0x0000004a,0x42680000, +0x0004002b,0x00000006,0x00000059,0x42e40000, +0x0004002b,0x00000006,0x00000061,0x432a0000, +0x0004002b,0x00000006,0x00000066,0x432b0000, +0x00040020,0x00000076,0x00000001,0x0000000c, +0x0004003b,0x00000076,0x00000077,0x00000001, +0x00040020,0x00000078,0x00000001,0x00000006, +0x0004002b,0x00000006,0x0000007b,0x00000000, +0x0003001e,0x00000083,0x00000006,0x00040020, +0x00000084,0x00000002,0x00000083,0x0004003b, +0x00000084,0x00000085,0x00000002,0x00040015, +0x00000086,0x00000020,0x00000001,0x0004002b, +0x00000086,0x00000087,0x00000000,0x00040020, +0x00000088,0x00000002,0x00000006,0x0004002b, +0x00000006,0x0000009d,0x41200000,0x0004002b, +0x00000006,0x000000a2,0x40800000,0x00040017, +0x000000a6,0x00000006,0x00000004,0x0004001e, +0x000000a7,0x000000a6,0x00000006,0x00040020, +0x000000a8,0x00000003,0x000000a7,0x0004003b, +0x000000a8,0x000000a9,0x00000003,0x00040020, +0x000000af,0x00000003,0x000000a6,0x00050036, +0x00000002,0x00000004,0x00000000,0x00000003, +0x000200f8,0x00000005,0x0004003b,0x0000000d, +0x00000075,0x00000007,0x0004003b,0x0000000d, +0x0000007f,0x00000007,0x0004003b,0x0000000d, +0x0000009f,0x00000007,0x00050041,0x00000078, +0x00000079,0x00000077,0x0000002b,0x0004003d, +0x00000006,0x0000007a,0x00000079,0x00050041, +0x00000078,0x0000007c,0x00000077,0x0000002e, +0x0004003d,0x00000006,0x0000007d,0x0000007c, +0x00060050,0x0000000c,0x0000007e,0x0000007a, +0x0000007b,0x0000007d,0x0003003e,0x00000075, +0x0000007e,0x0004003d,0x0000000c,0x00000080, +0x00000075,0x0003003e,0x0000007f,0x00000080, +0x00050041,0x00000007,0x00000081,0x0000007f, +0x0000002b,0x0004003d,0x00000006,0x00000082, +0x00000081,0x00050041,0x00000088,0x00000089, +0x00000085,0x00000087,0x0004003d,0x00000006, +0x0000008a,0x00000089,0x00050088,0x00000006, +0x0000008b,0x0000008a,0x00000023,0x00050081, +0x00000006,0x0000008c,0x00000082,0x0000008b, +0x00050041,0x00000007,0x0000008d,0x0000007f, +0x0000002b,0x0003003e,0x0000008d,0x0000008c, +0x00050041,0x00000007,0x0000008e,0x00000075, +0x00000035,0x0004003d,0x00000006,0x0000008f, +0x0000008e,0x00050085,0x00000006,0x00000090, +0x0000008f,0x00000022,0x00050041,0x00000007, +0x00000091,0x0000007f,0x00000035,0x0003003e, +0x00000091,0x00000090,0x00050041,0x00000007, +0x00000092,0x00000075,0x0000002b,0x0004003d, +0x00000006,0x00000093,0x00000092,0x00050041, +0x00000007,0x00000094,0x00000075,0x00000035, +0x0004003d,0x00000006,0x00000095,0x00000094, +0x00050088,0x00000006,0x00000096,0x00000095, +0x00000022,0x00050081,0x00000006,0x00000097, +0x00000093,0x00000096,0x00050041,0x00000088, +0x00000098,0x00000085,0x00000087,0x0004003d, +0x00000006,0x00000099,0x00000098,0x00050081, +0x00000006,0x0000009a,0x00000097,0x00000099, +0x00050085,0x00000006,0x0000009b,0x0000009a, +0x00000023,0x0006000c,0x00000006,0x0000009c, +0x00000001,0x0000000e,0x0000009b,0x00050088, +0x00000006,0x0000009e,0x0000009c,0x0000009d, +0x0004003d,0x0000000c,0x000000a0,0x0000007f, +0x0003003e,0x0000009f,0x000000a0,0x00050039, +0x00000006,0x000000a1,0x00000010,0x0000009f, +0x00050088,0x00000006,0x000000a3,0x000000a1, +0x000000a2,0x00050081,0x00000006,0x000000a4, +0x0000009e,0x000000a3,0x00050041,0x00000007, +0x000000a5,0x00000075,0x0000002e,0x0003003e, +0x000000a5,0x000000a4,0x0004003d,0x0000000c, +0x000000aa,0x00000075,0x00050051,0x00000006, +0x000000ab,0x000000aa,0x00000000,0x00050051, +0x00000006,0x000000ac,0x000000aa,0x00000001, +0x00050051,0x00000006,0x000000ad,0x000000aa, +0x00000002,0x00070050,0x000000a6,0x000000ae, +0x000000ab,0x000000ac,0x000000ad,0x0000003e, +0x00050041,0x000000af,0x000000b0,0x000000a9, +0x00000087,0x0003003e,0x000000b0,0x000000ae, +0x000100fd,0x00010038,0x00050036,0x00000006, +0x0000000a,0x00000000,0x00000008,0x00030037, +0x00000007,0x00000009,0x000200f8,0x0000000b, +0x0004003d,0x00000006,0x00000012,0x00000009, +0x0006000c,0x00000006,0x00000013,0x00000001, +0x0000000d,0x00000012,0x00050085,0x00000006, +0x00000015,0x00000013,0x00000014,0x0006000c, +0x00000006,0x00000016,0x00000001,0x0000000a, +0x00000015,0x000200fe,0x00000016,0x00010038, +0x00050036,0x00000006,0x00000010,0x00000000, +0x0000000e,0x00030037,0x0000000d,0x0000000f, +0x000200f8,0x00000011,0x0004003b,0x0000000d, +0x00000019,0x00000007,0x0004003b,0x0000000d, +0x0000001c,0x00000007,0x0004003b,0x00000007, +0x00000029,0x00000007,0x0004003b,0x00000007, +0x0000003a,0x00000007,0x0004003b,0x00000007, +0x00000040,0x00000007,0x0004003b,0x00000007, +0x00000047,0x00000007,0x0004003b,0x00000007, +0x0000004c,0x00000007,0x0004003b,0x00000007, +0x00000056,0x00000007,0x0004003b,0x00000007, +0x0000005b,0x00000007,0x0004003b,0x00000007, +0x00000063,0x00000007,0x0004003b,0x00000007, +0x00000068,0x00000007,0x0004003d,0x0000000c, +0x0000001a,0x0000000f,0x0006000c,0x0000000c, +0x0000001b,0x00000001,0x00000008,0x0000001a, +0x0003003e,0x00000019,0x0000001b,0x0004003d, +0x0000000c,0x0000001d,0x0000000f,0x0006000c, +0x0000000c,0x0000001e,0x00000001,0x0000000a, +0x0000001d,0x0003003e,0x0000001c,0x0000001e, +0x0004003d,0x0000000c,0x0000001f,0x0000001c, +0x0004003d,0x0000000c,0x00000020,0x0000001c, +0x00050085,0x0000000c,0x00000021,0x0000001f, +0x00000020,0x0004003d,0x0000000c,0x00000024, +0x0000001c,0x0005008e,0x0000000c,0x00000025, +0x00000024,0x00000023,0x00060050,0x0000000c, +0x00000026,0x00000022,0x00000022,0x00000022, +0x00050083,0x0000000c,0x00000027,0x00000026, +0x00000025,0x00050085,0x0000000c,0x00000028, +0x00000021,0x00000027,0x0003003e,0x0000001c, +0x00000028,0x00050041,0x00000007,0x0000002c, +0x00000019,0x0000002b,0x0004003d,0x00000006, +0x0000002d,0x0000002c,0x00050041,0x00000007, +0x0000002f,0x00000019,0x0000002e,0x0004003d, +0x00000006,0x00000030,0x0000002f,0x00050085, +0x00000006,0x00000032,0x00000030,0x00000031, +0x00050081,0x00000006,0x00000033,0x0000002d, +0x00000032,0x00050041,0x00000007,0x00000036, +0x00000019,0x00000035,0x0004003d,0x00000006, +0x00000037,0x00000036,0x00050085,0x00000006, +0x00000038,0x00000034,0x00000037,0x00050081, +0x00000006,0x00000039,0x00000033,0x00000038, +0x0003003e,0x00000029,0x00000039,0x0004003d, +0x00000006,0x0000003b,0x00000029,0x0003003e, +0x0000003a,0x0000003b,0x00050039,0x00000006, +0x0000003c,0x0000000a,0x0000003a,0x0004003d, +0x00000006,0x0000003d,0x00000029,0x00050081, +0x00000006,0x0000003f,0x0000003d,0x0000003e, +0x0003003e,0x00000040,0x0000003f,0x00050039, +0x00000006,0x00000041,0x0000000a,0x00000040, +0x00050041,0x00000007,0x00000042,0x0000001c, +0x0000002b,0x0004003d,0x00000006,0x00000043, +0x00000042,0x0008000c,0x00000006,0x00000044, +0x00000001,0x0000002e,0x0000003c,0x00000041, +0x00000043,0x0004003d,0x00000006,0x00000045, +0x00000029,0x00050081,0x00000006,0x00000046, +0x00000045,0x00000031,0x0003003e,0x00000047, +0x00000046,0x00050039,0x00000006,0x00000048, +0x0000000a,0x00000047,0x0004003d,0x00000006, +0x00000049,0x00000029,0x00050081,0x00000006, +0x0000004b,0x00000049,0x0000004a,0x0003003e, +0x0000004c,0x0000004b,0x00050039,0x00000006, +0x0000004d,0x0000000a,0x0000004c,0x00050041, +0x00000007,0x0000004e,0x0000001c,0x0000002b, +0x0004003d,0x00000006,0x0000004f,0x0000004e, +0x0008000c,0x00000006,0x00000050,0x00000001, +0x0000002e,0x00000048,0x0000004d,0x0000004f, +0x00050041,0x00000007,0x00000051,0x0000001c, +0x0000002e,0x0004003d,0x00000006,0x00000052, +0x00000051,0x0008000c,0x00000006,0x00000053, +0x00000001,0x0000002e,0x00000044,0x00000050, +0x00000052,0x0004003d,0x00000006,0x00000054, +0x00000029,0x00050081,0x00000006,0x00000055, +0x00000054,0x00000034,0x0003003e,0x00000056, +0x00000055,0x00050039,0x00000006,0x00000057, +0x0000000a,0x00000056,0x0004003d,0x00000006, +0x00000058,0x00000029,0x00050081,0x00000006, +0x0000005a,0x00000058,0x00000059,0x0003003e, +0x0000005b,0x0000005a,0x00050039,0x00000006, +0x0000005c,0x0000000a,0x0000005b,0x00050041, +0x00000007,0x0000005d,0x0000001c,0x0000002b, +0x0004003d,0x00000006,0x0000005e,0x0000005d, +0x0008000c,0x00000006,0x0000005f,0x00000001, +0x0000002e,0x00000057,0x0000005c,0x0000005e, +0x0004003d,0x00000006,0x00000060,0x00000029, +0x00050081,0x00000006,0x00000062,0x00000060, +0x00000061,0x0003003e,0x00000063,0x00000062, +0x00050039,0x00000006,0x00000064,0x0000000a, +0x00000063,0x0004003d,0x00000006,0x00000065, +0x00000029,0x00050081,0x00000006,0x00000067, +0x00000065,0x00000066,0x0003003e,0x00000068, +0x00000067,0x00050039,0x00000006,0x00000069, +0x0000000a,0x00000068,0x00050041,0x00000007, +0x0000006a,0x0000001c,0x0000002b,0x0004003d, +0x00000006,0x0000006b,0x0000006a,0x0008000c, +0x00000006,0x0000006c,0x00000001,0x0000002e, +0x00000064,0x00000069,0x0000006b,0x00050041, +0x00000007,0x0000006d,0x0000001c,0x0000002e, +0x0004003d,0x00000006,0x0000006e,0x0000006d, +0x0008000c,0x00000006,0x0000006f,0x00000001, +0x0000002e,0x0000005f,0x0000006c,0x0000006e, +0x00050041,0x00000007,0x00000070,0x0000001c, +0x00000035,0x0004003d,0x00000006,0x00000071, +0x00000070,0x0008000c,0x00000006,0x00000072, +0x00000001,0x0000002e,0x00000053,0x0000006f, +0x00000071,0x000200fe,0x00000072,0x00010038} diff --git a/gfx/drivers_shader/shader_vulkan.cpp b/gfx/drivers_shader/shader_vulkan.cpp index cd60cb65ae..b055687023 100644 --- a/gfx/drivers_shader/shader_vulkan.cpp +++ b/gfx/drivers_shader/shader_vulkan.cpp @@ -21,14 +21,20 @@ #include #include #include -#include "../drivers/vulkan_shaders/opaque.vert.inc" -#include "../drivers/vulkan_shaders/opaque.frag.inc" #include "../video_shader_driver.h" #include "../../verbosity.h" #include "slang_reflection.hpp" using namespace std; +static const uint32_t opaque_vert[] = +#include "../drivers/vulkan_shaders/opaque.vert.inc" +; + +static const uint32_t opaque_frag[] = +#include "../drivers/vulkan_shaders/opaque.frag.inc" +; + static void image_layout_transition( VkCommandBuffer cmd, VkImage image, VkImageLayout old_layout, VkImageLayout new_layout, @@ -1643,7 +1649,7 @@ void Pass::build_commands( if (reflection.ubo_stage_mask) { - set_uniform_buffer(sets[sync_index], 0, + set_uniform_buffer(sets[sync_index], reflection.ubo_binding, common->ubo->get_buffer(), ubo_offset, reflection.ubo_size); } @@ -2008,11 +2014,11 @@ vulkan_filter_chain_t *vulkan_filter_chain_create_default( chain->set_pass_info(0, pass_info); chain->set_shader(0, VK_SHADER_STAGE_VERTEX_BIT, - (const uint32_t*)opaque_vert_spv, - opaque_vert_spv_len / sizeof(uint32_t)); + opaque_vert, + sizeof(opaque_vert) / sizeof(uint32_t)); chain->set_shader(0, VK_SHADER_STAGE_FRAGMENT_BIT, - (const uint32_t*)opaque_frag_spv, - opaque_frag_spv_len / sizeof(uint32_t)); + opaque_frag, + sizeof(opaque_frag) / sizeof(uint32_t)); if (!chain->init()) return nullptr; @@ -2241,13 +2247,13 @@ vulkan_filter_chain_t *vulkan_filter_chain_create_from_preset( chain->set_shader(shader->passes, VK_SHADER_STAGE_VERTEX_BIT, - (const uint32_t*)opaque_vert_spv, - opaque_vert_spv_len / sizeof(uint32_t)); + opaque_vert, + sizeof(opaque_vert) / sizeof(uint32_t)); chain->set_shader(shader->passes, VK_SHADER_STAGE_FRAGMENT_BIT, - (const uint32_t*)opaque_frag_spv, - opaque_frag_spv_len / sizeof(uint32_t)); + opaque_frag, + sizeof(opaque_frag) / sizeof(uint32_t)); } chain->set_shader_preset(move(shader)); diff --git a/griffin/griffin_cpp.cpp b/griffin/griffin_cpp.cpp index c125f0e2ff..c9eefca3a5 100644 --- a/griffin/griffin_cpp.cpp +++ b/griffin/griffin_cpp.cpp @@ -35,10 +35,19 @@ #include "../deps/glslang/glslang/SPIRV/doc.cpp" #include "../deps/glslang/glslang/SPIRV/GlslangToSpv.cpp" #include "../deps/glslang/glslang/SPIRV/disassemble.cpp" +#include "../deps/glslang/glslang/SPIRV/logger.cpp" #include "../deps/glslang/glslang/glslang/GenericCodeGen/Link.cpp" #include "../deps/glslang/glslang/glslang/GenericCodeGen/CodeGen.cpp" +#include "../deps/glslang/glslang/hlsl/hlslGrammar.cpp" +#include "../deps/glslang/glslang/hlsl/hlslOpMap.cpp" +#include "../deps/glslang/glslang/hlsl/hlslTokenStream.cpp" +#include "../deps/glslang/glslang/hlsl/hlslScanContext.cpp" +#include "../deps/glslang/glslang/hlsl/hlslParseHelper.cpp" +#include "../deps/glslang/glslang/hlsl/hlslParseables.cpp" +#include "../deps/glslang/glslang/glslang/GenericCodeGen/CodeGen.cpp" #include "../deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp" #include "../deps/glslang/glslang/glslang/MachineIndependent/Intermediate.cpp" +#include "../deps/glslang/glslang/glslang/MachineIndependent/propagateNoContraction.cpp" #include "../deps/glslang/glslang/glslang/MachineIndependent/Versions.cpp" #include "../deps/glslang/glslang/glslang/MachineIndependent/RemoveTree.cpp" #include "../deps/glslang/glslang/glslang/MachineIndependent/limits.cpp" diff --git a/libretro-common/include/libretro.h b/libretro-common/include/libretro.h index d5c3876fdc..e6809262a8 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -955,6 +955,27 @@ struct retro_hw_render_interface * This must be called before the first call to retro_run. */ +enum retro_hw_render_context_negotiation_interface_type +{ + RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN = 0, + RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_DUMMY = INT_MAX +}; + +/* Base struct. All retro_hw_render_context_negotiation_interface_* types + * contain at least these fields. */ +struct retro_hw_render_context_negotiation_interface +{ + enum retro_hw_render_context_negotiation_interface_type interface_type; + unsigned interface_version; +}; +#define RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE (43 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* const struct retro_hw_render_context_negotiation_interface * -- + * Sets an interface which lets the libretro core negotiate with frontend how a context is created. + * The semantics of this interface depends on which API is used in SET_HW_RENDER earlier. + * This interface will be used when the frontend is trying to create a HW rendering context, + * so it will be used after SET_HW_RENDER, but before the context_reset callback. + */ + #define RETRO_MEMDESC_CONST (1 << 0) /* The frontend will never change this memory area once retro_load_game has returned. */ #define RETRO_MEMDESC_BIGENDIAN (1 << 1) /* The memory area contains big endian data. Default is little endian. */ #define RETRO_MEMDESC_ALIGN_2 (1 << 16) /* All memory access in this area is aligned to their own size, or 2, whichever is smaller. */ diff --git a/libretro-common/include/libretro_vulkan.h b/libretro-common/include/libretro_vulkan.h index 55375e1399..c7e2586e2d 100644 --- a/libretro-common/include/libretro_vulkan.h +++ b/libretro-common/include/libretro_vulkan.h @@ -26,7 +26,8 @@ #include #include -#define RETRO_HW_RENDER_INTERFACE_VULKAN_VERSION 2 +#define RETRO_HW_RENDER_INTERFACE_VULKAN_VERSION 3 +#define RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN_VERSION 1 struct retro_vulkan_image { @@ -38,7 +39,9 @@ struct retro_vulkan_image typedef void (*retro_vulkan_set_image_t)(void *handle, const struct retro_vulkan_image *image, uint32_t num_semaphores, - const VkSemaphore *semaphores); + const VkSemaphore *semaphores, + uint32_t src_queue_family); + typedef uint32_t (*retro_vulkan_get_sync_index_t)(void *handle); typedef uint32_t (*retro_vulkan_get_sync_index_mask_t)(void *handle); typedef void (*retro_vulkan_set_command_buffers_t)(void *handle, @@ -48,6 +51,24 @@ typedef void (*retro_vulkan_wait_sync_index_t)(void *handle); typedef void (*retro_vulkan_lock_queue_t)(void *handle); typedef void (*retro_vulkan_unlock_queue_t)(void *handle); +struct retro_vulkan_context +{ + VkPhysicalDevice gpu; + VkDevice device; + VkQueue queue; + uint32_t queue_family_index; +}; + +typedef void *(*retro_vulkan_create_device_t)( + struct retro_vulkan_context *context, + VkInstance instance, + PFN_vkGetInstanceProcAddr get_proc_addr, + const char **required_device_extensions, + unsigned num_required_device_extensions, + const VkPhysicalDeviceFeatures *required_features); + +typedef void (*retro_vulkan_destroy_handle_t)(void *data); + /* Note on thread safety: * The Vulkan API is heavily designed around multi-threading, and * the libretro interface for it should also be threading friendly. @@ -55,6 +76,17 @@ typedef void (*retro_vulkan_unlock_queue_t)(void *handle); * command buffers to the GPU from any thread. */ +struct retro_hw_render_context_negotiation_interface_vulkan +{ + /* Must be set to RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN. */ + enum retro_hw_render_interface_type interface_type; + /* Must be set to RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN_VERSION. */ + unsigned interface_version; + + retro_vulkan_create_device_t create_device; + retro_vulkan_destroy_handle_t destroy_handle; +}; + struct retro_hw_render_interface_vulkan { /* Must be set to RETRO_HW_RENDER_INTERFACE_VULKAN. */ @@ -76,6 +108,11 @@ struct retro_hw_render_interface_vulkan */ void *handle; + /* An opaque handle that is used to pass data from context negotiation interface + * to the hardware interface. + */ + void *core_handle; + /* The Vulkan instance the context is using. */ VkInstance instance; /* The physical device used. */ @@ -105,6 +142,15 @@ struct retro_hw_render_interface_vulkan * semaphores provided to be signaled before using the results further * in the pipeline. * + * Semaphores provided by a single call to set_image will only be + * waited for once (waiting for a semaphore resets it). + * E.g. set_image, video_refresh, and then another + * video_refresh without set_image, + * but same image will only wait for semaphores once. + * + * For this reason, ownership transfer will only occur if semaphores + * are waited on for a particular frame in the frontend. + * * Using semaphores is optional for synchronization purposes, * but if not using * semaphores, an image memory barrier in vkCmdPipelineBarrier @@ -163,7 +209,41 @@ struct retro_hw_render_interface_vulkan * retro_video_refresh_t should be extended if frame duping is used * so that the frontend can reuse the older pointer. * - * If frame duping is used, the frontend will not wait for any semaphores. + * The image itself however, must not be touched by the core until + * wait_sync_index has been completed later. The frontend may perform + * layout transitions on the image, so even read-only access is not defined. + * The exception to read-only rule is if GENERAL layout is used for the image. + * In this case, the frontend is not allowed to perform any layout transitions, + * so concurrent reads from core and frontend are allowed. + * + * If frame duping is used, or if set_command_buffers is used, + * the frontend will not wait for any semaphores. + * + * The src_queue_family is used to specify which queue family + * the image is currently owned by. If using multiple queue families + * (e.g. async compute), the frontend will need to acquire ownership of the + * image before rendering with it and release the image afterwards. + * + * If src_queue_family is equal to the queue family (queue_index), + * no ownership transfer will occur. + * Similarly, if src_queue_family is VK_QUEUE_FAMILY_IGNORED, + * no ownership transfer will occur. + * + * The frontend will always release ownership back to src_queue_family. + * Waiting for frontend to complete with wait_sync_index() ensures that + * the frontend has released ownership back to the application. + * Note that in Vulkan, transfering ownership is a two-part process. + * + * Example frame: + * - core releases ownership from src_queue_index to queue_index with VkImageMemoryBarrier. + * - core calls set_image with src_queue_index. + * - Frontend will acquire the image with src_queue_index -> queue_index as well, completing the ownership transfer. + * - Frontend renders the frame. + * - Frontend releases ownership with queue_index -> src_queue_index. + * - Next time image is used, core must acquire ownership from queue_index ... + * + * Since the frontend releases ownership, we cannot necessarily dupe the frame because + * the core needs to make the roundtrip of ownership transfer. */ retro_vulkan_set_image_t set_image; diff --git a/menu/menu_display.c b/menu/menu_display.c index 33e2714bc7..9d7ee40639 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -598,6 +598,9 @@ void menu_display_allocate_white_texture(void) ti.height = 1; ti.pixels = (uint32_t*)&white_data; + if (menu_display_white_texture) + video_driver_texture_unload(&menu_display_white_texture); + video_driver_texture_load(&ti, TEXTURE_FILTER_NEAREST, &menu_display_white_texture); } diff --git a/pkg/android/phoenix/jni/Android.mk b/pkg/android/phoenix/jni/Android.mk index f9cba21737..8bc79f5210 100644 --- a/pkg/android/phoenix/jni/Android.mk +++ b/pkg/android/phoenix/jni/Android.mk @@ -83,8 +83,10 @@ LOCAL_CPPFLAGS += -I$(LOCAL_PATH)/$(RARCH_DIR)/deps/glslang \ -I$(LOCAL_PATH)/$(RARCH_DIR)/deps/spir2cross \ -I$(LOCAL_PATH)/$(RARCH_DIR)/deps/SPIRV-Cross +LOCAL_CFLAGS += -Wno-sign-compare -Wno-unused-variable -Wno-parentheses LOCAL_SRC_FILES += $(RARCH_DIR)/deps/glslang/glslang.cpp \ $(RARCH_DIR)/deps/glslang/glslang/SPIRV/SpvBuilder.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/SPIRV/Logger.cpp \ $(RARCH_DIR)/deps/glslang/glslang/SPIRV/SPVRemapper.cpp \ $(RARCH_DIR)/deps/glslang/glslang/SPIRV/InReadableOrder.cpp \ $(RARCH_DIR)/deps/glslang/glslang/SPIRV/doc.cpp \ @@ -93,7 +95,14 @@ LOCAL_SRC_FILES += $(RARCH_DIR)/deps/glslang/glslang.cpp \ $(RARCH_DIR)/deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp \ $(RARCH_DIR)/deps/glslang/glslang/glslang/GenericCodeGen/Link.cpp \ $(RARCH_DIR)/deps/glslang/glslang/glslang/GenericCodeGen/CodeGen.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/hlsl/hlslGrammar.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/hlsl/hlslOpMap.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/hlsl/hlslTokenStream.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/hlsl/hlslScanContext.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/hlsl/hlslParseHelper.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/hlsl/hlslParseables.cpp \ $(RARCH_DIR)/deps/glslang/glslang/glslang/MachineIndependent/Intermediate.cpp \ + $(RARCH_DIR)/deps/glslang/glslang/glslang/MachineIndependent/propagateNoContraction.cpp \ $(RARCH_DIR)/deps/glslang/glslang/glslang/MachineIndependent/glslang_tab.cpp \ $(RARCH_DIR)/deps/glslang/glslang/glslang/MachineIndependent/Versions.cpp \ $(RARCH_DIR)/deps/glslang/glslang/glslang/MachineIndependent/RemoveTree.cpp \