From a1124b8ded2505b7805fa12c732b5a7f0d48331b Mon Sep 17 00:00:00 2001 From: hunterk Date: Mon, 20 Feb 2017 22:59:05 -0600 Subject: [PATCH] (Vulkan) add bokeh menu shader for vulkan --- gfx/common/vulkan_common.h | 2 +- gfx/drivers/vulkan.c | 14 + .../vulkan_shaders/pipeline_bokeh.frag | 39 ++ .../vulkan_shaders/pipeline_bokeh.frag.inc | 407 ++++++++++++++++++ menu/drivers_display/menu_display_vulkan.c | 8 +- 5 files changed, 466 insertions(+), 4 deletions(-) create mode 100644 gfx/drivers/vulkan_shaders/pipeline_bokeh.frag create mode 100644 gfx/drivers/vulkan_shaders/pipeline_bokeh.frag.inc diff --git a/gfx/common/vulkan_common.h b/gfx/common/vulkan_common.h index 62f0be77c0..a849d40410 100644 --- a/gfx/common/vulkan_common.h +++ b/gfx/common/vulkan_common.h @@ -331,7 +331,7 @@ typedef struct vk struct { bool blend; - VkPipeline pipelines[6 * 2]; + VkPipeline pipelines[7 * 2]; struct vk_texture blank_texture; } display; diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index 5756f8615f..1315f3fa53 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -233,6 +233,10 @@ static void vulkan_init_pipelines( #include "vulkan_shaders/pipeline_snow.frag.inc" ; + static const uint32_t pipeline_bokeh_frag[] = +#include "vulkan_shaders/pipeline_bokeh.frag.inc" + ; + unsigned i; VkPipelineInputAssemblyStateCreateInfo input_assembly = { VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO }; @@ -422,6 +426,11 @@ static void vulkan_init_pipelines( module_info.pCode = alpha_blend_vert; break; + case 4: + module_info.codeSize = sizeof(alpha_blend_vert); + module_info.pCode = alpha_blend_vert; + break; + default: retro_assert(0 && "No shader for menu pipeline."); break; @@ -454,6 +463,11 @@ static void vulkan_init_pipelines( module_info.pCode = pipeline_snow_frag; break; + case 4: + module_info.codeSize = sizeof(pipeline_bokeh_frag); + module_info.pCode = pipeline_bokeh_frag; + break; + default: retro_assert(0 && "No shader for menu pipeline."); break; diff --git a/gfx/drivers/vulkan_shaders/pipeline_bokeh.frag b/gfx/drivers/vulkan_shaders/pipeline_bokeh.frag new file mode 100644 index 0000000000..49de9edeb5 --- /dev/null +++ b/gfx/drivers/vulkan_shaders/pipeline_bokeh.frag @@ -0,0 +1,39 @@ +#version 310 es +precision mediump float; + +layout(std140, set = 0, binding = 0) uniform UBO +{ + mat4 MVP; + vec2 OutputSize; + float time; +} constants; + +layout(location = 0) out vec4 FragColor; + +void main(void) +{ + + float speed = constants.time * 4.0; + vec2 uv = -1.0 + 2.0 * gl_FragCoord.xy / constants.OutputSize; + uv.x *= constants.OutputSize.x / constants.OutputSize.y; + vec3 color = vec3(0.0); + +for( int i=0; i < 8; i++ ) + { + float pha = sin(float(i) * 546.13 + 1.0) * 0.5 + 0.5; + float siz = pow(sin(float(i) * 651.74 + 5.0) * 0.5 + 0.5, 4.0); + float pox = sin(float(i) * 321.55 + 4.1) * constants.OutputSize.x / constants.OutputSize.y; + float rad = 0.1 + 0.5 * siz + sin(pha + siz) / 4.0; + vec2 pos = vec2(pox + sin(speed / 15. + pha + siz), - 1.0 - rad + (2.0 + 2.0 * rad) * fract(pha + 0.3 * (speed / 7.) * (0.2 + 0.8 * siz))); + float dis = length(uv - pos); + if(dis < rad) + { + vec3 col = mix(vec3(0.194 * sin(speed / 6.0) + 0.3, 0.2, 0.3 * pha), vec3(1.1 * sin(speed / 9.0) + 0.3, 0.2 * pha, 0.4), 0.5 + 0.5 * sin(float(i))); + color += col.zyx * (1.0 - smoothstep(rad * 0.15, rad, dis)); + } + } + color *= sqrt(1.5 - 0.5 * length(uv)); + FragColor = vec4(color.r, color.g, color.b , 0.5); +} + + diff --git a/gfx/drivers/vulkan_shaders/pipeline_bokeh.frag.inc b/gfx/drivers/vulkan_shaders/pipeline_bokeh.frag.inc new file mode 100644 index 0000000000..5be8214581 --- /dev/null +++ b/gfx/drivers/vulkan_shaders/pipeline_bokeh.frag.inc @@ -0,0 +1,407 @@ +{0x07230203,0x00010000,0x000d0001,0x000000da, +0x00000000,0x00020011,0x00000001,0x0006000b, +0x00000001,0x4c534c47,0x6474732e,0x3035342e, +0x00000000,0x0003000e,0x00000000,0x00000001, +0x0007000f,0x00000004,0x00000004,0x6e69616d, +0x00000000,0x0000001b,0x000000d1,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,0x00040005, +0x00000008,0x65657073,0x00000064,0x00030005, +0x0000000c,0x004f4255,0x00040006,0x0000000c, +0x00000000,0x0050564d,0x00060006,0x0000000c, +0x00000001,0x7074754f,0x69537475,0x0000657a, +0x00050006,0x0000000c,0x00000002,0x656d6974, +0x00000000,0x00050005,0x0000000e,0x736e6f63, +0x746e6174,0x00000073,0x00030005,0x00000017, +0x00007675,0x00060005,0x0000001b,0x465f6c67, +0x43676172,0x64726f6f,0x00000000,0x00040005, +0x00000034,0x6f6c6f63,0x00000072,0x00030005, +0x00000038,0x00000069,0x00030005,0x00000043, +0x00616870,0x00030005,0x0000004e,0x007a6973, +0x00030005,0x00000059,0x00786f70,0x00030005, +0x00000067,0x00646172,0x00030005,0x00000072, +0x00736f70,0x00030005,0x00000093,0x00736964, +0x00030005,0x0000009d,0x006c6f63,0x00050005, +0x000000d1,0x67617246,0x6f6c6f43,0x00000072, +0x00030047,0x00000008,0x00000000,0x00040048, +0x0000000c,0x00000000,0x00000005,0x00040048, +0x0000000c,0x00000000,0x00000000,0x00050048, +0x0000000c,0x00000000,0x00000023,0x00000000, +0x00050048,0x0000000c,0x00000000,0x00000007, +0x00000010,0x00040048,0x0000000c,0x00000001, +0x00000000,0x00050048,0x0000000c,0x00000001, +0x00000023,0x00000040,0x00040048,0x0000000c, +0x00000002,0x00000000,0x00050048,0x0000000c, +0x00000002,0x00000023,0x00000048,0x00030047, +0x0000000c,0x00000002,0x00040047,0x0000000e, +0x00000022,0x00000000,0x00040047,0x0000000e, +0x00000021,0x00000000,0x00030047,0x00000013, +0x00000000,0x00030047,0x00000015,0x00000000, +0x00030047,0x00000017,0x00000000,0x00040047, +0x0000001b,0x0000000b,0x0000000f,0x00030047, +0x00000022,0x00000000,0x00030047,0x00000029, +0x00000000,0x00030047,0x0000002c,0x00000000, +0x00030047,0x0000002d,0x00000000,0x00030047, +0x0000002f,0x00000000,0x00030047,0x00000030, +0x00000000,0x00030047,0x00000034,0x00000000, +0x00030047,0x00000038,0x00000000,0x00030047, +0x0000003f,0x00000000,0x00030047,0x00000043, +0x00000000,0x00030047,0x00000044,0x00000000, +0x00030047,0x00000045,0x00000000,0x00030047, +0x00000047,0x00000000,0x00030047,0x00000049, +0x00000000,0x00030047,0x0000004a,0x00000000, +0x00030047,0x0000004c,0x00000000,0x00030047, +0x0000004d,0x00000000,0x00030047,0x0000004e, +0x00000000,0x00030047,0x0000004f,0x00000000, +0x00030047,0x00000050,0x00000000,0x00030047, +0x00000052,0x00000000,0x00030047,0x00000054, +0x00000000,0x00030047,0x00000055,0x00000000, +0x00030047,0x00000056,0x00000000,0x00030047, +0x00000057,0x00000000,0x00030047,0x00000058, +0x00000000,0x00030047,0x00000059,0x00000000, +0x00030047,0x0000005a,0x00000000,0x00030047, +0x0000005b,0x00000000,0x00030047,0x0000005d, +0x00000000,0x00030047,0x0000005f,0x00000000, +0x00030047,0x00000060,0x00000000,0x00030047, +0x00000062,0x00000000,0x00030047,0x00000063, +0x00000000,0x00030047,0x00000065,0x00000000, +0x00030047,0x00000066,0x00000000,0x00030047, +0x00000067,0x00000000,0x00030047,0x00000069, +0x00000000,0x00030047,0x0000006a,0x00000000, +0x00030047,0x0000006b,0x00000000,0x00030047, +0x0000006c,0x00000000,0x00030047,0x0000006d, +0x00000000,0x00030047,0x0000006e,0x00000000, +0x00030047,0x0000006f,0x00000000,0x00030047, +0x00000070,0x00000000,0x00030047,0x00000071, +0x00000000,0x00030047,0x00000072,0x00000000, +0x00030047,0x00000073,0x00000000,0x00030047, +0x00000074,0x00000000,0x00030047,0x00000076, +0x00000000,0x00030047,0x00000077,0x00000000, +0x00030047,0x00000078,0x00000000,0x00030047, +0x00000079,0x00000000,0x00030047,0x0000007a, +0x00000000,0x00030047,0x0000007b,0x00000000, +0x00030047,0x0000007c,0x00000000,0x00030047, +0x0000007d,0x00000000,0x00030047,0x0000007e, +0x00000000,0x00030047,0x0000007f,0x00000000, +0x00030047,0x00000080,0x00000000,0x00030047, +0x00000081,0x00000000,0x00030047,0x00000082, +0x00000000,0x00030047,0x00000084,0x00000000, +0x00030047,0x00000086,0x00000000,0x00030047, +0x00000087,0x00000000,0x00030047,0x0000008a, +0x00000000,0x00030047,0x0000008b,0x00000000, +0x00030047,0x0000008c,0x00000000,0x00030047, +0x0000008d,0x00000000,0x00030047,0x0000008e, +0x00000000,0x00030047,0x0000008f,0x00000000, +0x00030047,0x00000090,0x00000000,0x00030047, +0x00000091,0x00000000,0x00030047,0x00000092, +0x00000000,0x00030047,0x00000093,0x00000000, +0x00030047,0x00000094,0x00000000,0x00030047, +0x00000095,0x00000000,0x00030047,0x00000096, +0x00000000,0x00030047,0x00000097,0x00000000, +0x00030047,0x00000098,0x00000000,0x00030047, +0x00000099,0x00000000,0x00030047,0x0000009d, +0x00000000,0x00030047,0x0000009f,0x00000000, +0x00030047,0x000000a1,0x00000000,0x00030047, +0x000000a2,0x00000000,0x00030047,0x000000a3, +0x00000000,0x00030047,0x000000a4,0x00000000, +0x00030047,0x000000a5,0x00000000,0x00030047, +0x000000a6,0x00000000,0x00030047,0x000000a7, +0x00000000,0x00030047,0x000000a9,0x00000000, +0x00030047,0x000000ab,0x00000000,0x00030047, +0x000000ac,0x00000000,0x00030047,0x000000ad, +0x00000000,0x00030047,0x000000ae,0x00000000, +0x00030047,0x000000af,0x00000000,0x00030047, +0x000000b0,0x00000000,0x00030047,0x000000b2, +0x00000000,0x00030047,0x000000b3,0x00000000, +0x00030047,0x000000b4,0x00000000,0x00030047, +0x000000b5,0x00000000,0x00030047,0x000000b6, +0x00000000,0x00030047,0x000000b7,0x00000000, +0x00030047,0x000000b8,0x00000000,0x00030047, +0x000000b9,0x00000000,0x00030047,0x000000ba, +0x00000000,0x00030047,0x000000bb,0x00000000, +0x00030047,0x000000bc,0x00000000,0x00030047, +0x000000be,0x00000000,0x00030047,0x000000bf, +0x00000000,0x00030047,0x000000c0,0x00000000, +0x00030047,0x000000c1,0x00000000,0x00030047, +0x000000c2,0x00000000,0x00030047,0x000000c3, +0x00000000,0x00030047,0x000000c4,0x00000000, +0x00030047,0x000000c5,0x00000000,0x00030047, +0x000000c6,0x00000000,0x00030047,0x000000c7, +0x00000000,0x00030047,0x000000c9,0x00000000, +0x00030047,0x000000ca,0x00000000,0x00030047, +0x000000cb,0x00000000,0x00030047,0x000000cc, +0x00000000,0x00030047,0x000000cd,0x00000000, +0x00030047,0x000000ce,0x00000000,0x00030047, +0x000000cf,0x00000000,0x00030047,0x000000d1, +0x00000000,0x00040047,0x000000d1,0x0000001e, +0x00000000,0x00030047,0x000000d3,0x00000000, +0x00030047,0x000000d5,0x00000000,0x00030047, +0x000000d8,0x00000000,0x00030047,0x000000d9, +0x00000000,0x00020013,0x00000002,0x00030021, +0x00000003,0x00000002,0x00030016,0x00000006, +0x00000020,0x00040020,0x00000007,0x00000007, +0x00000006,0x00040017,0x00000009,0x00000006, +0x00000004,0x00040018,0x0000000a,0x00000009, +0x00000004,0x00040017,0x0000000b,0x00000006, +0x00000002,0x0005001e,0x0000000c,0x0000000a, +0x0000000b,0x00000006,0x00040020,0x0000000d, +0x00000002,0x0000000c,0x0004003b,0x0000000d, +0x0000000e,0x00000002,0x00040015,0x0000000f, +0x00000020,0x00000001,0x0004002b,0x0000000f, +0x00000010,0x00000002,0x00040020,0x00000011, +0x00000002,0x00000006,0x0004002b,0x00000006, +0x00000014,0x40800000,0x00040020,0x00000016, +0x00000007,0x0000000b,0x0004002b,0x00000006, +0x00000018,0xbf800000,0x0004002b,0x00000006, +0x00000019,0x40000000,0x00040020,0x0000001a, +0x00000001,0x00000009,0x0004003b,0x0000001a, +0x0000001b,0x00000001,0x0004002b,0x0000000f, +0x0000001f,0x00000001,0x00040020,0x00000020, +0x00000002,0x0000000b,0x00040015,0x00000026, +0x00000020,0x00000000,0x0004002b,0x00000026, +0x00000027,0x00000000,0x0004002b,0x00000026, +0x0000002a,0x00000001,0x00040017,0x00000032, +0x00000006,0x00000003,0x00040020,0x00000033, +0x00000007,0x00000032,0x0004002b,0x00000006, +0x00000035,0x00000000,0x0006002c,0x00000032, +0x00000036,0x00000035,0x00000035,0x00000035, +0x00040020,0x00000037,0x00000007,0x0000000f, +0x0004002b,0x0000000f,0x00000039,0x00000000, +0x0004002b,0x0000000f,0x00000040,0x00000008, +0x00020014,0x00000041,0x0004002b,0x00000006, +0x00000046,0x44088852,0x0004002b,0x00000006, +0x00000048,0x3f800000,0x0004002b,0x00000006, +0x0000004b,0x3f000000,0x0004002b,0x00000006, +0x00000051,0x4422ef5c,0x0004002b,0x00000006, +0x00000053,0x40a00000,0x0004002b,0x00000006, +0x0000005c,0x43a0c666,0x0004002b,0x00000006, +0x0000005e,0x40833333,0x0004002b,0x00000006, +0x00000068,0x3dcccccd,0x0004002b,0x00000006, +0x00000075,0x41700000,0x0004002b,0x00000006, +0x00000083,0x3e99999a,0x0004002b,0x00000006, +0x00000085,0x40e00000,0x0004002b,0x00000006, +0x00000088,0x3e4ccccd,0x0004002b,0x00000006, +0x00000089,0x3f4ccccd,0x0004002b,0x00000006, +0x0000009e,0x3e46a7f0,0x0004002b,0x00000006, +0x000000a0,0x40c00000,0x0004002b,0x00000006, +0x000000a8,0x3f8ccccd,0x0004002b,0x00000006, +0x000000aa,0x41100000,0x0004002b,0x00000006, +0x000000b1,0x3ecccccd,0x0004002b,0x00000006, +0x000000bd,0x3e19999a,0x0004002b,0x00000006, +0x000000c8,0x3fc00000,0x00040020,0x000000d0, +0x00000003,0x00000009,0x0004003b,0x000000d0, +0x000000d1,0x00000003,0x0004002b,0x00000026, +0x000000d6,0x00000002,0x00050036,0x00000002, +0x00000004,0x00000000,0x00000003,0x000200f8, +0x00000005,0x0004003b,0x00000007,0x00000008, +0x00000007,0x0004003b,0x00000016,0x00000017, +0x00000007,0x0004003b,0x00000033,0x00000034, +0x00000007,0x0004003b,0x00000037,0x00000038, +0x00000007,0x0004003b,0x00000007,0x00000043, +0x00000007,0x0004003b,0x00000007,0x0000004e, +0x00000007,0x0004003b,0x00000007,0x00000059, +0x00000007,0x0004003b,0x00000007,0x00000067, +0x00000007,0x0004003b,0x00000016,0x00000072, +0x00000007,0x0004003b,0x00000007,0x00000093, +0x00000007,0x0004003b,0x00000033,0x0000009d, +0x00000007,0x00050041,0x00000011,0x00000012, +0x0000000e,0x00000010,0x0004003d,0x00000006, +0x00000013,0x00000012,0x00050085,0x00000006, +0x00000015,0x00000013,0x00000014,0x0003003e, +0x00000008,0x00000015,0x0004003d,0x00000009, +0x0000001c,0x0000001b,0x0007004f,0x0000000b, +0x0000001d,0x0000001c,0x0000001c,0x00000000, +0x00000001,0x0005008e,0x0000000b,0x0000001e, +0x0000001d,0x00000019,0x00050041,0x00000020, +0x00000021,0x0000000e,0x0000001f,0x0004003d, +0x0000000b,0x00000022,0x00000021,0x00050088, +0x0000000b,0x00000023,0x0000001e,0x00000022, +0x00050050,0x0000000b,0x00000024,0x00000018, +0x00000018,0x00050081,0x0000000b,0x00000025, +0x00000024,0x00000023,0x0003003e,0x00000017, +0x00000025,0x00060041,0x00000011,0x00000028, +0x0000000e,0x0000001f,0x00000027,0x0004003d, +0x00000006,0x00000029,0x00000028,0x00060041, +0x00000011,0x0000002b,0x0000000e,0x0000001f, +0x0000002a,0x0004003d,0x00000006,0x0000002c, +0x0000002b,0x00050088,0x00000006,0x0000002d, +0x00000029,0x0000002c,0x00050041,0x00000007, +0x0000002e,0x00000017,0x00000027,0x0004003d, +0x00000006,0x0000002f,0x0000002e,0x00050085, +0x00000006,0x00000030,0x0000002f,0x0000002d, +0x00050041,0x00000007,0x00000031,0x00000017, +0x00000027,0x0003003e,0x00000031,0x00000030, +0x0003003e,0x00000034,0x00000036,0x0003003e, +0x00000038,0x00000039,0x000200f9,0x0000003a, +0x000200f8,0x0000003a,0x000400f6,0x0000003c, +0x0000003d,0x00000000,0x000200f9,0x0000003e, +0x000200f8,0x0000003e,0x0004003d,0x0000000f, +0x0000003f,0x00000038,0x000500b1,0x00000041, +0x00000042,0x0000003f,0x00000040,0x000400fa, +0x00000042,0x0000003b,0x0000003c,0x000200f8, +0x0000003b,0x0004003d,0x0000000f,0x00000044, +0x00000038,0x0004006f,0x00000006,0x00000045, +0x00000044,0x00050085,0x00000006,0x00000047, +0x00000045,0x00000046,0x00050081,0x00000006, +0x00000049,0x00000047,0x00000048,0x0006000c, +0x00000006,0x0000004a,0x00000001,0x0000000d, +0x00000049,0x00050085,0x00000006,0x0000004c, +0x0000004a,0x0000004b,0x00050081,0x00000006, +0x0000004d,0x0000004c,0x0000004b,0x0003003e, +0x00000043,0x0000004d,0x0004003d,0x0000000f, +0x0000004f,0x00000038,0x0004006f,0x00000006, +0x00000050,0x0000004f,0x00050085,0x00000006, +0x00000052,0x00000050,0x00000051,0x00050081, +0x00000006,0x00000054,0x00000052,0x00000053, +0x0006000c,0x00000006,0x00000055,0x00000001, +0x0000000d,0x00000054,0x00050085,0x00000006, +0x00000056,0x00000055,0x0000004b,0x00050081, +0x00000006,0x00000057,0x00000056,0x0000004b, +0x0007000c,0x00000006,0x00000058,0x00000001, +0x0000001a,0x00000057,0x00000014,0x0003003e, +0x0000004e,0x00000058,0x0004003d,0x0000000f, +0x0000005a,0x00000038,0x0004006f,0x00000006, +0x0000005b,0x0000005a,0x00050085,0x00000006, +0x0000005d,0x0000005b,0x0000005c,0x00050081, +0x00000006,0x0000005f,0x0000005d,0x0000005e, +0x0006000c,0x00000006,0x00000060,0x00000001, +0x0000000d,0x0000005f,0x00060041,0x00000011, +0x00000061,0x0000000e,0x0000001f,0x00000027, +0x0004003d,0x00000006,0x00000062,0x00000061, +0x00050085,0x00000006,0x00000063,0x00000060, +0x00000062,0x00060041,0x00000011,0x00000064, +0x0000000e,0x0000001f,0x0000002a,0x0004003d, +0x00000006,0x00000065,0x00000064,0x00050088, +0x00000006,0x00000066,0x00000063,0x00000065, +0x0003003e,0x00000059,0x00000066,0x0004003d, +0x00000006,0x00000069,0x0000004e,0x00050085, +0x00000006,0x0000006a,0x0000004b,0x00000069, +0x00050081,0x00000006,0x0000006b,0x00000068, +0x0000006a,0x0004003d,0x00000006,0x0000006c, +0x00000043,0x0004003d,0x00000006,0x0000006d, +0x0000004e,0x00050081,0x00000006,0x0000006e, +0x0000006c,0x0000006d,0x0006000c,0x00000006, +0x0000006f,0x00000001,0x0000000d,0x0000006e, +0x00050088,0x00000006,0x00000070,0x0000006f, +0x00000014,0x00050081,0x00000006,0x00000071, +0x0000006b,0x00000070,0x0003003e,0x00000067, +0x00000071,0x0004003d,0x00000006,0x00000073, +0x00000059,0x0004003d,0x00000006,0x00000074, +0x00000008,0x00050088,0x00000006,0x00000076, +0x00000074,0x00000075,0x0004003d,0x00000006, +0x00000077,0x00000043,0x00050081,0x00000006, +0x00000078,0x00000076,0x00000077,0x0004003d, +0x00000006,0x00000079,0x0000004e,0x00050081, +0x00000006,0x0000007a,0x00000078,0x00000079, +0x0006000c,0x00000006,0x0000007b,0x00000001, +0x0000000d,0x0000007a,0x00050081,0x00000006, +0x0000007c,0x00000073,0x0000007b,0x0004003d, +0x00000006,0x0000007d,0x00000067,0x00050083, +0x00000006,0x0000007e,0x00000018,0x0000007d, +0x0004003d,0x00000006,0x0000007f,0x00000067, +0x00050085,0x00000006,0x00000080,0x00000019, +0x0000007f,0x00050081,0x00000006,0x00000081, +0x00000019,0x00000080,0x0004003d,0x00000006, +0x00000082,0x00000043,0x0004003d,0x00000006, +0x00000084,0x00000008,0x00050088,0x00000006, +0x00000086,0x00000084,0x00000085,0x00050085, +0x00000006,0x00000087,0x00000083,0x00000086, +0x0004003d,0x00000006,0x0000008a,0x0000004e, +0x00050085,0x00000006,0x0000008b,0x00000089, +0x0000008a,0x00050081,0x00000006,0x0000008c, +0x00000088,0x0000008b,0x00050085,0x00000006, +0x0000008d,0x00000087,0x0000008c,0x00050081, +0x00000006,0x0000008e,0x00000082,0x0000008d, +0x0006000c,0x00000006,0x0000008f,0x00000001, +0x0000000a,0x0000008e,0x00050085,0x00000006, +0x00000090,0x00000081,0x0000008f,0x00050081, +0x00000006,0x00000091,0x0000007e,0x00000090, +0x00050050,0x0000000b,0x00000092,0x0000007c, +0x00000091,0x0003003e,0x00000072,0x00000092, +0x0004003d,0x0000000b,0x00000094,0x00000017, +0x0004003d,0x0000000b,0x00000095,0x00000072, +0x00050083,0x0000000b,0x00000096,0x00000094, +0x00000095,0x0006000c,0x00000006,0x00000097, +0x00000001,0x00000042,0x00000096,0x0003003e, +0x00000093,0x00000097,0x0004003d,0x00000006, +0x00000098,0x00000093,0x0004003d,0x00000006, +0x00000099,0x00000067,0x000500b8,0x00000041, +0x0000009a,0x00000098,0x00000099,0x000300f7, +0x0000009c,0x00000000,0x000400fa,0x0000009a, +0x0000009b,0x0000009c,0x000200f8,0x0000009b, +0x0004003d,0x00000006,0x0000009f,0x00000008, +0x00050088,0x00000006,0x000000a1,0x0000009f, +0x000000a0,0x0006000c,0x00000006,0x000000a2, +0x00000001,0x0000000d,0x000000a1,0x00050085, +0x00000006,0x000000a3,0x0000009e,0x000000a2, +0x00050081,0x00000006,0x000000a4,0x000000a3, +0x00000083,0x0004003d,0x00000006,0x000000a5, +0x00000043,0x00050085,0x00000006,0x000000a6, +0x00000083,0x000000a5,0x00060050,0x00000032, +0x000000a7,0x000000a4,0x00000088,0x000000a6, +0x0004003d,0x00000006,0x000000a9,0x00000008, +0x00050088,0x00000006,0x000000ab,0x000000a9, +0x000000aa,0x0006000c,0x00000006,0x000000ac, +0x00000001,0x0000000d,0x000000ab,0x00050085, +0x00000006,0x000000ad,0x000000a8,0x000000ac, +0x00050081,0x00000006,0x000000ae,0x000000ad, +0x00000083,0x0004003d,0x00000006,0x000000af, +0x00000043,0x00050085,0x00000006,0x000000b0, +0x00000088,0x000000af,0x00060050,0x00000032, +0x000000b2,0x000000ae,0x000000b0,0x000000b1, +0x0004003d,0x0000000f,0x000000b3,0x00000038, +0x0004006f,0x00000006,0x000000b4,0x000000b3, +0x0006000c,0x00000006,0x000000b5,0x00000001, +0x0000000d,0x000000b4,0x00050085,0x00000006, +0x000000b6,0x0000004b,0x000000b5,0x00050081, +0x00000006,0x000000b7,0x0000004b,0x000000b6, +0x00060050,0x00000032,0x000000b8,0x000000b7, +0x000000b7,0x000000b7,0x0008000c,0x00000032, +0x000000b9,0x00000001,0x0000002e,0x000000a7, +0x000000b2,0x000000b8,0x0003003e,0x0000009d, +0x000000b9,0x0004003d,0x00000032,0x000000ba, +0x0000009d,0x0008004f,0x00000032,0x000000bb, +0x000000ba,0x000000ba,0x00000002,0x00000001, +0x00000000,0x0004003d,0x00000006,0x000000bc, +0x00000067,0x00050085,0x00000006,0x000000be, +0x000000bc,0x000000bd,0x0004003d,0x00000006, +0x000000bf,0x00000067,0x0004003d,0x00000006, +0x000000c0,0x00000093,0x0008000c,0x00000006, +0x000000c1,0x00000001,0x00000031,0x000000be, +0x000000bf,0x000000c0,0x00050083,0x00000006, +0x000000c2,0x00000048,0x000000c1,0x0005008e, +0x00000032,0x000000c3,0x000000bb,0x000000c2, +0x0004003d,0x00000032,0x000000c4,0x00000034, +0x00050081,0x00000032,0x000000c5,0x000000c4, +0x000000c3,0x0003003e,0x00000034,0x000000c5, +0x000200f9,0x0000009c,0x000200f8,0x0000009c, +0x000200f9,0x0000003d,0x000200f8,0x0000003d, +0x0004003d,0x0000000f,0x000000c6,0x00000038, +0x00050080,0x0000000f,0x000000c7,0x000000c6, +0x0000001f,0x0003003e,0x00000038,0x000000c7, +0x000200f9,0x0000003a,0x000200f8,0x0000003c, +0x0004003d,0x0000000b,0x000000c9,0x00000017, +0x0006000c,0x00000006,0x000000ca,0x00000001, +0x00000042,0x000000c9,0x00050085,0x00000006, +0x000000cb,0x0000004b,0x000000ca,0x00050083, +0x00000006,0x000000cc,0x000000c8,0x000000cb, +0x0006000c,0x00000006,0x000000cd,0x00000001, +0x0000001f,0x000000cc,0x0004003d,0x00000032, +0x000000ce,0x00000034,0x0005008e,0x00000032, +0x000000cf,0x000000ce,0x000000cd,0x0003003e, +0x00000034,0x000000cf,0x00050041,0x00000007, +0x000000d2,0x00000034,0x00000027,0x0004003d, +0x00000006,0x000000d3,0x000000d2,0x00050041, +0x00000007,0x000000d4,0x00000034,0x0000002a, +0x0004003d,0x00000006,0x000000d5,0x000000d4, +0x00050041,0x00000007,0x000000d7,0x00000034, +0x000000d6,0x0004003d,0x00000006,0x000000d8, +0x000000d7,0x00070050,0x00000009,0x000000d9, +0x000000d3,0x000000d5,0x000000d8,0x0000004b, +0x0003003e,0x000000d1,0x000000d9,0x000100fd, +0x00010038} diff --git a/menu/drivers_display/menu_display_vulkan.c b/menu/drivers_display/menu_display_vulkan.c index e780fc37dc..ea0c5d6c1f 100644 --- a/menu/drivers_display/menu_display_vulkan.c +++ b/menu/drivers_display/menu_display_vulkan.c @@ -92,6 +92,8 @@ static unsigned to_menu_pipeline( return 8 + (type == MENU_DISPLAY_PRIM_TRIANGLESTRIP); case VIDEO_SHADER_MENU_4: return 10 + (type == MENU_DISPLAY_PRIM_TRIANGLESTRIP); + case VIDEO_SHADER_MENU_5: + return 12 + (type == MENU_DISPLAY_PRIM_TRIANGLESTRIP); default: return 0; } @@ -121,7 +123,7 @@ static void menu_display_vk_draw_pipeline(void *data) vk_t *vk = (vk_t*)video_driver_get_ptr(false); video_coord_array_t *ca = NULL; - static uint8_t ubo_scratch_data[512]; + static uint8_t ubo_scratch_data[768]; static float t = 0.0f; static struct video_coords blank_coords; @@ -152,6 +154,7 @@ static void menu_display_vk_draw_pipeline(void *data) /* Snow simple */ case VIDEO_SHADER_MENU_3: case VIDEO_SHADER_MENU_4: + case VIDEO_SHADER_MENU_5: draw->pipeline.backend_data = ubo_scratch_data; draw->pipeline.backend_data_size = sizeof(math_matrix_4x4) + 3 * sizeof(float); @@ -229,6 +232,7 @@ static void menu_display_vk_draw(void *data) case VIDEO_SHADER_MENU_2: case VIDEO_SHADER_MENU_3: case VIDEO_SHADER_MENU_4: + case VIDEO_SHADER_MENU_5: { const struct vk_draw_triangles call = { vk->display.pipelines[ @@ -244,8 +248,6 @@ static void menu_display_vk_draw(void *data) break; } - /* Not implemented yet. */ - case VIDEO_SHADER_MENU_5: break; #endif