From 967f7629b6f86b2042632ce124713bb811cef63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 9 Jan 2026 19:31:01 -0800 Subject: [PATCH] Added WGSL shaders. (#3543) --- examples/02-metaballs/fs_metaballs.bin.h | 46 ++ examples/02-metaballs/vs_metaballs.bin.h | 71 +++ examples/17-drawstress/fs_drawstress.bin.h | 25 + examples/17-drawstress/vs_drawstress.bin.h | 51 ++ .../common/debugdraw/fs_debugdraw_fill.bin.h | 30 ++ .../debugdraw/fs_debugdraw_fill_lit.bin.h | 49 ++ .../debugdraw/fs_debugdraw_fill_texture.bin.h | 44 ++ .../common/debugdraw/fs_debugdraw_lines.bin.h | 25 + .../fs_debugdraw_lines_stipple.bin.h | 35 ++ .../common/debugdraw/vs_debugdraw_fill.bin.h | 48 ++ .../debugdraw/vs_debugdraw_fill_lit.bin.h | 68 +++ .../vs_debugdraw_fill_lit_mesh.bin.h | 62 +++ .../debugdraw/vs_debugdraw_fill_mesh.bin.h | 42 ++ .../debugdraw/vs_debugdraw_fill_texture.bin.h | 62 +++ .../common/debugdraw/vs_debugdraw_lines.bin.h | 51 ++ .../vs_debugdraw_lines_stipple.bin.h | 61 +++ examples/common/font/fs_font_basic.bin.h | 56 ++ .../common/font/fs_font_distance_field.bin.h | 74 +++ .../fs_font_distance_field_drop_shadow.bin.h | 123 +++++ ...ont_distance_field_drop_shadow_image.bin.h | 142 +++++ .../font/fs_font_distance_field_outline.bin.h | 89 ++++ ...ance_field_outline_drop_shadow_image.bin.h | 165 ++++++ ...fs_font_distance_field_outline_image.bin.h | 116 ++++ .../fs_font_distance_field_subpixel.bin.h | 80 +++ examples/common/font/vs_font_basic.bin.h | 61 +++ .../common/font/vs_font_distance_field.bin.h | 61 +++ .../vs_font_distance_field_drop_shadow.bin.h | 93 ++++ ...ont_distance_field_drop_shadow_image.bin.h | 93 ++++ .../font/vs_font_distance_field_outline.bin.h | 82 +++ ...ance_field_outline_drop_shadow_image.bin.h | 93 ++++ ...vs_font_distance_field_outline_image.bin.h | 82 +++ .../vs_font_distance_field_subpixel.bin.h | 61 +++ examples/common/imgui/fs_imgui_image.bin.h | 57 ++ examples/common/imgui/fs_ocornut_imgui.bin.h | 42 ++ examples/common/imgui/vs_imgui_image.bin.h | 50 ++ examples/common/imgui/vs_ocornut_imgui.bin.h | 63 +++ examples/common/nanovg/fs_nanovg_fill.bin.h | 218 ++++++++ examples/common/nanovg/vs_nanovg_fill.bin.h | 65 +++ examples/common/ps/fs_particle.bin.h | 54 ++ examples/common/ps/vs_particle.bin.h | 62 +++ .../runtime/shaders/wgsl/cs_assao_apply.bin | Bin 0 -> 2983 bytes .../wgsl/cs_assao_generate_importance_map.bin | Bin 0 -> 2923 bytes .../shaders/wgsl/cs_assao_generate_q0.bin | Bin 0 -> 8445 bytes .../shaders/wgsl/cs_assao_generate_q1.bin | Bin 0 -> 10900 bytes .../shaders/wgsl/cs_assao_generate_q2.bin | Bin 0 -> 12118 bytes .../shaders/wgsl/cs_assao_generate_q3.bin | Bin 0 -> 13370 bytes .../shaders/wgsl/cs_assao_generate_q3base.bin | Bin 0 -> 8563 bytes .../wgsl/cs_assao_load_counter_clear.bin | Bin 0 -> 335 bytes .../shaders/wgsl/cs_assao_non_smart_apply.bin | Bin 0 -> 1672 bytes .../shaders/wgsl/cs_assao_non_smart_blur.bin | Bin 0 -> 2236 bytes .../wgsl/cs_assao_non_smart_half_apply.bin | Bin 0 -> 1338 bytes .../cs_assao_postprocess_importance_map_a.bin | Bin 0 -> 1518 bytes .../cs_assao_postprocess_importance_map_b.bin | Bin 0 -> 1880 bytes .../wgsl/cs_assao_prepare_depth_mip.bin | Bin 0 -> 4648 bytes .../shaders/wgsl/cs_assao_prepare_depths.bin | Bin 0 -> 1827 bytes .../cs_assao_prepare_depths_and_normals.bin | Bin 0 -> 8169 bytes ..._assao_prepare_depths_and_normals_half.bin | Bin 0 -> 5017 bytes .../wgsl/cs_assao_prepare_depths_half.bin | Bin 0 -> 1233 bytes .../shaders/wgsl/cs_assao_smart_blur.bin | Bin 0 -> 2276 bytes .../shaders/wgsl/cs_assao_smart_blur_wide.bin | Bin 0 -> 3067 bytes .../runtime/shaders/wgsl/cs_drawindirect.bin | Bin 0 -> 3011 bytes .../shaders/wgsl/cs_drawindirect_count.bin | Bin 0 -> 3254 bytes .../shaders/wgsl/cs_fsr_bilinear_16.bin | Bin 0 -> 2642 bytes .../shaders/wgsl/cs_fsr_bilinear_32.bin | Bin 0 -> 2642 bytes .../runtime/shaders/wgsl/cs_fsr_easu_16.bin | Bin 0 -> 37256 bytes .../runtime/shaders/wgsl/cs_fsr_easu_32.bin | Bin 0 -> 48844 bytes .../runtime/shaders/wgsl/cs_fsr_rcas_16.bin | Bin 0 -> 9453 bytes .../runtime/shaders/wgsl/cs_fsr_rcas_32.bin | Bin 0 -> 8776 bytes .../runtime/shaders/wgsl/cs_gdr_copy_z.bin | Bin 0 -> 861 bytes .../shaders/wgsl/cs_gdr_downscale_hi_z.bin | Bin 0 -> 1221 bytes .../shaders/wgsl/cs_gdr_occlude_props.bin | Bin 0 -> 9440 bytes .../shaders/wgsl/cs_gdr_stream_compaction.bin | Bin 0 -> 5196 bytes examples/runtime/shaders/wgsl/cs_indirect.bin | Bin 0 -> 653 bytes .../shaders/wgsl/cs_init_instances.bin | Bin 0 -> 6229 bytes .../runtime/shaders/wgsl/cs_terrain_init.bin | Bin 0 -> 1860 bytes .../runtime/shaders/wgsl/cs_terrain_lod.bin | Bin 0 -> 10782 bytes .../shaders/wgsl/cs_terrain_update_draw.bin | Bin 0 -> 885 bytes .../wgsl/cs_terrain_update_indirect.bin | Bin 0 -> 787 bytes examples/runtime/shaders/wgsl/cs_update.bin | Bin 0 -> 1224 bytes .../shaders/wgsl/cs_update_instances.bin | Bin 0 -> 3054 bytes .../runtime/shaders/wgsl/fs_albedo_output.bin | Bin 0 -> 626 bytes .../wgsl/fs_assao_deferred_combine.bin | Bin 0 -> 1745 bytes .../runtime/shaders/wgsl/fs_assao_gbuffer.bin | Bin 0 -> 878 bytes .../runtime/shaders/wgsl/fs_bloom_combine.bin | Bin 0 -> 878 bytes .../runtime/shaders/wgsl/fs_bokeh_copy.bin | Bin 0 -> 545 bytes .../wgsl/fs_bokeh_copy_linear_to_gamma.bin | Bin 0 -> 657 bytes .../shaders/wgsl/fs_bokeh_dof_combine.bin | Bin 0 -> 1274 bytes .../shaders/wgsl/fs_bokeh_dof_debug.bin | Bin 0 -> 1562 bytes .../shaders/wgsl/fs_bokeh_dof_downsample.bin | Bin 0 -> 1059 bytes .../shaders/wgsl/fs_bokeh_dof_second_pass.bin | Bin 0 -> 3359 bytes .../shaders/wgsl/fs_bokeh_dof_single_pass.bin | Bin 0 -> 3673 bytes .../runtime/shaders/wgsl/fs_bokeh_forward.bin | Bin 0 -> 2566 bytes .../shaders/wgsl/fs_bokeh_forward_grid.bin | Bin 0 -> 1362 bytes .../shaders/wgsl/fs_bokeh_linear_depth.bin | Bin 0 -> 785 bytes examples/runtime/shaders/wgsl/fs_bump.bin | Bin 0 -> 3128 bytes examples/runtime/shaders/wgsl/fs_bunnylod.bin | Bin 0 -> 637 bytes examples/runtime/shaders/wgsl/fs_callback.bin | Bin 0 -> 637 bytes examples/runtime/shaders/wgsl/fs_cubes.bin | Bin 0 -> 349 bytes .../shaders/wgsl/fs_deferred_clear_uav.bin | Bin 0 -> 337 bytes .../shaders/wgsl/fs_deferred_combine.bin | Bin 0 -> 1098 bytes .../shaders/wgsl/fs_deferred_combine_ta.bin | Bin 0 -> 1170 bytes .../shaders/wgsl/fs_deferred_debug.bin | Bin 0 -> 560 bytes .../shaders/wgsl/fs_deferred_debug_line.bin | Bin 0 -> 349 bytes .../shaders/wgsl/fs_deferred_debug_ta.bin | Bin 0 -> 761 bytes .../runtime/shaders/wgsl/fs_deferred_geom.bin | Bin 0 -> 1866 bytes .../shaders/wgsl/fs_deferred_light.bin | Bin 0 -> 1687 bytes .../shaders/wgsl/fs_deferred_light_ta.bin | Bin 0 -> 1762 bytes .../shaders/wgsl/fs_deferred_light_uav.bin | Bin 0 -> 1790 bytes .../wgsl/fs_denoise_apply_lighting.bin | Bin 0 -> 892 bytes .../runtime/shaders/wgsl/fs_denoise_copy.bin | Bin 0 -> 545 bytes .../wgsl/fs_denoise_deferred_combine.bin | Bin 0 -> 1793 bytes .../shaders/wgsl/fs_denoise_gbuffer.bin | Bin 0 -> 3135 bytes .../shaders/wgsl/fs_denoise_spatial_3x3.bin | Bin 0 -> 3767 bytes .../shaders/wgsl/fs_denoise_spatial_5x5.bin | Bin 0 -> 3811 bytes .../shaders/wgsl/fs_denoise_temporal.bin | Bin 0 -> 3179 bytes .../runtime/shaders/wgsl/fs_denoise_txaa.bin | Bin 0 -> 7468 bytes .../runtime/shaders/wgsl/fs_downsample.bin | Bin 0 -> 2061 bytes .../wgsl/fs_fsr_copy_linear_to_gamma.bin | Bin 0 -> 657 bytes .../runtime/shaders/wgsl/fs_fsr_forward.bin | Bin 0 -> 2566 bytes .../shaders/wgsl/fs_fsr_forward_grid.bin | Bin 0 -> 1362 bytes .../fs_gdr_instanced_indirect_rendering.bin | Bin 0 -> 790 bytes examples/runtime/shaders/wgsl/fs_hdr_blur.bin | Bin 0 -> 1696 bytes .../runtime/shaders/wgsl/fs_hdr_bright.bin | Bin 0 -> 3046 bytes examples/runtime/shaders/wgsl/fs_hdr_lum.bin | Bin 0 -> 3131 bytes .../runtime/shaders/wgsl/fs_hdr_lumavg.bin | Bin 0 -> 3455 bytes examples/runtime/shaders/wgsl/fs_hdr_mesh.bin | Bin 0 -> 2109 bytes .../runtime/shaders/wgsl/fs_hdr_skybox.bin | Bin 0 -> 1007 bytes .../runtime/shaders/wgsl/fs_hdr_tonemap.bin | Bin 0 -> 3593 bytes examples/runtime/shaders/wgsl/fs_hextile.bin | Bin 0 -> 6564 bytes examples/runtime/shaders/wgsl/fs_ibl_mesh.bin | Bin 0 -> 3695 bytes .../runtime/shaders/wgsl/fs_ibl_skybox.bin | Bin 0 -> 2404 bytes .../runtime/shaders/wgsl/fs_instancing.bin | Bin 0 -> 349 bytes examples/runtime/shaders/wgsl/fs_mesh.bin | Bin 0 -> 1917 bytes examples/runtime/shaders/wgsl/fs_oit.bin | Bin 0 -> 410 bytes examples/runtime/shaders/wgsl/fs_oit_wb.bin | Bin 0 -> 1055 bytes .../runtime/shaders/wgsl/fs_oit_wb_blit.bin | Bin 0 -> 950 bytes .../shaders/wgsl/fs_oit_wb_separate.bin | Bin 0 -> 892 bytes .../shaders/wgsl/fs_oit_wb_separate_blit.bin | Bin 0 -> 933 bytes examples/runtime/shaders/wgsl/fs_particle.bin | Bin 0 -> 832 bytes .../runtime/shaders/wgsl/fs_picking_id.bin | Bin 0 -> 451 bytes .../shaders/wgsl/fs_picking_shaded.bin | Bin 0 -> 1088 bytes examples/runtime/shaders/wgsl/fs_pom.bin | Bin 0 -> 4566 bytes .../runtime/shaders/wgsl/fs_raymarching.bin | Bin 0 -> 8966 bytes .../runtime/shaders/wgsl/fs_rsm_combine.bin | Bin 0 -> 7611 bytes .../runtime/shaders/wgsl/fs_rsm_gbuffer.bin | Bin 0 -> 733 bytes .../runtime/shaders/wgsl/fs_rsm_lbuffer.bin | Bin 0 -> 1712 bytes .../runtime/shaders/wgsl/fs_rsm_shadow.bin | Bin 0 -> 577 bytes .../shaders/wgsl/fs_screen_space_shadows.bin | Bin 0 -> 4065 bytes .../wgsl/fs_shadowmaps_color_black.bin | Bin 0 -> 290 bytes .../wgsl/fs_shadowmaps_color_lighting_esm.bin | Bin 0 -> 4120 bytes .../fs_shadowmaps_color_lighting_esm_csm.bin | Bin 0 -> 8316 bytes ...s_shadowmaps_color_lighting_esm_linear.bin | Bin 0 -> 4188 bytes ...adowmaps_color_lighting_esm_linear_csm.bin | Bin 0 -> 8634 bytes ...dowmaps_color_lighting_esm_linear_omni.bin | Bin 0 -> 6623 bytes .../fs_shadowmaps_color_lighting_esm_omni.bin | Bin 0 -> 6562 bytes .../fs_shadowmaps_color_lighting_hard.bin | Bin 0 -> 4043 bytes .../fs_shadowmaps_color_lighting_hard_csm.bin | Bin 0 -> 7994 bytes ..._shadowmaps_color_lighting_hard_linear.bin | Bin 0 -> 4112 bytes ...dowmaps_color_lighting_hard_linear_csm.bin | Bin 0 -> 8312 bytes ...owmaps_color_lighting_hard_linear_omni.bin | Bin 0 -> 6547 bytes ...fs_shadowmaps_color_lighting_hard_omni.bin | Bin 0 -> 6486 bytes .../wgsl/fs_shadowmaps_color_lighting_pcf.bin | Bin 0 -> 13371 bytes .../fs_shadowmaps_color_lighting_pcf_csm.bin | Bin 0 -> 50299 bytes ...s_shadowmaps_color_lighting_pcf_linear.bin | Bin 0 -> 13280 bytes ...adowmaps_color_lighting_pcf_linear_csm.bin | Bin 0 -> 50166 bytes ...dowmaps_color_lighting_pcf_linear_omni.bin | Bin 0 -> 15875 bytes .../fs_shadowmaps_color_lighting_pcf_omni.bin | Bin 0 -> 15743 bytes .../wgsl/fs_shadowmaps_color_lighting_vsm.bin | Bin 0 -> 4401 bytes .../fs_shadowmaps_color_lighting_vsm_csm.bin | Bin 0 -> 9664 bytes ...s_shadowmaps_color_lighting_vsm_linear.bin | Bin 0 -> 4472 bytes ...adowmaps_color_lighting_vsm_linear_csm.bin | Bin 0 -> 10003 bytes ...dowmaps_color_lighting_vsm_linear_omni.bin | Bin 0 -> 6907 bytes .../fs_shadowmaps_color_lighting_vsm_omni.bin | Bin 0 -> 6846 bytes .../wgsl/fs_shadowmaps_color_texture.bin | Bin 0 -> 1019 bytes .../shaders/wgsl/fs_shadowmaps_hblur.bin | Bin 0 -> 2767 bytes .../shaders/wgsl/fs_shadowmaps_hblur_vsm.bin | Bin 0 -> 3383 bytes .../shaders/wgsl/fs_shadowmaps_packdepth.bin | Bin 0 -> 568 bytes .../wgsl/fs_shadowmaps_packdepth_linear.bin | Bin 0 -> 507 bytes .../wgsl/fs_shadowmaps_packdepth_vsm.bin | Bin 0 -> 693 bytes .../fs_shadowmaps_packdepth_vsm_linear.bin | Bin 0 -> 625 bytes .../shaders/wgsl/fs_shadowmaps_texture.bin | Bin 0 -> 560 bytes .../wgsl/fs_shadowmaps_unpackdepth.bin | Bin 0 -> 937 bytes .../wgsl/fs_shadowmaps_unpackdepth_vsm.bin | Bin 0 -> 891 bytes .../shaders/wgsl/fs_shadowmaps_vblur.bin | Bin 0 -> 2767 bytes .../shaders/wgsl/fs_shadowmaps_vblur_vsm.bin | Bin 0 -> 3383 bytes .../wgsl/fs_shadowvolume_color_lighting.bin | Bin 0 -> 2762 bytes .../wgsl/fs_shadowvolume_color_texture.bin | Bin 0 -> 1019 bytes .../wgsl/fs_shadowvolume_svbackblank.bin | Bin 0 -> 294 bytes .../wgsl/fs_shadowvolume_svbackcolor.bin | Bin 0 -> 479 bytes .../wgsl/fs_shadowvolume_svbacktex1.bin | Bin 0 -> 785 bytes .../wgsl/fs_shadowvolume_svbacktex2.bin | Bin 0 -> 785 bytes .../wgsl/fs_shadowvolume_svfrontblank.bin | Bin 0 -> 312 bytes .../wgsl/fs_shadowvolume_svfrontcolor.bin | Bin 0 -> 479 bytes .../wgsl/fs_shadowvolume_svfronttex1.bin | Bin 0 -> 782 bytes .../wgsl/fs_shadowvolume_svfronttex2.bin | Bin 0 -> 782 bytes .../shaders/wgsl/fs_shadowvolume_svside.bin | Bin 0 -> 885 bytes .../wgsl/fs_shadowvolume_svsideblank.bin | Bin 0 -> 294 bytes .../wgsl/fs_shadowvolume_svsidecolor.bin | Bin 0 -> 479 bytes .../wgsl/fs_shadowvolume_svsidetex.bin | Bin 0 -> 1137 bytes .../shaders/wgsl/fs_shadowvolume_texture.bin | Bin 0 -> 560 bytes .../wgsl/fs_shadowvolume_texture_lighting.bin | Bin 0 -> 3103 bytes examples/runtime/shaders/wgsl/fs_sky.bin | Bin 0 -> 1018 bytes .../shaders/wgsl/fs_sky_color_banding_fix.bin | Bin 0 -> 1775 bytes .../runtime/shaders/wgsl/fs_sky_landscape.bin | Bin 0 -> 2277 bytes examples/runtime/shaders/wgsl/fs_sms_mesh.bin | Bin 0 -> 7661 bytes .../runtime/shaders/wgsl/fs_sms_mesh_pd.bin | Bin 0 -> 8103 bytes .../runtime/shaders/wgsl/fs_sms_shadow.bin | Bin 0 -> 290 bytes .../runtime/shaders/wgsl/fs_sms_shadow_pd.bin | Bin 0 -> 754 bytes .../shaders/wgsl/fs_sss_deferred_combine.bin | Bin 0 -> 3098 bytes .../runtime/shaders/wgsl/fs_sss_gbuffer.bin | Bin 0 -> 3018 bytes .../shaders/wgsl/fs_sss_linear_depth.bin | Bin 0 -> 785 bytes .../runtime/shaders/wgsl/fs_sss_unlit.bin | Bin 0 -> 1297 bytes .../shaders/wgsl/fs_stencil_color_black.bin | Bin 0 -> 290 bytes .../wgsl/fs_stencil_color_lighting.bin | Bin 0 -> 2597 bytes .../shaders/wgsl/fs_stencil_color_texture.bin | Bin 0 -> 1019 bytes .../shaders/wgsl/fs_stencil_texture.bin | Bin 0 -> 560 bytes .../wgsl/fs_stencil_texture_lighting.bin | Bin 0 -> 2979 bytes examples/runtime/shaders/wgsl/fs_terrain.bin | Bin 0 -> 511 bytes .../shaders/wgsl/fs_terrain_render.bin | Bin 0 -> 884 bytes .../shaders/wgsl/fs_terrain_render_normal.bin | Bin 0 -> 846 bytes examples/runtime/shaders/wgsl/fs_tree.bin | Bin 0 -> 1943 bytes examples/runtime/shaders/wgsl/fs_update.bin | Bin 0 -> 557 bytes .../runtime/shaders/wgsl/fs_update_3d.bin | Bin 0 -> 829 bytes .../runtime/shaders/wgsl/fs_update_cmp.bin | Bin 0 -> 592 bytes examples/runtime/shaders/wgsl/fs_upsample.bin | Bin 0 -> 1609 bytes .../shaders/wgsl/fs_vectordisplay_blit.bin | Bin 0 -> 778 bytes .../shaders/wgsl/fs_vectordisplay_blur.bin | Bin 0 -> 2046 bytes .../shaders/wgsl/fs_vectordisplay_fb.bin | Bin 0 -> 811 bytes examples/runtime/shaders/wgsl/fs_vt_mip.bin | Bin 0 -> 1052 bytes examples/runtime/shaders/wgsl/fs_vt_unlit.bin | Bin 0 -> 1629 bytes examples/runtime/shaders/wgsl/fs_wf_mesh.bin | Bin 0 -> 2515 bytes .../runtime/shaders/wgsl/fs_wf_wireframe.bin | Bin 0 -> 918 bytes .../runtime/shaders/wgsl/vs_albedo_output.bin | Bin 0 -> 1394 bytes examples/runtime/shaders/wgsl/vs_assao.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_assao_gbuffer.bin | Bin 0 -> 1176 bytes .../runtime/shaders/wgsl/vs_bokeh_forward.bin | Bin 0 -> 1578 bytes .../shaders/wgsl/vs_bokeh_screenquad.bin | Bin 0 -> 775 bytes examples/runtime/shaders/wgsl/vs_bump.bin | Bin 0 -> 1965 bytes .../shaders/wgsl/vs_bump_instanced.bin | Bin 0 -> 2283 bytes examples/runtime/shaders/wgsl/vs_bunnylod.bin | Bin 0 -> 1019 bytes examples/runtime/shaders/wgsl/vs_callback.bin | Bin 0 -> 976 bytes examples/runtime/shaders/wgsl/vs_cubes.bin | Bin 0 -> 763 bytes .../shaders/wgsl/vs_deferred_combine.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_deferred_debug.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_deferred_debug_line.bin | Bin 0 -> 763 bytes .../runtime/shaders/wgsl/vs_deferred_geom.bin | Bin 0 -> 2120 bytes .../shaders/wgsl/vs_deferred_light.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_denoise_gbuffer.bin | Bin 0 -> 1966 bytes .../shaders/wgsl/vs_denoise_screenquad.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_fsr_forward.bin | Bin 0 -> 1521 bytes .../shaders/wgsl/vs_fsr_screenquad.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_fullscreen.bin | Bin 0 -> 775 bytes .../vs_gdr_instanced_indirect_rendering.bin | Bin 0 -> 1047 bytes .../shaders/wgsl/vs_gdr_render_occlusion.bin | Bin 0 -> 851 bytes examples/runtime/shaders/wgsl/vs_hdr_blur.bin | Bin 0 -> 1521 bytes .../runtime/shaders/wgsl/vs_hdr_bright.bin | Bin 0 -> 775 bytes examples/runtime/shaders/wgsl/vs_hdr_lum.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_hdr_lumavg.bin | Bin 0 -> 775 bytes examples/runtime/shaders/wgsl/vs_hdr_mesh.bin | Bin 0 -> 1154 bytes .../runtime/shaders/wgsl/vs_hdr_skybox.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_hdr_tonemap.bin | Bin 0 -> 1536 bytes examples/runtime/shaders/wgsl/vs_hextile.bin | Bin 0 -> 1040 bytes examples/runtime/shaders/wgsl/vs_ibl_mesh.bin | Bin 0 -> 1164 bytes .../runtime/shaders/wgsl/vs_ibl_skybox.bin | Bin 0 -> 1177 bytes .../runtime/shaders/wgsl/vs_instancing.bin | Bin 0 -> 1147 bytes examples/runtime/shaders/wgsl/vs_mesh.bin | Bin 0 -> 1678 bytes examples/runtime/shaders/wgsl/vs_oit.bin | Bin 0 -> 948 bytes examples/runtime/shaders/wgsl/vs_oit_blit.bin | Bin 0 -> 775 bytes examples/runtime/shaders/wgsl/vs_particle.bin | Bin 0 -> 1161 bytes .../shaders/wgsl/vs_picking_shaded.bin | Bin 0 -> 1396 bytes examples/runtime/shaders/wgsl/vs_pom.bin | Bin 0 -> 1857 bytes .../runtime/shaders/wgsl/vs_raymarching.bin | Bin 0 -> 934 bytes .../runtime/shaders/wgsl/vs_rsm_combine.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_rsm_gbuffer.bin | Bin 0 -> 995 bytes .../runtime/shaders/wgsl/vs_rsm_lbuffer.bin | Bin 0 -> 1951 bytes .../runtime/shaders/wgsl/vs_rsm_shadow.bin | Bin 0 -> 963 bytes .../shaders/wgsl/vs_shadowmaps_color.bin | Bin 0 -> 546 bytes .../wgsl/vs_shadowmaps_color_lighting.bin | Bin 0 -> 1399 bytes .../wgsl/vs_shadowmaps_color_lighting_csm.bin | Bin 0 -> 2239 bytes .../vs_shadowmaps_color_lighting_linear.bin | Bin 0 -> 1477 bytes ...s_shadowmaps_color_lighting_linear_csm.bin | Bin 0 -> 2551 bytes ..._shadowmaps_color_lighting_linear_omni.bin | Bin 0 -> 2463 bytes .../vs_shadowmaps_color_lighting_omni.bin | Bin 0 -> 2151 bytes .../wgsl/vs_shadowmaps_color_texture.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_shadowmaps_depth.bin | Bin 0 -> 546 bytes .../shaders/wgsl/vs_shadowmaps_hblur.bin | Bin 0 -> 1588 bytes .../shaders/wgsl/vs_shadowmaps_packdepth.bin | Bin 0 -> 705 bytes .../wgsl/vs_shadowmaps_packdepth_linear.bin | Bin 0 -> 713 bytes .../shaders/wgsl/vs_shadowmaps_texture.bin | Bin 0 -> 775 bytes .../wgsl/vs_shadowmaps_texture_lighting.bin | Bin 0 -> 1237 bytes .../wgsl/vs_shadowmaps_unpackdepth.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_shadowmaps_vblur.bin | Bin 0 -> 1588 bytes .../wgsl/vs_shadowvolume_color_lighting.bin | Bin 0 -> 1070 bytes .../wgsl/vs_shadowvolume_color_texture.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_shadowvolume_svback.bin | Bin 0 -> 746 bytes .../shaders/wgsl/vs_shadowvolume_svfront.bin | Bin 0 -> 546 bytes .../shaders/wgsl/vs_shadowvolume_svside.bin | Bin 0 -> 1073 bytes .../shaders/wgsl/vs_shadowvolume_texture.bin | Bin 0 -> 775 bytes .../wgsl/vs_shadowvolume_texture_lighting.bin | Bin 0 -> 1237 bytes examples/runtime/shaders/wgsl/vs_sky.bin | Bin 0 -> 2915 bytes .../runtime/shaders/wgsl/vs_sky_landscape.bin | Bin 0 -> 1129 bytes examples/runtime/shaders/wgsl/vs_sms_mesh.bin | Bin 0 -> 1364 bytes .../runtime/shaders/wgsl/vs_sms_shadow.bin | Bin 0 -> 546 bytes .../runtime/shaders/wgsl/vs_sms_shadow_pd.bin | Bin 0 -> 705 bytes .../runtime/shaders/wgsl/vs_sss_gbuffer.bin | Bin 0 -> 1316 bytes .../shaders/wgsl/vs_sss_screenquad.bin | Bin 0 -> 775 bytes .../runtime/shaders/wgsl/vs_stencil_color.bin | Bin 0 -> 546 bytes .../wgsl/vs_stencil_color_lighting.bin | Bin 0 -> 1068 bytes .../shaders/wgsl/vs_stencil_color_texture.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_stencil_texture.bin | Bin 0 -> 775 bytes .../wgsl/vs_stencil_texture_lighting.bin | Bin 0 -> 1237 bytes examples/runtime/shaders/wgsl/vs_terrain.bin | Bin 0 -> 866 bytes .../wgsl/vs_terrain_height_texture.bin | Bin 0 -> 1191 bytes .../shaders/wgsl/vs_terrain_render.bin | Bin 0 -> 2874 bytes examples/runtime/shaders/wgsl/vs_tree.bin | Bin 0 -> 1376 bytes examples/runtime/shaders/wgsl/vs_update.bin | Bin 0 -> 775 bytes .../shaders/wgsl/vs_vectordisplay_fb.bin | Bin 0 -> 934 bytes .../runtime/shaders/wgsl/vs_vt_generic.bin | Bin 0 -> 882 bytes examples/runtime/shaders/wgsl/vs_wf_mesh.bin | Bin 0 -> 1322 bytes .../runtime/shaders/wgsl/vs_wf_wireframe.bin | Bin 0 -> 1053 bytes src/fs_clear0.bin.h | 32 ++ src/fs_clear1.bin.h | 47 ++ src/fs_clear2.bin.h | 58 ++ src/fs_clear3.bin.h | 68 +++ src/fs_clear4.bin.h | 78 +++ src/fs_clear5.bin.h | 88 ++++ src/fs_clear6.bin.h | 99 ++++ src/fs_clear7.bin.h | 109 ++++ src/fs_debugfont.bin.h | 122 +++-- src/vs_clear.bin.h | 36 ++ src/vs_debugfont.bin.h | 72 +++ tools/geometryv/fs_mesh.bin.h | 381 +++++++++----- tools/geometryv/vs_mesh.bin.h | 145 +++-- tools/texturev/fs_texture.bin.h | 449 ++++++++++++---- tools/texturev/fs_texture_3d.bin.h | 457 ++++++++++++---- tools/texturev/fs_texture_array.bin.h | 181 +++++-- tools/texturev/fs_texture_cube.bin.h | 496 +++++++++++++----- tools/texturev/fs_texture_cube2.bin.h | 449 ++++++++++++---- tools/texturev/fs_texture_msdf.bin.h | 233 +++++--- tools/texturev/fs_texture_sdf.bin.h | 159 ++++-- tools/texturev/vs_texture.bin.h | 61 +++ tools/texturev/vs_texture_cube.bin.h | 62 +++ 342 files changed, 5869 insertions(+), 865 deletions(-) create mode 100644 examples/runtime/shaders/wgsl/cs_assao_apply.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_generate_importance_map.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_generate_q0.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_generate_q1.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_generate_q2.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_generate_q3.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_generate_q3base.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_load_counter_clear.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_non_smart_apply.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_non_smart_blur.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_non_smart_half_apply.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_postprocess_importance_map_a.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_postprocess_importance_map_b.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_prepare_depth_mip.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_prepare_depths.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_prepare_depths_and_normals.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_prepare_depths_and_normals_half.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_prepare_depths_half.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_smart_blur.bin create mode 100644 examples/runtime/shaders/wgsl/cs_assao_smart_blur_wide.bin create mode 100644 examples/runtime/shaders/wgsl/cs_drawindirect.bin create mode 100644 examples/runtime/shaders/wgsl/cs_drawindirect_count.bin create mode 100644 examples/runtime/shaders/wgsl/cs_fsr_bilinear_16.bin create mode 100644 examples/runtime/shaders/wgsl/cs_fsr_bilinear_32.bin create mode 100644 examples/runtime/shaders/wgsl/cs_fsr_easu_16.bin create mode 100644 examples/runtime/shaders/wgsl/cs_fsr_easu_32.bin create mode 100644 examples/runtime/shaders/wgsl/cs_fsr_rcas_16.bin create mode 100644 examples/runtime/shaders/wgsl/cs_fsr_rcas_32.bin create mode 100644 examples/runtime/shaders/wgsl/cs_gdr_copy_z.bin create mode 100644 examples/runtime/shaders/wgsl/cs_gdr_downscale_hi_z.bin create mode 100644 examples/runtime/shaders/wgsl/cs_gdr_occlude_props.bin create mode 100644 examples/runtime/shaders/wgsl/cs_gdr_stream_compaction.bin create mode 100644 examples/runtime/shaders/wgsl/cs_indirect.bin create mode 100644 examples/runtime/shaders/wgsl/cs_init_instances.bin create mode 100644 examples/runtime/shaders/wgsl/cs_terrain_init.bin create mode 100644 examples/runtime/shaders/wgsl/cs_terrain_lod.bin create mode 100644 examples/runtime/shaders/wgsl/cs_terrain_update_draw.bin create mode 100644 examples/runtime/shaders/wgsl/cs_terrain_update_indirect.bin create mode 100644 examples/runtime/shaders/wgsl/cs_update.bin create mode 100644 examples/runtime/shaders/wgsl/cs_update_instances.bin create mode 100644 examples/runtime/shaders/wgsl/fs_albedo_output.bin create mode 100644 examples/runtime/shaders/wgsl/fs_assao_deferred_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_assao_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bloom_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_copy.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_copy_linear_to_gamma.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_dof_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_dof_debug.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_dof_downsample.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_dof_second_pass.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_dof_single_pass.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_forward.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_forward_grid.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bokeh_linear_depth.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bump.bin create mode 100644 examples/runtime/shaders/wgsl/fs_bunnylod.bin create mode 100644 examples/runtime/shaders/wgsl/fs_callback.bin create mode 100644 examples/runtime/shaders/wgsl/fs_cubes.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_clear_uav.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_combine_ta.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_debug.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_debug_line.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_debug_ta.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_geom.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_light.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_light_ta.bin create mode 100644 examples/runtime/shaders/wgsl/fs_deferred_light_uav.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_apply_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_copy.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_deferred_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_spatial_3x3.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_spatial_5x5.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_temporal.bin create mode 100644 examples/runtime/shaders/wgsl/fs_denoise_txaa.bin create mode 100644 examples/runtime/shaders/wgsl/fs_downsample.bin create mode 100644 examples/runtime/shaders/wgsl/fs_fsr_copy_linear_to_gamma.bin create mode 100644 examples/runtime/shaders/wgsl/fs_fsr_forward.bin create mode 100644 examples/runtime/shaders/wgsl/fs_fsr_forward_grid.bin create mode 100644 examples/runtime/shaders/wgsl/fs_gdr_instanced_indirect_rendering.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_blur.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_bright.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_lum.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_lumavg.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_skybox.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hdr_tonemap.bin create mode 100644 examples/runtime/shaders/wgsl/fs_hextile.bin create mode 100644 examples/runtime/shaders/wgsl/fs_ibl_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/fs_ibl_skybox.bin create mode 100644 examples/runtime/shaders/wgsl/fs_instancing.bin create mode 100644 examples/runtime/shaders/wgsl/fs_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/fs_oit.bin create mode 100644 examples/runtime/shaders/wgsl/fs_oit_wb.bin create mode 100644 examples/runtime/shaders/wgsl/fs_oit_wb_blit.bin create mode 100644 examples/runtime/shaders/wgsl/fs_oit_wb_separate.bin create mode 100644 examples/runtime/shaders/wgsl/fs_oit_wb_separate_blit.bin create mode 100644 examples/runtime/shaders/wgsl/fs_particle.bin create mode 100644 examples/runtime/shaders/wgsl/fs_picking_id.bin create mode 100644 examples/runtime/shaders/wgsl/fs_picking_shaded.bin create mode 100644 examples/runtime/shaders/wgsl/fs_pom.bin create mode 100644 examples/runtime/shaders/wgsl/fs_raymarching.bin create mode 100644 examples/runtime/shaders/wgsl/fs_rsm_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_rsm_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/fs_rsm_lbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/fs_rsm_shadow.bin create mode 100644 examples/runtime/shaders/wgsl/fs_screen_space_shadows.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_black.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear_csm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_omni.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_color_texture.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_hblur.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_hblur_vsm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_linear.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_vsm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_vsm_linear.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_texture.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_unpackdepth.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_unpackdepth_vsm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_vblur.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowmaps_vblur_vsm.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_color_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_color_texture.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svbackblank.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svbackcolor.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svbacktex1.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svbacktex2.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svfrontblank.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svfrontcolor.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svfronttex1.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svfronttex2.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svside.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svsideblank.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svsidecolor.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_svsidetex.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_texture.bin create mode 100644 examples/runtime/shaders/wgsl/fs_shadowvolume_texture_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sky.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sky_color_banding_fix.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sky_landscape.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sms_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sms_mesh_pd.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sms_shadow.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sms_shadow_pd.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sss_deferred_combine.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sss_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sss_linear_depth.bin create mode 100644 examples/runtime/shaders/wgsl/fs_sss_unlit.bin create mode 100644 examples/runtime/shaders/wgsl/fs_stencil_color_black.bin create mode 100644 examples/runtime/shaders/wgsl/fs_stencil_color_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/fs_stencil_color_texture.bin create mode 100644 examples/runtime/shaders/wgsl/fs_stencil_texture.bin create mode 100644 examples/runtime/shaders/wgsl/fs_stencil_texture_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/fs_terrain.bin create mode 100644 examples/runtime/shaders/wgsl/fs_terrain_render.bin create mode 100644 examples/runtime/shaders/wgsl/fs_terrain_render_normal.bin create mode 100644 examples/runtime/shaders/wgsl/fs_tree.bin create mode 100644 examples/runtime/shaders/wgsl/fs_update.bin create mode 100644 examples/runtime/shaders/wgsl/fs_update_3d.bin create mode 100644 examples/runtime/shaders/wgsl/fs_update_cmp.bin create mode 100644 examples/runtime/shaders/wgsl/fs_upsample.bin create mode 100644 examples/runtime/shaders/wgsl/fs_vectordisplay_blit.bin create mode 100644 examples/runtime/shaders/wgsl/fs_vectordisplay_blur.bin create mode 100644 examples/runtime/shaders/wgsl/fs_vectordisplay_fb.bin create mode 100644 examples/runtime/shaders/wgsl/fs_vt_mip.bin create mode 100644 examples/runtime/shaders/wgsl/fs_vt_unlit.bin create mode 100644 examples/runtime/shaders/wgsl/fs_wf_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/fs_wf_wireframe.bin create mode 100644 examples/runtime/shaders/wgsl/vs_albedo_output.bin create mode 100644 examples/runtime/shaders/wgsl/vs_assao.bin create mode 100644 examples/runtime/shaders/wgsl/vs_assao_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/vs_bokeh_forward.bin create mode 100644 examples/runtime/shaders/wgsl/vs_bokeh_screenquad.bin create mode 100644 examples/runtime/shaders/wgsl/vs_bump.bin create mode 100644 examples/runtime/shaders/wgsl/vs_bump_instanced.bin create mode 100644 examples/runtime/shaders/wgsl/vs_bunnylod.bin create mode 100644 examples/runtime/shaders/wgsl/vs_callback.bin create mode 100644 examples/runtime/shaders/wgsl/vs_cubes.bin create mode 100644 examples/runtime/shaders/wgsl/vs_deferred_combine.bin create mode 100644 examples/runtime/shaders/wgsl/vs_deferred_debug.bin create mode 100644 examples/runtime/shaders/wgsl/vs_deferred_debug_line.bin create mode 100644 examples/runtime/shaders/wgsl/vs_deferred_geom.bin create mode 100644 examples/runtime/shaders/wgsl/vs_deferred_light.bin create mode 100644 examples/runtime/shaders/wgsl/vs_denoise_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/vs_denoise_screenquad.bin create mode 100644 examples/runtime/shaders/wgsl/vs_fsr_forward.bin create mode 100644 examples/runtime/shaders/wgsl/vs_fsr_screenquad.bin create mode 100644 examples/runtime/shaders/wgsl/vs_fullscreen.bin create mode 100644 examples/runtime/shaders/wgsl/vs_gdr_instanced_indirect_rendering.bin create mode 100644 examples/runtime/shaders/wgsl/vs_gdr_render_occlusion.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_blur.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_bright.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_lum.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_lumavg.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_skybox.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hdr_tonemap.bin create mode 100644 examples/runtime/shaders/wgsl/vs_hextile.bin create mode 100644 examples/runtime/shaders/wgsl/vs_ibl_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/vs_ibl_skybox.bin create mode 100644 examples/runtime/shaders/wgsl/vs_instancing.bin create mode 100644 examples/runtime/shaders/wgsl/vs_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/vs_oit.bin create mode 100644 examples/runtime/shaders/wgsl/vs_oit_blit.bin create mode 100644 examples/runtime/shaders/wgsl/vs_particle.bin create mode 100644 examples/runtime/shaders/wgsl/vs_picking_shaded.bin create mode 100644 examples/runtime/shaders/wgsl/vs_pom.bin create mode 100644 examples/runtime/shaders/wgsl/vs_raymarching.bin create mode 100644 examples/runtime/shaders/wgsl/vs_rsm_combine.bin create mode 100644 examples/runtime/shaders/wgsl/vs_rsm_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/vs_rsm_lbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/vs_rsm_shadow.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_csm.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear_csm.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear_omni.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_omni.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_color_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_depth.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_hblur.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_packdepth.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_packdepth_linear.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_texture_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_unpackdepth.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowmaps_vblur.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_color_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_color_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_svback.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_svfront.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_svside.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_shadowvolume_texture_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sky.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sky_landscape.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sms_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sms_shadow.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sms_shadow_pd.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sss_gbuffer.bin create mode 100644 examples/runtime/shaders/wgsl/vs_sss_screenquad.bin create mode 100644 examples/runtime/shaders/wgsl/vs_stencil_color.bin create mode 100644 examples/runtime/shaders/wgsl/vs_stencil_color_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/vs_stencil_color_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_stencil_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_stencil_texture_lighting.bin create mode 100644 examples/runtime/shaders/wgsl/vs_terrain.bin create mode 100644 examples/runtime/shaders/wgsl/vs_terrain_height_texture.bin create mode 100644 examples/runtime/shaders/wgsl/vs_terrain_render.bin create mode 100644 examples/runtime/shaders/wgsl/vs_tree.bin create mode 100644 examples/runtime/shaders/wgsl/vs_update.bin create mode 100644 examples/runtime/shaders/wgsl/vs_vectordisplay_fb.bin create mode 100644 examples/runtime/shaders/wgsl/vs_vt_generic.bin create mode 100644 examples/runtime/shaders/wgsl/vs_wf_mesh.bin create mode 100644 examples/runtime/shaders/wgsl/vs_wf_wireframe.bin diff --git a/examples/02-metaballs/fs_metaballs.bin.h b/examples/02-metaballs/fs_metaballs.bin.h index 190d2d109..c637bc7d9 100644 --- a/examples/02-metaballs/fs_metaballs.bin.h +++ b/examples/02-metaballs/fs_metaballs.bin.h @@ -119,6 +119,52 @@ static const uint8_t fs_metaballs_spv[990] = 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x93, 0x00, // ..B...>...]..... 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ......8....... }; +static const uint8_t fs_metaballs_wgsl[681] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x03, 0x2c, 0xf5, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x02, // FSH..,.?........ + 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ..diagnostic(off + 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, // , derivative_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // formity);.diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, // stic(off, subgro + 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, // up_uniformity);. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // _normal : vec3) {. let v = + 0x20, 0x64, 0x6f, 0x74, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, // dot(normalize(v + 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // _normal), vec3(0.0f, 0.0f, + 0x2d, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // -1.0f));. let v + 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x2c, 0x20, 0x33, 0x30, 0x2e, 0x30, // _1 = pow(v, 30.0 + 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, // f);. let v_2 = + 0x70, 0x6f, 0x77, 0x28, 0x28, 0x28, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // pow(((pow(v_colo + 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // r0.xyz, vec3(2.200000047683 + 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x29, // 71582031f)) * v) + 0x20, 0x2b, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, // + vec3(v_1 + 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x29, 0x29, 0x2c, 0x20, 0x76, 0x65, // , v_1, v_1)), ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x34, 0x35, 0x34, 0x35, 0x34, 0x35, // c3(0.454545 + 0x34, 0x36, 0x38, 0x30, 0x39, 0x31, 0x39, 0x36, 0x34, 0x37, 0x32, 0x31, 0x36, 0x38, 0x66, 0x29, // 46809196472168f) + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // );. bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // ta0 = vec4( + 0x76, 0x5f, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, // v_2.x, v_2.y, v_ + 0x32, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // 2.z, 1.0f);.}..@ + 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, // fragment.fn main + 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, // (@location(0u) v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // _color0 : vec4, @location(1 + 0x75, 0x29, 0x20, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, // u) v_normal : ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, // c3) -> @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ation(0u) vec4 {. main_inn + 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x6e, // er(v_color0, v_n + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, // ormal);. return + 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, // bgfx_FragData0; + 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .}....... +}; static const uint8_t fs_metaballs_dx11[670] = { 0x46, 0x53, 0x48, 0x0b, 0x03, 0x2c, 0xf5, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x02, // FSH..,.?........ diff --git a/examples/02-metaballs/vs_metaballs.bin.h b/examples/02-metaballs/vs_metaballs.bin.h index 47d976dab..a66a166a7 100644 --- a/examples/02-metaballs/vs_metaballs.bin.h +++ b/examples/02-metaballs/vs_metaballs.bin.h @@ -175,6 +175,77 @@ static const uint8_t vs_metaballs_spv[1608] = 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, // ..........8..... 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x80, 0x00, // ........ }; +static const uint8_t vs_metaballs_wgsl[1077] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2c, 0xf5, 0x3f, 0x02, 0x00, 0x0f, 0x75, // VSH......,.?...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model + 0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x03, 0x00, 0x00, 0x64, 0x69, // ..@...........di + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, // agnostic(off, de + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, // rivative_uniform + 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, // ity);.diagnostic + 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, // (off, subgroup_u + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, // niformity);..str + 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, // uct UniformBlock + 0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // _1_1 {. u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, // ViewProj : mat4x + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // 4,. u_mode + 0x6c, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, // l : array, 1u>,.}..@ + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi + 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, // ng(0u) var v : UniformB + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, // lock_1_1;..var

v_1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var v_2 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, // 4;..var v_3 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // ;..fn main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // inner(a_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x6e, 0x6f, // vec4, a_no + 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // rmal : vec3 + 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // , a_position : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // ec3) {. le + 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // t v_4 = (v.u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, // elViewProj * vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // 4(a_positio + 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // n.x, a_position. + 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, // y, a_position.z, + 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // 1.0f));. let v + 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // _5 = ((v.u_model + 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // [0i] * vec4 + 0x28, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x6e, // (a_normal.x, a_n + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, // ormal.y, a_norma + 0x6c, 0x2e, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, // l.z, 0.0f))).xyz + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, 0x3b, 0x0a, 0x20, // ;. v_1 = v_4;. + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // v_2 = a_color0; + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x7d, 0x0a, // . v_3 = v_5;.}. + 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // .struct tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, // bol {. @builtin + 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, // (position). m : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(0u). m_ + 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, // 1 : vec4,. + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, // @location(1u). + 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // m_2 : vec3 + 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, // ,.}..@vertex.fn + 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, // main(@location(0 + 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // u) a_color0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // c4, @locati + 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, // on(1u) a_normal + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, // : vec3, @lo + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // cation(2u) a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // ition : vec3) -> tint_symbo + 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, // l {. main_inner + 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, // (a_color0, a_nor + 0x6d, 0x61, 0x6c, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, // mal, a_position) + 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // ;. return tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, // symbol(v_1, v_2, + 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x02, 0x00, 0x01, // v_3);.}........ + 0x00, 0x80, 0x00, 0x80, 0x00, // ..... +}; static const uint8_t vs_metaballs_dx11[744] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2c, 0xf5, 0x3f, 0x02, 0x00, 0x0f, 0x75, // VSH......,.?...u diff --git a/examples/17-drawstress/fs_drawstress.bin.h b/examples/17-drawstress/fs_drawstress.bin.h index 410cffed5..cc02336f1 100644 --- a/examples/17-drawstress/fs_drawstress.bin.h +++ b/examples/17-drawstress/fs_drawstress.bin.h @@ -45,6 +45,31 @@ static const uint8_t fs_drawstress_spv[406] = 0x03, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..-...#.......8. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... }; +static const uint8_t fs_drawstress_wgsl[349] = +{ + 0x46, 0x53, 0x48, 0x0b, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x01, // FSH....I......E. + 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ..diagnostic(off + 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, // , derivative_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // formity);.diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, // stic(off, subgro + 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, // up_uniformity);. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, // 0 : vec4) { + 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // . bgfx_FragData + 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, // 0 = v_color0;.}. + 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // .@fragment.fn ma + 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, // in(@location(0u) + 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // v_color0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ) -> @locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // ion(0u) vec4 {. main_inner + 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, // (v_color0);. re + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // turn bgfx_FragDa + 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ta0;.}....... +}; static const uint8_t fs_drawstress_dx11[270] = { 0x46, 0x53, 0x48, 0x0b, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, // FSH....I........ diff --git a/examples/17-drawstress/vs_drawstress.bin.h b/examples/17-drawstress/vs_drawstress.bin.h index 75d42110f..10fdb8395 100644 --- a/examples/17-drawstress/vs_drawstress.bin.h +++ b/examples/17-drawstress/vs_drawstress.bin.h @@ -114,6 +114,57 @@ static const uint8_t vs_drawstress_spv[1060] = 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x02, 0x05, 0x00, // 0.......8....... 0x01, 0x00, 0x40, 0x00, // ..@. }; +static const uint8_t vs_drawstress_wgsl[763] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, // VSH........I...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ............diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, // ;..fn main_inner + 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // (a_color0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // , a_positio + 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, // n : vec3) { + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, // . v_1 = (v.u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, // delViewProj * ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // c4(a_positi + 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // on.x, a_position + 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, // .y, a_position.z + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, // , 1.0f));. v_2 + 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, // = a_color0;.}..s + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, // truct tint_symbo + 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, // l {. @builtin(p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, // osition). m : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, // ation(0u). m_1 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, // : vec4,.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, @location(1u + 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // ) a_position : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, // ec3) -> tin + 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, // t_symbol {. mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // n_inner(a_color0 + 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x20, // , a_position);. + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // return tint_sym + 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x7d, // bol(v_1, v_2);.} + 0x0a, 0x00, 0x02, 0x05, 0x00, 0x01, 0x00, 0x40, 0x00, 0x40, 0x00, // .......@.@. +}; static const uint8_t vs_drawstress_dx11[524] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, // VSH........I...u diff --git a/examples/common/debugdraw/fs_debugdraw_fill.bin.h b/examples/common/debugdraw/fs_debugdraw_fill.bin.h index 4857d1c5b..bf1bafb1e 100644 --- a/examples/common/debugdraw/fs_debugdraw_fill.bin.h +++ b/examples/common/debugdraw/fs_debugdraw_fill.bin.h @@ -64,6 +64,36 @@ static const uint8_t fs_debugdraw_fill_spv[673] = 0x00, 0x4c, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, // .L.......8.....@ 0x00, // . }; +static const uint8_t fs_debugdraw_fill_wgsl[428] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x81, 0x01, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // .....diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, // off, derivative_ + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, // uniformity);.dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, // gnostic(off, sub + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, // group_uniformity + 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, // );..struct Unifo + 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, // rmBlock {. u_pa + 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // rams : array, 4u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ) {. bgfx_FragD + 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, // ata0 = v.u_param + 0x73, 0x5b, 0x33, 0x69, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, // s[3i];.}..@fragm + 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, // ent.fn main() -> + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, // @location(0u) v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, // ec4 {. mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // n_inner();. ret + 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // urn bgfx_FragDat + 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, // a0;.}...@.@. +}; static const uint8_t fs_debugdraw_fill_dx11[265] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, // FSH............u diff --git a/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h b/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h index 3a7076c7d..78e6c134a 100644 --- a/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h +++ b/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h @@ -163,6 +163,55 @@ static const uint8_t fs_debugdraw_fill_lit_spv[1469] = 0x00, 0xce, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x89, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, // .....>.......... 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, // .....8.....@. }; +static const uint8_t fs_debugdraw_fill_lit_wgsl[733] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x0f, 0xc8, 0x56, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, // FSH...V_.......u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0xb2, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // .....diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, // off, derivative_ + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, // uniformity);.dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, // gnostic(off, sub + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, // group_uniformity + 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, // );..struct Unifo + 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, // rmBlock {. u_pa + 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // rams : array, 4u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // v_world : vec3) {. let v_1 + 0x20, 0x3d, 0x20, 0x28, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, // = ((dot(normali + 0x7a, 0x65, 0x28, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x28, 0x64, 0x70, 0x64, 0x78, 0x28, 0x76, 0x5f, // ze(cross(dpdx(v_ + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, 0x2c, 0x20, 0x64, 0x70, 0x64, 0x79, 0x28, 0x2d, 0x28, 0x76, // world), dpdy(-(v + 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, // _world)))), v.u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5b, 0x30, 0x69, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x20, // params[0i].xyz) + 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x3b, // * 0.5f) + 0.5f); + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, // . let v_2 = (mi + 0x78, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5b, 0x32, 0x69, 0x5d, // x(v.u_params[2i] + 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // .xyz, v.u_params + 0x5b, 0x31, 0x69, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // [1i].xyz, vec3(v_1, v_1, v_ + 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // 1)) * v.u_params + 0x5b, 0x33, 0x69, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, // [3i].xyz);. bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, // x_FragData0 = ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x76, // c4(v_2.x, v + 0x5f, 0x32, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2e, 0x7a, 0x2c, 0x20, 0x76, 0x2e, 0x75, // _2.y, v_2.z, v.u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5b, 0x33, 0x69, 0x5d, 0x2e, 0x77, 0x29, 0x3b, 0x0a, // _params[3i].w);. + 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, // }..@fragment.fn + 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, // main(@location(1 + 0x75, 0x29, 0x20, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // u) v_world : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // 3) -> @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // tion(0u) vec4 {. main_inne + 0x72, 0x28, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, // r(v_world);. re + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // turn bgfx_FragDa + 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, // ta0;.}...@.@. +}; static const uint8_t fs_debugdraw_fill_lit_dx11[733] = { 0x46, 0x53, 0x48, 0x0b, 0x0f, 0xc8, 0x56, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, // FSH...V_.......u diff --git a/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h b/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h index 01b81443d..6b2979e1e 100644 --- a/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h +++ b/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h @@ -91,6 +91,50 @@ static const uint8_t fs_debugdraw_fill_texture_spv[863] = 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x80, // ...M...>...].... 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // .......8....... }; +static const uint8_t fs_debugdraw_fill_texture_wgsl[641] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, // _texColor0...... + 0x02, 0x26, 0x00, 0x54, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .&.T...diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, // ty);..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, // @binding(18u) v + 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, // ar s_texColorSam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, // pler : sampler;. + 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, // .@group(0u) @bin + 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, // ding(2u) var s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, // exColorTexture : + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, // texture_2d + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, // bgfx_FragData0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, // vec4;..fn + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // main_inner(v_col + 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // or0 : vec4, + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, // v_texcoord0 : v + 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, // ec2) {. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x28, // fx_FragData0 = ( + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, // textureSample(s_ + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, // texColorTexture, + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, // s_texColorSampl + 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, // er, v_texcoord0) + 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, // * v_color0);.}. + 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // .@fragment.fn ma + 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, // in(@location(0u) + 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // v_color0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // (1u) v_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, // : vec2) -> + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, // @location(0u) v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, // ec4 {. mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // n_inner(v_color0 + 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, // , v_texcoord0);. + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // return bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, // agData0;.}...... + 0x00, // . +}; static const uint8_t fs_debugdraw_fill_texture_dx11[423] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s diff --git a/examples/common/debugdraw/fs_debugdraw_lines.bin.h b/examples/common/debugdraw/fs_debugdraw_lines.bin.h index eee4d6918..5620e80f0 100644 --- a/examples/common/debugdraw/fs_debugdraw_lines.bin.h +++ b/examples/common/debugdraw/fs_debugdraw_lines.bin.h @@ -45,6 +45,31 @@ static const uint8_t fs_debugdraw_lines_spv[406] = 0x03, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..-...#.......8. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... }; +static const uint8_t fs_debugdraw_lines_wgsl[349] = +{ + 0x46, 0x53, 0x48, 0x0b, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x01, // FSH....I......E. + 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ..diagnostic(off + 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, // , derivative_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // formity);.diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, // stic(off, subgro + 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, // up_uniformity);. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, // 0 : vec4) { + 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // . bgfx_FragData + 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, // 0 = v_color0;.}. + 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // .@fragment.fn ma + 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, // in(@location(0u) + 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // v_color0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ) -> @locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // ion(0u) vec4 {. main_inner + 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, // (v_color0);. re + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // turn bgfx_FragDa + 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ta0;.}....... +}; static const uint8_t fs_debugdraw_lines_dx11[270] = { 0x46, 0x53, 0x48, 0x0b, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, // FSH....I........ diff --git a/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h b/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h index 806b52532..988f0b5e1 100644 --- a/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h +++ b/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h @@ -80,6 +80,41 @@ static const uint8_t fs_debugdraw_lines_stipple_spv[702] = 0x02, 0x00, 0x71, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x3e, 0x00, // ..q...>...N...>. 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ......8....... }; +static const uint8_t fs_debugdraw_lines_stipple_wgsl[507] = +{ + 0x46, 0x53, 0x48, 0x0b, 0xe7, 0x1a, 0x5a, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0x01, // FSH...Z......... + 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ..diagnostic(off + 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, // , derivative_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // formity);.diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, // stic(off, subgro + 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, // up_uniformity);. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x29, 0x20, // _stipple : f32) + 0x7b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x30, 0x2e, 0x31, 0x32, 0x35, 0x66, 0x20, // {. if ((0.125f + 0x3c, 0x20, 0x28, 0x76, 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x2d, 0x20, 0x28, // < (v_stipple - ( + 0x30, 0x2e, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x28, 0x76, // 0.25f * floor((v + 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, // _stipple * 4.0f) + 0x29, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x69, 0x73, 0x63, // ))))) {. disc + 0x61, 0x72, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, // ard;. return; + 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // . }. bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // Data0 = v_color0 + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, // ;.}..@fragment.f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // n main(@location + 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, // (0u) v_color0 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // vec4, @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, // tion(1u) v_stipp + 0x6c, 0x65, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, // le : f32) -> @lo + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // cation(0u) vec4< + 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, // f32> {. main_in + 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, // ner(v_color0, v_ + 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, // stipple);. retu + 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // rn bgfx_FragData + 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0;.}....... +}; static const uint8_t fs_debugdraw_lines_stipple_dx11[450] = { 0x46, 0x53, 0x48, 0x0b, 0xe7, 0x1a, 0x5a, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x01, // FSH...Z......... diff --git a/examples/common/debugdraw/vs_debugdraw_fill.bin.h b/examples/common/debugdraw/vs_debugdraw_fill.bin.h index 4abc65784..a74fae2a3 100644 --- a/examples/common/debugdraw/vs_debugdraw_fill.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_fill.bin.h @@ -129,6 +129,54 @@ static const uint8_t vs_debugdraw_fill_spv[1257] = 0x00, 0x40, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, // .@...f.......8.. 0x00, 0x00, 0x02, 0x0e, 0x00, 0x01, 0x00, 0xc0, 0x00, // ......... }; +static const uint8_t vs_debugdraw_fill_wgsl[716] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x02, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // _model..@....... + 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x04, // .u_viewProj..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, // .........diagnos + 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, // tic(off, derivat + 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, // ive_uniformity); + 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, // .diagnostic(off, + 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // subgroup_unifor + 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // mity);..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x20, // niformBlock_1_1 + 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, // {. u_viewProj : + 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, // mat4x4,. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, // u_model : array< + 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x32, 0x75, 0x3e, // mat4x4, 2u> + 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // ,.}..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(0u) var + 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, 0x6e, // v : Un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, // iformBlock_1_1;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 1 : vec4;.. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, // fn main_inner(a_ + 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x75, // indices : vec4, a_position + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, // : vec3) {. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, // let v_2 = (v.u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x62, 0x69, 0x74, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x69, 0x33, // model[bitcast(a_indices.x)] + 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, // * vec4(a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // osition.x, a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // ition.y, a_posit + 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, // ion.z, 1.0f));. + 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // v_1 = (v.u_view + 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, // Proj * v_2);.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x75, // indices : vec4, @location(1 + 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, // u) a_position : + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x62, // vec3) -> @b + 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, // uiltin(position) + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, // vec4 {. m + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, // ain_inner(a_indi + 0x63, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, // ces, a_position) + 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5f, 0x31, 0x3b, 0x0a, // ;. return v_1;. + 0x7d, 0x0a, 0x00, 0x02, 0x0e, 0x00, 0x01, 0x00, 0xc0, 0x00, 0xc0, 0x00, // }........... +}; static const uint8_t vs_debugdraw_fill_dx11[693] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x75, // VSH............u diff --git a/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h b/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h index 1386503a6..459af6f9f 100644 --- a/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h @@ -178,6 +178,74 @@ static const uint8_t vs_debugdraw_fill_lit_spv[1674] = 0x03, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..[...........8. 0x01, 0x00, 0x00, 0x02, 0x0e, 0x00, 0x01, 0x00, 0x00, 0x01, // .......... }; +static const uint8_t vs_debugdraw_fill_lit_wgsl[1040] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc8, 0x56, 0x5f, 0x03, 0x00, 0x07, 0x75, // VSH.......V_...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x02, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // _model.......... + 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x40, 0x00, 0x04, // .u_viewProj..@.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x04, 0x01, 0x00, 0x00, // ......u_view.... + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ..........diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, // rmity);..struct + 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, // UniformBlock_1_1 + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x20, 0x3a, 0x20, 0x6d, 0x61, // {. u_view : ma + 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, // t4x4,. u_v + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, // iewProj : mat4x4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // ,. u_model + 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // : array, 2u>,.}..@g + 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, // roup(0u) @bindin + 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // g(0u) var v : UniformBl + 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // ock_1_1;..var v_1 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, // 4;..var v_2 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // ;..var v_3 : vec3< + 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, // f32>;..fn main_i + 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x3a, // nner(a_indices : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x75, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, // vec4, a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // sition : vec3) {. let v_4 + 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x62, 0x69, 0x74, // = (v.u_model[bit + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x69, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, // cast(a_indi + 0x63, 0x65, 0x73, 0x2e, 0x78, 0x29, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ces.x)] * vec4(a_position.x + 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, // , a_position.y, + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, // a_position.z, 1. + 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, // 0f));. let v_5 + 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, // = (v.u_viewProj + 0x2a, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // * v_4);. let v_ + 0x36, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x20, 0x2a, // 6 = ((v.u_view * + 0x20, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // v_4)).xyz;. v_ + 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, // 1 = v_5;. v_2 = + 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, // v_6;. v_3 = v_ + 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, // 4.xyz;.}..struct + 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, // tint_symbol {. + 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // @builtin(positi + 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // on). m : vec4,. @location + 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // (0u). m_1 : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // 3,. @locat + 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, // ion(1u). m_2 : + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, // vec3,.}..@v + 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, // ertex.fn main(@l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x69, 0x6e, // ocation(0u) a_in + 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x75, 0x33, 0x32, // dices : vec4, @location(1u) + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, // a_position : ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // c3) -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, // _inner(a_indices + 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x20, // , a_position);. + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // return tint_sym + 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, // bol(v_1, v_2, v_ + 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x02, 0x0e, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, // 3);.}........... +}; static const uint8_t vs_debugdraw_fill_lit_dx11[966] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc8, 0x56, 0x5f, 0x03, 0x00, 0x06, 0x75, // VSH.......V_...u diff --git a/examples/common/debugdraw/vs_debugdraw_fill_lit_mesh.bin.h b/examples/common/debugdraw/vs_debugdraw_fill_lit_mesh.bin.h index 4d6468c2a..3ab8fc400 100644 --- a/examples/common/debugdraw/vs_debugdraw_fill_lit_mesh.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_fill_lit_mesh.bin.h @@ -164,6 +164,68 @@ static const uint8_t vs_debugdraw_fill_lit_mesh_spv[1532] = 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xfd, 0x00, // ..>...M...v..... 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0xc0, 0x00, // ..8......... }; +static const uint8_t vs_debugdraw_fill_lit_mesh_wgsl[944] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc8, 0x56, 0x5f, 0x03, 0x00, 0x07, 0x75, // VSH.......V_...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x01, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // _model.......... + 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x40, 0x00, 0x04, // .u_viewProj..@.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x04, 0x01, 0x00, 0x00, // ......u_view.... + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ......^...diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, // rmity);..struct + 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, // UniformBlock_1_1 + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x20, 0x3a, 0x20, 0x6d, 0x61, // {. u_view : ma + 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, // t4x4,. u_v + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, // iewProj : mat4x4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // ,. u_model + 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // : array, 1u>,.}..@g + 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, // roup(0u) @bindin + 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // g(0u) var v : UniformBl + 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // ock_1_1;..var v_1 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, // 4;..var v_2 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // ;..var v_3 : vec3< + 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, // f32>;..fn main_i + 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, // nner(a_position + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, // : vec3) {. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, // let v_4 = (v.u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, // model[0i] * vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // (a_position + 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, // .x, a_position.y + 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, // , a_position.z, + 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // 1.0f));. let v_ + 0x35, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // 5 = (v.u_viewPro + 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // j * v_4);. let + 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // v_6 = ((v.u_view + 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, // * v_4)).xyz;. + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, // v_1 = v_5;. v_2 + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, // = v_6;. v_3 = + 0x76, 0x5f, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // v_4.xyz;.}..stru + 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, // ct tint_symbol { + 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, // . @builtin(posi + 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // tion). m : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // ,. @locati + 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, // on(0u). m_1 : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec3,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, // ation(1u). m_2 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, // : vec3,.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // position : vec3< + 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, // f32>) -> tint_sy + 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, // mbol {. main_in + 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, // ner(a_position); + 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, // . return tint_s + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, // ymbol(v_1, v_2, + 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x01, 0x01, 0x00, 0xc0, 0x00, 0xc0, 0x00, // v_3);.}......... +}; static const uint8_t vs_debugdraw_fill_lit_mesh_dx11[856] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc8, 0x56, 0x5f, 0x03, 0x00, 0x06, 0x75, // VSH.......V_...u diff --git a/examples/common/debugdraw/vs_debugdraw_fill_mesh.bin.h b/examples/common/debugdraw/vs_debugdraw_fill_mesh.bin.h index 9d0bc1379..8c40f0cb4 100644 --- a/examples/common/debugdraw/vs_debugdraw_fill_mesh.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_fill_mesh.bin.h @@ -114,6 +114,48 @@ static const uint8_t vs_debugdraw_fill_mesh_spv[1115] = 0x00, 0x3e, 0x00, 0x03, 0x00, 0x34, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, // .>...4...U...... 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x80, 0x00, // .8......... }; +static const uint8_t vs_debugdraw_fill_mesh_wgsl[620] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // _model..@....... + 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x04, // .u_viewProj..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, // .....+...diagnos + 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, // tic(off, derivat + 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, // ive_uniformity); + 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, // .diagnostic(off, + 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // subgroup_unifor + 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // mity);..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x20, // niformBlock_1_1 + 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, // {. u_viewProj : + 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, // mat4x4,. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, // u_model : array< + 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x31, 0x75, 0x3e, // mat4x4, 1u> + 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // ,.}..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(0u) var + 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, 0x6e, // v : Un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, // iformBlock_1_1;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 1 : vec4;.. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, // fn main_inner(a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // position : vec3< + 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // f32>) {. let v_ + 0x32, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, // 2 = (v.u_model[0 + 0x69, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, // i] * vec4(a + 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, // _position.x, a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // osition.y, a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, // ition.z, 1.0f)); + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, // . v_1 = (v.u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x7d, // ewProj * v_2);.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // a_position : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, // 3) -> @buil + 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x76, 0x65, // tin(position) ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // c4 {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // _inner(a_positio + 0x6e, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5f, 0x31, // n);. return v_1 + 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x01, 0x01, 0x00, 0x80, 0x00, 0x80, 0x00, // ;.}......... +}; static const uint8_t vs_debugdraw_fill_mesh_dx11[583] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x75, // VSH............u diff --git a/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h b/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h index 47acb1b2d..ba26e4f0e 100644 --- a/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h @@ -139,6 +139,68 @@ static const uint8_t vs_debugdraw_fill_texture_spv[1270] = 0x40, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, // @.......8....... 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, // ....@. }; +static const uint8_t vs_debugdraw_fill_texture_wgsl[934] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........n...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec2; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec3, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, // texcoord0 : vec2 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, // position.y, a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, // sition.z, 1.0f)) + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ;. v_2 = a_colo + 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, // r0;. v_3 = a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // xcoord0;.}..stru + 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, // ct tint_symbol { + 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, // . @builtin(posi + 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // tion). m : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // ,. @locati + 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, // on(0u). m_1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, // ation(1u). m_2 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, // : vec2,.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, @location(1u + 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // ) a_position : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec3, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(2u) a_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec2) + 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, // -> tint_symbol + 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, // {. main_inner(a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // _color0, a_posit + 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // ion, a_texcoord0 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, // );. return tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, // _symbol(v_1, v_2 + 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, // , v_3);.}....... + 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // ..@.@. +}; static const uint8_t vs_debugdraw_fill_texture_dx11[634] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u diff --git a/examples/common/debugdraw/vs_debugdraw_lines.bin.h b/examples/common/debugdraw/vs_debugdraw_lines.bin.h index c284da330..730b2e95f 100644 --- a/examples/common/debugdraw/vs_debugdraw_lines.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_lines.bin.h @@ -114,6 +114,57 @@ static const uint8_t vs_debugdraw_lines_spv[1060] = 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x02, 0x05, 0x00, // 0.......8....... 0x01, 0x00, 0x40, 0x00, // ..@. }; +static const uint8_t vs_debugdraw_lines_wgsl[763] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, // VSH........I...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ............diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, // ;..fn main_inner + 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // (a_color0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // , a_positio + 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, // n : vec3) { + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, // . v_1 = (v.u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, // delViewProj * ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // c4(a_positi + 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // on.x, a_position + 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, // .y, a_position.z + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, // , 1.0f));. v_2 + 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, // = a_color0;.}..s + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, // truct tint_symbo + 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, // l {. @builtin(p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, // osition). m : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, // ation(0u). m_1 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, // : vec4,.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, @location(1u + 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // ) a_position : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, // ec3) -> tin + 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, // t_symbol {. mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // n_inner(a_color0 + 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x20, // , a_position);. + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // return tint_sym + 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x7d, // bol(v_1, v_2);.} + 0x0a, 0x00, 0x02, 0x05, 0x00, 0x01, 0x00, 0x40, 0x00, 0x40, 0x00, // .......@.@. +}; static const uint8_t vs_debugdraw_lines_dx11[524] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, // VSH........I...u diff --git a/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h b/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h index aa6afd4b5..7edddde0b 100644 --- a/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h +++ b/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h @@ -140,6 +140,67 @@ static const uint8_t vs_debugdraw_lines_stipple_spv[1286] = 0x79, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, // y.......8....... 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, // ....@. }; +static const uint8_t vs_debugdraw_lines_stipple_wgsl[924] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x1a, 0x5a, 0xef, 0x01, 0x00, 0x0f, 0x75, // VSH.......Z....u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........d...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, // v_3 : f32;..fn m + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ain_inner(a_colo + 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // r0 : vec4, + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // a_position : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // 3, a_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec2) + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, // {. v_1 = (v.u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, // modelViewProj * + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // vec4(a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // tion.x, a_positi + 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // on.y, a_position + 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // .z, 1.0f));. v_ + 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, // 2 = a_color0;. + 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // v_3 = a_texcoord + 0x30, 0x2e, 0x78, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, // 0.x;.}..struct t + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, // int_symbol {. @ + 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // builtin(position + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // ). m : vec4,. @location(0 + 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u). m_1 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x66, 0x33, // n(1u). m_2 : f3 + 0x32, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, // 2,.}..@vertex.fn + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // main(@location( + 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, // 0u) a_color0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ion(1u) a_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec3, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(2u) a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, // texcoord0 : vec2 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, // ) -> tint_s + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, // ymbol {. main_i + 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, // nner(a_color0, a + 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, // _position, a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // coord0);. retur + 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, // n tint_symbol(v_ + 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, // 1, v_2, v_3);.}. + 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // ........@.@. +}; static const uint8_t vs_debugdraw_lines_stipple_dx11[634] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x1a, 0x5a, 0xef, 0x01, 0x00, 0x0f, 0x75, // VSH.......Z....u diff --git a/examples/common/font/fs_font_basic.bin.h b/examples/common/font/fs_font_basic.bin.h index debc9f28c..5a24a0f52 100644 --- a/examples/common/font/fs_font_basic.bin.h +++ b/examples/common/font/fs_font_basic.bin.h @@ -193,6 +193,62 @@ static const uint8_t fs_font_basic_spv[1379] = 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ...........8.... 0x00, 0x00, 0x00, // ... }; +static const uint8_t fs_font_basic_wgsl[836] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, // _texColor0...... + 0x04, 0x26, 0x00, 0x17, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .&.....diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, // ty);..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, // @binding(18u) v + 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, // ar s_texColorSam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, // pler : sampler;. + 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, // .@group(0u) @bin + 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, // ding(2u) var s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, // exColorTexture : + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x33, // texture_cube;..var bgfx_FragData0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, // : vec4;..f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, // n main_inner(v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, v_texcoord0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec4) {. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, // let v = textureS + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ample(s_texColor + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, // Texture, s_texCo + 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // lorSampler, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, // xcoord0.xyz);. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, // let v_1 = i32((( + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, // v_texcoord0.w * + 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, // 4.0f) + 0.5f));. + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // bgfx_FragData0 + 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x63, // = vec4(v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // olor0.x, v_color + 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x7a, 0x2c, // 0.y, v_color0.z, + 0x20, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x73, // (v_color0.w * s + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x73, 0x65, 0x6c, // elect(select(sel + 0x65, 0x63, 0x74, 0x28, 0x76, 0x2e, 0x77, 0x2c, 0x20, 0x76, 0x2e, 0x78, 0x2c, 0x20, 0x28, 0x76, // ect(v.w, v.x, (v + 0x5f, 0x31, 0x20, 0x3c, 0x20, 0x33, 0x69, 0x29, 0x29, 0x2c, 0x20, 0x76, 0x2e, 0x79, 0x2c, 0x20, // _1 < 3i)), v.y, + 0x28, 0x76, 0x5f, 0x31, 0x20, 0x3c, 0x20, 0x32, 0x69, 0x29, 0x29, 0x2c, 0x20, 0x76, 0x2e, 0x7a, // (v_1 < 2i)), v.z + 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x31, 0x20, 0x3c, 0x20, 0x31, 0x69, 0x29, 0x29, 0x29, 0x29, 0x3b, // , (v_1 < 1i)))); + 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, // .}..@fragment.fn + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // main(@location( + 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, // 0u) v_color0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(1u) v_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec4) + 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, // -> @location(0u + 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, // ) vec4 {. + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // main_inner(v_col + 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // or0, v_texcoord0 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, // );. return bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, // _FragData0;.}... + 0x00, 0x00, 0x00, 0x00, // .... +}; static const uint8_t fs_font_basic_dx11[647] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s diff --git a/examples/common/font/fs_font_distance_field.bin.h b/examples/common/font/fs_font_distance_field.bin.h index b051bc24e..3d1a00419 100644 --- a/examples/common/font/fs_font_distance_field.bin.h +++ b/examples/common/font/fs_font_distance_field.bin.h @@ -255,6 +255,80 @@ static const uint8_t fs_font_distance_field_spv[1942] = 0x03, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..............8. 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ...... }; +static const uint8_t fs_font_distance_field_wgsl[1132] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, // ..s_texColor0... + 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0x2c, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ....&.,...diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // rmity);..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, // 0u) @binding(18u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ) var s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // Sampler : sample + 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // r;..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, // binding(2u) var + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // s_texColorTextur + 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, // e : texture_cube + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // ;..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, // niformBlock {. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u_params : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _texcoord0 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, // 4) {. var + 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, 0x32, 0x2c, // v_1 : array;. let v_2 + 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, // = v_texcoord0.xy + 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x74, // z;. let v_3 = t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, // extureSample(s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, // exColorTexture, + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // s_texColorSample + 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x30, // r, v_2);. v_1[0 + 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // i] = v_3.z;. v_ + 0x31, 0x5b, 0x31, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, // 1[1i] = v_3.y;. + 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x78, // v_1[2i] = v_3.x + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x33, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, // ;. v_1[3i] = v_ + 0x33, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, // 3.w;. let v_4 = + 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, // v_1[i32(((v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, // coord0.w * 4.0f) + 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // + 0.5f))];. le + 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, // t v_5 = ((length + 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x32, 0x29, 0x29, 0x20, 0x2a, 0x20, // (fwidth(v_2)) * + 0x31, 0x31, 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, 0x35, 0x38, 0x38, // 11.3137083053588 + 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, // 8671875f) * v.u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, // params.y);. bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, // x_FragData0 = ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // c4(v_color0 + 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x79, 0x2c, 0x20, // .x, v_color0.y, + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x73, 0x6d, 0x6f, // v_color0.z, (smo + 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, // othstep((0.5f - + 0x76, 0x5f, 0x35, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, // v_5), (0.5f + v_ + 0x35, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // 5), v_4) * v_col + 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, // or0.w));.}..@fra + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, // gment.fn main(@l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, // ocation(0u) v_co + 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // lor0 : vec4 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, // , @location(1u) + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // v_texcoord0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, // c4) -> @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ation(0u) vec4 {. main_inn + 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, // er(v_color0, v_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // urn bgfx_FragDat + 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // a0;.}....... +}; static const uint8_t fs_font_distance_field_dx11[1098] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH............u diff --git a/examples/common/font/fs_font_distance_field_drop_shadow.bin.h b/examples/common/font/fs_font_distance_field_drop_shadow.bin.h index 1e6d275ec..9a84c53f9 100644 --- a/examples/common/font/fs_font_distance_field_drop_shadow.bin.h +++ b/examples/common/font/fs_font_distance_field_drop_shadow.bin.h @@ -460,6 +460,129 @@ static const uint8_t fs_font_distance_field_drop_shadow_spv[3078] = 0x03, 0x00, 0x0c, 0x01, 0x00, 0x00, 0xe4, 0x01, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..............8. 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ...... }; +static const uint8_t fs_font_distance_field_drop_shadow_wgsl[1912] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x9e, 0x67, 0x7a, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH..gz........u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, // ..s_texColor0... + 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0x38, 0x07, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ....&.8...diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // rmity);..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, // 0u) @binding(18u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ) var s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // Sampler : sample + 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // r;..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, // binding(2u) var + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // s_texColorTextur + 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, // e : texture_cube + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // ;..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, // niformBlock {. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u_params : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _texcoord0 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // 4, v_texcoo + 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd2 : vec4) + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x61, // {. var v_1 : a + 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x34, 0x75, 0x3e, 0x3b, 0x0a, 0x20, // rray;. + 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, // var v_2 : array + 0x3c, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x34, 0x75, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, // ;. var + 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_3 : vec4 + 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, // ;. switch(0u) { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, // . default: {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, // let v_4 = + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x3b, // v_texcoord2.xyz; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x61, 0x6e, 0x79, // . if (!(any + 0x28, 0x28, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // ((v_4 == vec3())))) {. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, // let v_5 = tex + 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, // tureSample(s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, // ColorTexture, s_ + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, // texColorSampler, + 0x20, 0x76, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // v_4);. v + 0x5f, 0x31, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x7a, 0x3b, 0x0a, // _1[0i] = v_5.z;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x31, 0x69, 0x5d, 0x20, // v_1[1i] + 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // = v_5.y;. + 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x78, // v_1[2i] = v_5.x + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x33, 0x69, // ;. v_1[3i + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // ] = v_5.w;. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // let v_6 = v_1 + 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // [i32(((v_texcoor + 0x64, 0x32, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, // d2.w * 4.0f) + 0 + 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // .5f))];. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x28, 0x6c, 0x65, 0x6e, // let v_7 = (((len + 0x67, 0x74, 0x68, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x34, 0x29, 0x29, // gth(fwidth(v_4)) + 0x20, 0x2a, 0x20, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, // * 11.3137083053 + 0x35, 0x38, 0x38, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, // 5888671875f) * v + 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x20, 0x2a, 0x20, 0x76, // .u_params.y) * v + 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, // .u_params.z);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, // v_3 = vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, // (v_color0.x + 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, // , v_color0.y, v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x73, 0x6d, 0x6f, 0x6f, 0x74, // color0.z, (smoot + 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x76, 0x5f, // hstep((0.5f - v_ + 0x37, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x37, 0x29, // 7), (0.5f + v_7) + 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // , v_6) * v_color + 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, // 0.w));. b + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, // reak;. }. + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x5f, // let v_8 = v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, // texcoord0.xyz;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x74, // let v_9 = t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, // extureSample(s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, // exColorTexture, + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // s_texColorSample + 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x38, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // r, v_8);. v + 0x5f, 0x32, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x7a, 0x3b, 0x0a, // _2[0i] = v_9.z;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x31, 0x69, 0x5d, 0x20, 0x3d, 0x20, // v_2[1i] = + 0x76, 0x5f, 0x39, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, // v_9.y;. v_2 + 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, // [2i] = v_9.x;. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x33, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, // v_2[3i] = v_ + 0x39, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // 9.w;. let v + 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, // _10 = v_2[i32((( + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, // v_texcoord0.w * + 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, 0x3b, // 4.0f) + 0.5f))]; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, // . let v_11 + 0x3d, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, // = ((length(fwidt + 0x68, 0x28, 0x76, 0x5f, 0x38, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x33, // h(v_8)) * 11.313 + 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, 0x35, 0x38, 0x38, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, // 7083053588867187 + 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // 5f) * v.u_params + 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, // .y);. v_3 = + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // vec4(v_col + 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, // or0.x, v_color0. + 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x7a, 0x2c, 0x20, 0x28, // y, v_color0.z, ( + 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, // smoothstep((0.5f + 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, // - v_11), (0.5f + 0x2b, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x29, 0x20, 0x2a, // + v_11), v_10) * + 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, // v_color0.w));. + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // }. }. bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x3b, // FragData0 = v_3; + 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, // .}..@fragment.fn + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // main(@location( + 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, // 0u) v_color0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(2u) v_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // rd0 : vec4, + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x20, 0x76, // @location(4u) v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _texcoord2 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // 4) -> @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // tion(0u) vec4 {. main_inne + 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // r(v_color0, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // xcoord0, v_texco + 0x6f, 0x72, 0x64, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, // ord2);. return + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, // bgfx_FragData0;. + 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // }....... +}; static const uint8_t fs_font_distance_field_drop_shadow_dx11[2042] = { 0x46, 0x53, 0x48, 0x0b, 0x9e, 0x67, 0x7a, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH..gz........u diff --git a/examples/common/font/fs_font_distance_field_drop_shadow_image.bin.h b/examples/common/font/fs_font_distance_field_drop_shadow_image.bin.h index 641fe42ff..8f5a80ef8 100644 --- a/examples/common/font/fs_font_distance_field_drop_shadow_image.bin.h +++ b/examples/common/font/fs_font_distance_field_drop_shadow_image.bin.h @@ -524,6 +524,148 @@ static const uint8_t fs_font_distance_field_drop_shadow_image_spv[3466] = 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x27, 0x01, 0x00, 0x00, 0x2d, 0x02, 0x00, 0x00, 0xfd, 0x00, // ..>...'...-..... 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ..8....... }; +static const uint8_t fs_font_distance_field_drop_shadow_image_wgsl[2212] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x9e, 0x67, 0x7a, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH..gz........u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, // ..s_texColor0... + 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0x64, 0x08, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ....&.d...diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // rmity);..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, // 0u) @binding(18u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ) var s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // Sampler : sample + 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // r;..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, // binding(2u) var + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // s_texColorTextur + 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, // e : texture_cube + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // ;..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, // niformBlock {. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u_params : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _texcoord0 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // 4, v_texcoo + 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // rd1 : vec4, + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, // v_texcoord2 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x61, // ec4) {. va + 0x72, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, // r v_1 : array;. var v_ + 0x32, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x34, // 2 : array;. var v_3 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x77, 0x69, // vec4;. swi + 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, // tch(0u) {. de + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, // fault: {. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // et v_4 = v_texco + 0x6f, 0x72, 0x64, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // ord2.xyz;. + 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x61, 0x6e, 0x79, 0x28, 0x28, 0x76, 0x5f, 0x34, 0x20, 0x3d, // if (!(any((v_4 = + 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x29, 0x29, 0x29, // = vec3()))) + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // ) {. let + 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, // v_5 = textureSam + 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // ple(s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // xture, s_texColo + 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x3b, 0x0a, // rSampler, v_4);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x30, 0x69, 0x5d, 0x20, // v_1[0i] + 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // = v_5.z;. + 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x31, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, // v_1[1i] = v_5.y + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x32, 0x69, // ;. v_1[2i + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // ] = v_5.x;. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x33, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, // v_1[3i] = v_5 + 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // .w;. let + 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, // v_6 = v_1[i32((( + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x2e, 0x77, 0x20, 0x2a, 0x20, // v_texcoord2.w * + 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, 0x3b, // 4.0f) + 0.5f))]; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x37, // . let v_7 + 0x20, 0x3d, 0x20, 0x28, 0x28, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x66, 0x77, 0x69, // = (((length(fwi + 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x31, 0x2e, 0x33, // dth(v_4)) * 11.3 + 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, 0x35, 0x38, 0x38, 0x38, 0x36, 0x37, 0x31, // 1370830535888671 + 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, // 875f) * v.u_para + 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, // ms.y) * v.u_para + 0x6d, 0x73, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // ms.z);. v + 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // _3 = vec4(v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // _color0.x, v_col + 0x6f, 0x72, 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, // or0.y, v_color0. + 0x7a, 0x2c, 0x20, 0x28, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, // z, (smoothstep(( + 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x37, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, // 0.5f - v_7), (0. + 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x37, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x20, // 5f + v_7), v_6) + 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, // * v_color0.w));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, // break;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, // }. let + 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // v_8 = v_texcoor + 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, // d0.xyz;. if + 0x20, 0x28, 0x61, 0x6e, 0x79, 0x28, 0x28, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x65, // (any((v_8 == ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, // c3()))) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, // let v_9 = + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, // textureSample(s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, // _texColorTexture + 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, // , s_texColorSamp + 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, // ler, v_texcoord1 + 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // .xyz);. v + 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // _3 = vec4(v + 0x5f, 0x39, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x39, // _9.x, v_9.y, v_9 + 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x39, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, // .z, (v_9.w * v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // olor0.w));. + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, // }. let v_10 + 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // = textureSample + 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, // (s_texColorTextu + 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, // re, s_texColorSa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x38, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // mpler, v_8);. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // v_2[0i] = v_1 + 0x30, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x31, // 0.z;. v_2[1 + 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, // i] = v_10.y;. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // v_2[2i] = v_1 + 0x30, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x33, // 0.x;. v_2[3 + 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, // i] = v_10.w;. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, // let v_11 = v_ + 0x32, 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // 2[i32(((v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, // rd0.w * 4.0f) + + 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, // 0.5f))];. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x6e, 0x67, // et v_12 = ((leng + 0x74, 0x68, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x38, 0x29, 0x29, 0x20, // th(fwidth(v_8)) + 0x2a, 0x20, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, 0x35, // * 11.31370830535 + 0x38, 0x38, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, // 888671875f) * v. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // u_params.y);. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // v_3 = vec4(v_color0.x, v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // _color0.y, v_col + 0x6f, 0x72, 0x30, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, // or0.z, (smoothst + 0x65, 0x70, 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x29, // ep((0.5f - v_12) + 0x2c, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x29, 0x2c, // , (0.5f + v_12), + 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // v_11) * v_color + 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, // 0.w));. }. } + 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // . bgfx_FragData + 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, // 0 = v_3;.}..@fra + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, // gment.fn main(@l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, // ocation(0u) v_co + 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // lor0 : vec4 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // v_texcoord0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // c4, @locati + 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // on(3u) v_texcoor + 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // d1 : vec4, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x20, 0x76, 0x5f, // @location(4u) v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord2 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ) -> @locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // ion(0u) vec4 {. main_inner + 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, // (v_color0, v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // coord0, v_texcoo + 0x72, 0x64, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, // rd1, v_texcoord2 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, // );. return bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, // _FragData0;.}... + 0x10, 0x00, 0x10, 0x00, // .... +}; static const uint8_t fs_font_distance_field_drop_shadow_image_dx11[2262] = { 0x46, 0x53, 0x48, 0x0b, 0x9e, 0x67, 0x7a, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH..gz........u diff --git a/examples/common/font/fs_font_distance_field_outline.bin.h b/examples/common/font/fs_font_distance_field_outline.bin.h index ca126f8c1..e65e49ecb 100644 --- a/examples/common/font/fs_font_distance_field_outline.bin.h +++ b/examples/common/font/fs_font_distance_field_outline.bin.h @@ -328,6 +328,95 @@ static const uint8_t fs_font_distance_field_outline_spv[2302] = 0x00, 0x00, 0x3a, 0x01, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3e, 0x01, // ..:...>.......>. 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ......8....... }; +static const uint8_t fs_font_distance_field_outline_wgsl[1371] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x94, 0xf7, 0xae, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH....n.......u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, // ..s_texColor0... + 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0x1b, 0x05, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ....&.....diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // rmity);..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, // 0u) @binding(18u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ) var s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // Sampler : sample + 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // r;..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, // binding(2u) var + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // s_texColorTextur + 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, // e : texture_cube + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // ;..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, // niformBlock {. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u_params : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // _color1 : vec4, v_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, // : vec4) {. + 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, // var v_1 : arra + 0x79, 0x3c, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x34, 0x75, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // y;. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // t v_2 = v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // rd0.xyz;. let v + 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, // _3 = textureSamp + 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, // le(s_texColorTex + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ture, s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, // Sampler, v_2);. + 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x7a, // v_1[0i] = v_3.z + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x31, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, // ;. v_1[1i] = v_ + 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, // 3.y;. v_1[2i] = + 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x33, 0x69, // v_3.x;. v_1[3i + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // ] = v_3.w;. let + 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, // v_4 = v_1[i32(( + 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, // (v_texcoord0.w * + 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, // 4.0f) + 0.5f))] + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, // ;. let v_5 = (( + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, // length(fwidth(v_ + 0x32, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, // 2)) * 11.3137083 + 0x30, 0x35, 0x33, 0x35, 0x38, 0x38, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, // 0535888671875f) + 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x3b, // * v.u_params.y); + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, // . let v_6 = (0. + 0x35, 0x66, 0x20, 0x2d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // 5f - (v.u_params + 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // .w * v_5));. le + 0x74, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, // t v_7 = smoothst + 0x65, 0x70, 0x28, 0x28, 0x76, 0x5f, 0x36, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x35, 0x29, 0x2c, 0x20, // ep((v_6 - v_5), + 0x28, 0x76, 0x5f, 0x36, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x35, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x34, // (v_6 + v_5), v_4 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x73, // );. let v_8 = s + 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, // moothstep((0.5f + 0x2d, 0x20, 0x76, 0x5f, 0x35, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, // - v_5), (0.5f + + 0x76, 0x5f, 0x35, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // v_5), v_4);. le + 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x5f, 0x63, 0x6f, // t v_9 = mix(v_co + 0x6c, 0x6f, 0x72, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // lor1.xyz, v_colo + 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // r0.xyz, vec3(v_8, v_8, v_8) + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // );. bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // ta0 = vec4( + 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, // v_9.x, v_9.y, v_ + 0x39, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x37, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, // 9.z, (v_7 * v_co + 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, // lor0.w));.}..@fr + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, // agment.fn main(@ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, // location(0u) v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, @location(1u) + 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // v_color1 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // (2u) v_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, // : vec4) -> + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, // @location(0u) v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, // ec4 {. mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // n_inner(v_color0 + 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // , v_color1, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, // xcoord0);. retu + 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // rn bgfx_FragData + 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // 0;.}....... +}; static const uint8_t fs_font_distance_field_outline_dx11[1578] = { 0x46, 0x53, 0x48, 0x0b, 0x94, 0xf7, 0xae, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH....n.......u diff --git a/examples/common/font/fs_font_distance_field_outline_drop_shadow_image.bin.h b/examples/common/font/fs_font_distance_field_outline_drop_shadow_image.bin.h index f3775c799..e90c9d0dd 100644 --- a/examples/common/font/fs_font_distance_field_outline_drop_shadow_image.bin.h +++ b/examples/common/font/fs_font_distance_field_outline_drop_shadow_image.bin.h @@ -632,6 +632,171 @@ static const uint8_t fs_font_distance_field_outline_drop_shadow_image_spv[3922] 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, // ..........8..... 0x10, 0x00, // .. }; +static const uint8_t fs_font_distance_field_outline_drop_shadow_image_wgsl[2587] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x9e, 0x67, 0x7a, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH..gz........u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, // ..s_texColor0... + 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0xdb, 0x09, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ....&.....diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // rmity);..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, // 0u) @binding(18u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ) var s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // Sampler : sample + 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // r;..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, // binding(2u) var + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // s_texColorTextur + 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, // e : texture_cube + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // ;..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, // niformBlock {. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u_params : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // _color1 : vec4, v_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, // : vec4, v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord1 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // , v_texcoor + 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, // d2 : vec4) + 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x61, 0x72, // {. var v_1 : ar + 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, 0x32, 0x2c, 0x20, 0x34, 0x75, 0x3e, 0x3b, 0x0a, 0x20, 0x20, // ray;. + 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, // var v_2 : array< + 0x66, 0x33, 0x32, 0x2c, 0x20, 0x34, 0x75, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, // f32, 4u>;. var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, // . switch(0u) {. + 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, // default: {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, // let v_4 = v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, // _texcoord1.xyz;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x61, 0x6e, 0x79, 0x28, // if (!(any( + 0x28, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // (v_4 == vec3())))) {. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, // let v_5 = text + 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // ureSample(s_texC + 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, // olorTexture, s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, // exColorSampler, + 0x76, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, // v_4);. v_ + 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, // 3 = vec4(v_ + 0x35, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2e, // 5.x, v_5.y, v_5. + 0x7a, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x35, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, // z, (v_5.w * v_co + 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // lor0.w));. + 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, // break;. } + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, // . let v_6 = + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x2e, 0x78, 0x79, 0x7a, // v_texcoord2.xyz + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x61, 0x6e, // ;. if (!(an + 0x79, 0x28, 0x28, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // y((v_6 == vec3())))) {. + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x74, 0x65, // let v_7 = te + 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, // xtureSample(s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, // xColorTexture, s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // _texColorSampler + 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // , v_6);. + 0x76, 0x5f, 0x31, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x7a, 0x3b, // v_1[0i] = v_7.z; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x31, 0x69, 0x5d, // . v_1[1i] + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // = v_7.y;. + 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, 0x2e, // v_1[2i] = v_7. + 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x33, // x;. v_1[3 + 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // i] = v_7.w;. + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x5f, // let v_8 = v_ + 0x31, 0x5b, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // 1[i32(((v_texcoo + 0x72, 0x64, 0x32, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, // rd2.w * 4.0f) + + 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 0.5f))];. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x6e, // let v_9 = ((len + 0x67, 0x74, 0x68, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x36, 0x29, 0x29, // gth(fwidth(v_6)) + 0x20, 0x2a, 0x20, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, // * 11.3137083053 + 0x35, 0x38, 0x38, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, // 5888671875f) * v + 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, // .u_params.y);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3d, // let v_10 = + 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, // (0.5f - (v.u_pa + 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x39, 0x29, 0x29, 0x3b, 0x0a, // rams.w * v_9));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, // let v_11 + 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x39, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, // = (v_9 * v.u_pa + 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // rams.z);. + 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_3 = vec4 + 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x63, // (v_color0.x, v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // olor0.y, v_color + 0x30, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, // 0.z, (smoothstep + 0x28, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x2c, 0x20, // ((v_10 - v_11), + 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x2c, 0x20, 0x76, // (v_10 + v_11), v + 0x5f, 0x38, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, // _8) * v_color0.w + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, // ));. brea + 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // k;. }. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, // let v_12 = v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, // xcoord0.xyz;. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x65, // let v_13 = te + 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, // xtureSample(s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, // xColorTexture, s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // _texColorSampler + 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // , v_12);. v + 0x5f, 0x32, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x7a, 0x3b, // _2[0i] = v_13.z; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x31, 0x69, 0x5d, 0x20, 0x3d, // . v_2[1i] = + 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // v_13.y;. v + 0x5f, 0x32, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x3b, // _2[2i] = v_13.x; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x33, 0x69, 0x5d, 0x20, 0x3d, // . v_2[3i] = + 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, // v_13.w;. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x5b, 0x69, 0x33, // et v_14 = v_2[i3 + 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, // 2(((v_texcoord0. + 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, // w * 4.0f) + 0.5f + 0x29, 0x29, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // ))];. let v + 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x66, // _15 = ((length(f + 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x31, 0x32, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, // width(v_12)) * 1 + 0x31, 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, 0x35, 0x38, 0x38, 0x38, // 1.31370830535888 + 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, // 671875f) * v.u_p + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // arams.y);. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, // let v_16 = (0.5f + 0x20, 0x2d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, // - (v.u_params.w + 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // * v_15));. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x6f, 0x6f, // let v_17 = smoo + 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x2d, 0x20, 0x76, // thstep((v_16 - v + 0x5f, 0x31, 0x35, 0x29, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x2b, 0x20, 0x76, 0x5f, // _15), (v_16 + v_ + 0x31, 0x35, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // 15), v_14);. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x6f, // let v_18 = smo + 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, // othstep((0.5f - + 0x76, 0x5f, 0x31, 0x35, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, // v_15), (0.5f + v + 0x5f, 0x31, 0x35, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // _15), v_14);. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x20, 0x3d, 0x20, 0x6d, 0x69, // let v_19 = mi + 0x78, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, // x(v_color1.xyz, + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x65, // v_color0.xyz, ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x38, 0x2c, 0x20, 0x76, 0x5f, // c3(v_18, v_ + 0x31, 0x38, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // 18, v_18));. + 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // v_3 = vec4(v_19.x, v_19.y + 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x20, // , v_19.z, (v_17 + 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, // * v_color0.w));. + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // }. }. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, // _FragData0 = v_3 + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, // ;.}..@fragment.f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // n main(@location + 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, // (0u) v_color0 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // vec4, @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // tion(1u) v_color + 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, // 1 : vec4, @ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, // location(2u) v_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // excoord0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x33, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, // 3u) v_texcoord1 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, // : vec4, @lo + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, // cation(4u) v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // coord2 : vec4) -> @location + 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, // (0u) vec4 { + 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, // . main_inner(v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, // color0, v_color1 + 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x76, // , v_texcoord0, v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // _texcoord1, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, // xcoord2);. retu + 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // rn bgfx_FragData + 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // 0;.}....... +}; static const uint8_t fs_font_distance_field_outline_drop_shadow_image_dx11[2742] = { 0x46, 0x53, 0x48, 0x0b, 0x9e, 0x67, 0x7a, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH..gz........u diff --git a/examples/common/font/fs_font_distance_field_outline_image.bin.h b/examples/common/font/fs_font_distance_field_outline_image.bin.h index cb9637ade..054883c3c 100644 --- a/examples/common/font/fs_font_distance_field_outline_image.bin.h +++ b/examples/common/font/fs_font_distance_field_outline_image.bin.h @@ -402,6 +402,122 @@ static const uint8_t fs_font_distance_field_outline_image_spv[2838] = 0x03, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..............8. 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ...... }; +static const uint8_t fs_font_distance_field_outline_image_wgsl[1802] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x94, 0xf7, 0xae, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH....n.......u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // _params......... + 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, // ..s_texColor0... + 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0xca, 0x06, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // ....&.....diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, // stic(off, deriva + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, // tive_uniformity) + 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ;.diagnostic(off + 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // , subgroup_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // rmity);..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, // 0u) @binding(18u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ) var s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // Sampler : sample + 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // r;..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, // binding(2u) var + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // s_texColorTextur + 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, // e : texture_cube + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, // ;..struct U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, // niformBlock {. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u_params : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, // 0 : vec4, v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // _color1 : vec4, v_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, // : vec4, v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord1 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, // ) {. var v + 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, 0x32, 0x2c, 0x20, // _1 : array;. var v_2 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x77, // vec4;. sw + 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, // itch(0u) {. d + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // efault: {. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // let v_3 = v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // oord0.xyz;. + 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x6e, 0x79, 0x28, 0x28, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x3d, // if (any((v_3 == + 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x29, 0x29, 0x29, 0x20, // vec3()))) + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // {. let v_ + 0x34, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, // 4 = textureSampl + 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, // e(s_texColorText + 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, // ure, s_texColorS + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ampler, v_texcoo + 0x72, 0x64, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // rd1.xyz);. + 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // v_2 = vec4(v_4.x, v_4.y, + 0x76, 0x5f, 0x34, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x34, 0x2e, 0x77, 0x20, 0x2a, 0x20, // v_4.z, (v_4.w * + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // v_color0.w));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // }. let v + 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, // _5 = textureSamp + 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, // le(s_texColorTex + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ture, s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x20, // Sampler, v_3);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x30, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, // v_1[0i] = v + 0x5f, 0x35, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, // _5.z;. v_1[ + 0x31, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, // 1i] = v_5.y;. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x32, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, // v_1[2i] = v_5 + 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x33, 0x69, // .x;. v_1[3i + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // ] = v_5.w;. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x5b, 0x69, // let v_6 = v_1[i + 0x33, 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // 32(((v_texcoord0 + 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, // .w * 4.0f) + 0.5 + 0x66, 0x29, 0x29, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // f))];. let + 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x66, // v_7 = ((length(f + 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x33, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x31, // width(v_3)) * 11 + 0x2e, 0x33, 0x31, 0x33, 0x37, 0x30, 0x38, 0x33, 0x30, 0x35, 0x33, 0x35, 0x38, 0x38, 0x38, 0x36, // .313708305358886 + 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, // 71875f) * v.u_pa + 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, // rams.y);. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, // et v_8 = (0.5f - + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x20, 0x2a, // (v.u_params.w * + 0x20, 0x76, 0x5f, 0x37, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, // v_7));. le + 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, // t v_9 = smoothst + 0x65, 0x70, 0x28, 0x28, 0x76, 0x5f, 0x38, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x37, 0x29, 0x2c, 0x20, // ep((v_8 - v_7), + 0x28, 0x76, 0x5f, 0x38, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x37, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x36, // (v_8 + v_7), v_6 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, // );. let v_1 + 0x30, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x28, // 0 = smoothstep(( + 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x37, 0x29, 0x2c, 0x20, 0x28, 0x30, 0x2e, // 0.5f - v_7), (0. + 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x37, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x3b, // 5f + v_7), v_6); + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, // . let v_11 + 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2e, 0x78, // = mix(v_color1.x + 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, // yz, v_color0.xyz + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x30, // , vec3(v_10 + 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x29, 0x29, 0x3b, 0x0a, // , v_10, v_10));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, // v_2 = vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, // (v_11.x, v_ + 0x31, 0x31, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x76, // 11.y, v_11.z, (v + 0x5f, 0x39, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, // _9 * v_color0.w) + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x62, // );. }. }. b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, // gfx_FragData0 = + 0x76, 0x5f, 0x32, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, // v_2;.}..@fragmen + 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // t.fn main(@locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ion(0u) v_color0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, // ocation(1u) v_co + 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // lor1 : vec4 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // v_texcoord0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // c4, @locati + 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // on(3u) v_texcoor + 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, // d1 : vec4) + 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, // -> @location(0u) + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, // vec4 {. m + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ain_inner(v_colo + 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x76, 0x5f, // r0, v_color1, v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, // texcoord0, v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // coord1);. retur + 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // n bgfx_FragData0 + 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // ;.}....... +}; static const uint8_t fs_font_distance_field_outline_image_dx11[1798] = { 0x46, 0x53, 0x48, 0x0b, 0x94, 0xf7, 0xae, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x75, // FSH....n.......u diff --git a/examples/common/font/fs_font_distance_field_subpixel.bin.h b/examples/common/font/fs_font_distance_field_subpixel.bin.h index 19ceaae07..33adc5f57 100644 --- a/examples/common/font/fs_font_distance_field_subpixel.bin.h +++ b/examples/common/font/fs_font_distance_field_subpixel.bin.h @@ -265,6 +265,86 @@ static const uint8_t fs_font_distance_field_subpixel_spv[1695] = 0x01, 0x00, 0x00, 0x2a, 0x01, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x56, // ...*...>.......V 0x01, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // .......8....... }; +static const uint8_t fs_font_distance_field_subpixel_wgsl[1232] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, // _texColor0...... + 0x04, 0x26, 0x00, 0xa3, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .&.....diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, // ty);..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, // @binding(18u) v + 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, // ar s_texColorSam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, // pler : sampler;. + 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, // .@group(0u) @bin + 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, // ding(2u) var s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, // exColorTexture : + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x33, // texture_cube;..var bgfx_FragData0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, // : vec4;..f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, // n main_inner(v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, v_texcoord0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec4) {. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x69, 0x33, 0x32, 0x28, 0x28, 0x28, 0x76, 0x5f, // let v = i32(((v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, // texcoord0.w * 4. + 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // 0f) + 0.5f));. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // let v_1 = v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // oord0.xyz;. let + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x64, 0x70, 0x64, 0x78, 0x28, 0x76, 0x5f, 0x31, 0x29, // v_2 = dpdx(v_1) + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x64, 0x70, // ;. let v_3 = dp + 0x64, 0x79, 0x28, 0x2d, 0x28, 0x76, 0x5f, 0x31, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // dy(-(v_1));. le + 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x32, 0x20, 0x2a, 0x20, 0x30, // t v_4 = (v_2 * 0 + 0x2e, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x39, 0x39, 0x39, 0x34, 0x35, 0x39, 0x32, 0x36, 0x36, // .166666999459266 + 0x36, 0x36, 0x32, 0x36, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // 6626f);. let v_ + 0x35, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, // 5 = textureSampl + 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, // e(s_texColorText + 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, // ure, s_texColorS + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x76, 0x5f, 0x31, 0x20, 0x2d, 0x20, 0x76, // ampler, (v_1 - v + 0x5f, 0x34, 0x29, 0x29, 0x2e, 0x7a, 0x79, 0x78, 0x77, 0x5b, 0x76, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // _4)).zyxw[v];. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, // let v_6 = textur + 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // eSample(s_texCol + 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, // orTexture, s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x76, // ColorSampler, (v + 0x5f, 0x31, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x2e, 0x7a, 0x79, 0x78, 0x77, 0x5b, // _1 + v_4)).zyxw[ + 0x76, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x20, // v];. let v_7 = + 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x28, 0x76, 0x5f, 0x35, 0x20, 0x2b, 0x20, 0x76, // (0.5f * (v_5 + v + 0x5f, 0x36, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x38, 0x20, // _6));. let v_8 + 0x3d, 0x20, 0x28, 0x38, 0x2e, 0x30, 0x66, 0x20, 0x2a, 0x20, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, // = (8.0f * (lengt + 0x68, 0x28, 0x76, 0x5f, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, // h(v_2) + length( + 0x76, 0x5f, 0x33, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // v_3)));. let v_ + 0x39, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x38, 0x29, // 9 = (0.5f - v_8) + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x28, // ;. let v_10 = ( + 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x38, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, // 0.5f + v_8);. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // et v_11 = v_colo + 0x72, 0x30, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x32, // r0.w;. let v_12 + 0x20, 0x3d, 0x20, 0x28, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x76, // = (smoothstep(v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x39, 0x2c, 0x20, 0x76, 0x5f, // ec3(v_9, v_ + 0x39, 0x2c, 0x20, 0x76, 0x5f, 0x39, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // 9, v_9), vec3(v_10, v_10, v + 0x5f, 0x31, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // _10), vec3( + 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x37, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x29, 0x20, // v_5, v_7, v_6)) + 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // * v_11);. bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, // FragData0 = vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, // (v_12.x, v_ + 0x31, 0x32, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x76, // 12.y, v_12.z, (v + 0x5f, 0x37, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, // _7 * v_11));.}.. + 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // @fragment.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // v_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, // 1u) v_texcoord0 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, // : vec4) -> + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, // @location(0u) ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // c4 {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, // _inner(v_color0, + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, // v_texcoord0);. + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // return bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // gData0;.}....... +}; static const uint8_t fs_font_distance_field_subpixel_dx11[1335] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s diff --git a/examples/common/font/vs_font_basic.bin.h b/examples/common/font/vs_font_basic.bin.h index 07636ff50..6d32652b5 100644 --- a/examples/common/font/vs_font_basic.bin.h +++ b/examples/common/font/vs_font_basic.bin.h @@ -137,6 +137,67 @@ static const uint8_t vs_font_basic_spv[1218] = 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, // ....8........... 0x40, 0x00, // @. }; +static const uint8_t vs_font_basic_wgsl[926] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........f...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec2, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, // position.y, 0.0f + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, // , 1.0f));. v_2 + 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // = a_color0;. v_ + 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, // 3 = a_texcoord0; + 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // .}..struct tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, // symbol {. @buil + 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, // tin(position). + 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, // m : vec4,. + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, // @location(0u). + 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // m_1 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, // ,. @location(1u + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ). m_2 : vec4,.}..@vertex. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // fn main(@locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // n(0u) a_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, // vec4, @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ation(1u) a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec2 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // a_texcoord0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // c4) -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, // _inner(a_color0, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_position, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, // v_1, v_2, v_3);. + 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // }.........@.@. +}; static const uint8_t vs_font_basic_dx11[594] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u diff --git a/examples/common/font/vs_font_distance_field.bin.h b/examples/common/font/vs_font_distance_field.bin.h index ea3c58d78..7a44dd02f 100644 --- a/examples/common/font/vs_font_distance_field.bin.h +++ b/examples/common/font/vs_font_distance_field.bin.h @@ -137,6 +137,67 @@ static const uint8_t vs_font_distance_field_spv[1218] = 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, // ....8........... 0x40, 0x00, // @. }; +static const uint8_t vs_font_distance_field_wgsl[926] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........f...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec2, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, // position.y, 0.0f + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, // , 1.0f));. v_2 + 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // = a_color0;. v_ + 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, // 3 = a_texcoord0; + 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // .}..struct tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, // symbol {. @buil + 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, // tin(position). + 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, // m : vec4,. + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, // @location(0u). + 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // m_1 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, // ,. @location(1u + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ). m_2 : vec4,.}..@vertex. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // fn main(@locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // n(0u) a_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, // vec4, @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ation(1u) a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec2 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // a_texcoord0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // c4) -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, // _inner(a_color0, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_position, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, // v_1, v_2, v_3);. + 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // }.........@.@. +}; static const uint8_t vs_font_distance_field_dx11[594] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u diff --git a/examples/common/font/vs_font_distance_field_drop_shadow.bin.h b/examples/common/font/vs_font_distance_field_drop_shadow.bin.h index 42c48c359..1b2fddad6 100644 --- a/examples/common/font/vs_font_distance_field_drop_shadow.bin.h +++ b/examples/common/font/vs_font_distance_field_drop_shadow.bin.h @@ -199,6 +199,99 @@ static const uint8_t vs_font_distance_field_drop_shadow_spv[1700] = 0x38, 0x00, 0x01, 0x00, 0x00, 0x06, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, // 8............... 0x12, 0x00, 0x40, 0x00, // ..@. }; +static const uint8_t vs_font_distance_field_drop_shadow_wgsl[1427] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x67, 0x7a, 0xc3, 0x01, 0x00, 0x0f, 0x75, // VSH......gz....u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x05, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........U...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _4 : vec4;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 5 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x36, // var v_6 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, // : vec4;..f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, // n main_inner(a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, a_color1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // c4, a_posit + 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // ion : vec2, + 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, // a_texcoord0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, // ec4, a_texc + 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // oord1 : vec4, a_texcoord2 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec4) {. + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // v_1 = (v.u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ViewProj * vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // f32>(a_position. + 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, // x, a_position.y, + 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, // 0.0f, 1.0f));. + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // v_2 = a_color0; + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // . v_3 = a_color + 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, // 1;. v_4 = a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, // coord0;. v_5 = + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, // a_texcoord1;. v + 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, // _6 = a_texcoord2 + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, // ;.}..struct tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, // _symbol {. @bui + 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, // ltin(position). + 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // m : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, // @location(0u). + 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // m_1 : vec4,. @location(1 + 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u). m_2 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, // n(2u). m_3 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x34, 0x20, 0x3a, // tion(3u). m_4 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(4u). m_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, // 5 : vec4,.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, // 1u) a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ion(2u) a_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec2, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(3u) a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x34, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, // (4u) a_texcoord1 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x35, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, // ocation(5u) a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // xcoord2 : vec4) -> tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, // bol {. main_inn + 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x63, // er(a_color0, a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // olor1, a_positio + 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, // n, a_texcoord0, + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_texcoord1, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord2);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, // v_1, v_2, v_3, v + 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x7d, // _4, v_5, v_6);.} + 0x0a, 0x00, 0x06, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x40, // ...............@ + 0x00, 0x40, 0x00, // .@. +}; static const uint8_t vs_font_distance_field_drop_shadow_dx11[876] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x67, 0x7a, 0xc3, 0x01, 0x00, 0x0f, 0x75, // VSH......gz....u diff --git a/examples/common/font/vs_font_distance_field_drop_shadow_image.bin.h b/examples/common/font/vs_font_distance_field_drop_shadow_image.bin.h index 355825892..d02266b7c 100644 --- a/examples/common/font/vs_font_distance_field_drop_shadow_image.bin.h +++ b/examples/common/font/vs_font_distance_field_drop_shadow_image.bin.h @@ -199,6 +199,99 @@ static const uint8_t vs_font_distance_field_drop_shadow_image_spv[1700] = 0x38, 0x00, 0x01, 0x00, 0x00, 0x06, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, // 8............... 0x12, 0x00, 0x40, 0x00, // ..@. }; +static const uint8_t vs_font_distance_field_drop_shadow_image_wgsl[1427] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x67, 0x7a, 0xc3, 0x01, 0x00, 0x0f, 0x75, // VSH......gz....u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x05, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........U...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _4 : vec4;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 5 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x36, // var v_6 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, // : vec4;..f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, // n main_inner(a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, a_color1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // c4, a_posit + 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // ion : vec2, + 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, // a_texcoord0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, // ec4, a_texc + 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // oord1 : vec4, a_texcoord2 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec4) {. + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // v_1 = (v.u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ViewProj * vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // f32>(a_position. + 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, // x, a_position.y, + 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, // 0.0f, 1.0f));. + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // v_2 = a_color0; + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // . v_3 = a_color + 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, // 1;. v_4 = a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, // coord0;. v_5 = + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, // a_texcoord1;. v + 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, // _6 = a_texcoord2 + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, // ;.}..struct tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, // _symbol {. @bui + 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, // ltin(position). + 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // m : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, // @location(0u). + 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // m_1 : vec4,. @location(1 + 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u). m_2 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, // n(2u). m_3 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x34, 0x20, 0x3a, // tion(3u). m_4 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(4u). m_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, // 5 : vec4,.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, // 1u) a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ion(2u) a_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec2, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(3u) a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x34, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, // (4u) a_texcoord1 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x35, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, // ocation(5u) a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // xcoord2 : vec4) -> tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, // bol {. main_inn + 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x63, // er(a_color0, a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // olor1, a_positio + 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, // n, a_texcoord0, + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_texcoord1, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord2);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, // v_1, v_2, v_3, v + 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x7d, // _4, v_5, v_6);.} + 0x0a, 0x00, 0x06, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x40, // ...............@ + 0x00, 0x40, 0x00, // .@. +}; static const uint8_t vs_font_distance_field_drop_shadow_image_dx11[876] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x67, 0x7a, 0xc3, 0x01, 0x00, 0x0f, 0x75, // VSH......gz....u diff --git a/examples/common/font/vs_font_distance_field_outline.bin.h b/examples/common/font/vs_font_distance_field_outline.bin.h index acae8f7c4..d618cd414 100644 --- a/examples/common/font/vs_font_distance_field_outline.bin.h +++ b/examples/common/font/vs_font_distance_field_outline.bin.h @@ -178,6 +178,88 @@ static const uint8_t vs_font_distance_field_outline_spv[1538] = 0x38, 0x00, 0x01, 0x00, 0x00, 0x05, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, // 8............... 0x40, 0x00, // @. }; +static const uint8_t vs_font_distance_field_outline_wgsl[1256] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x94, 0xf7, 0xae, 0x6e, 0x01, 0x00, 0x0f, 0x75, // VSH........n...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ............diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _4 : vec4;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 5 : vec4;.. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, // fn main_inner(a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ec4, a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec2 + 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, // , a_texcoord0 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, // vec4, a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // coord1 : vec4) {. v_1 = (v + 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // .u_modelViewProj + 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, // * vec4(a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // osition.x, a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, // ition.y, 0.0f, 1 + 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, // .0f));. v_2 = a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, // _color0;. v_3 = + 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x34, // a_color1;. v_4 + 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, // = a_texcoord0;. + 0x20, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // v_5 = a_texcoo + 0x72, 0x64, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, // rd1;.}..struct t + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, // int_symbol {. @ + 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // builtin(position + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // ). m : vec4,. @location(0 + 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u). m_1 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, // n(1u). m_2 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x33, 0x20, 0x3a, // tion(2u). m_3 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(3u). m_ + 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, // 4 : vec4,.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, // 1u) a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ion(2u) a_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec2, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(3u) a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x34, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, // (4u) a_texcoord1 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, // : vec4) -> + 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, // tint_symbol {. + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, // main_inner(a_co + 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, // lor0, a_color1, + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, // a_position, a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // xcoord0, a_texco + 0x6f, 0x72, 0x64, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, // ord1);. return + 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, // tint_symbol(v_1, + 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2c, 0x20, // v_2, v_3, v_4, + 0x76, 0x5f, 0x35, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x05, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, // v_5);.}......... + 0x10, 0x00, 0x11, 0x00, 0x40, 0x00, 0x40, 0x00, // ....@.@. +}; static const uint8_t vs_font_distance_field_outline_dx11[782] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x94, 0xf7, 0xae, 0x6e, 0x01, 0x00, 0x0f, 0x75, // VSH........n...u diff --git a/examples/common/font/vs_font_distance_field_outline_drop_shadow_image.bin.h b/examples/common/font/vs_font_distance_field_outline_drop_shadow_image.bin.h index 2f135f769..da241f689 100644 --- a/examples/common/font/vs_font_distance_field_outline_drop_shadow_image.bin.h +++ b/examples/common/font/vs_font_distance_field_outline_drop_shadow_image.bin.h @@ -199,6 +199,99 @@ static const uint8_t vs_font_distance_field_outline_drop_shadow_image_spv[1700] 0x38, 0x00, 0x01, 0x00, 0x00, 0x06, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, // 8............... 0x12, 0x00, 0x40, 0x00, // ..@. }; +static const uint8_t vs_font_distance_field_outline_drop_shadow_image_wgsl[1427] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x67, 0x7a, 0xc3, 0x01, 0x00, 0x0f, 0x75, // VSH......gz....u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x05, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........U...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _4 : vec4;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 5 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x36, // var v_6 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, // : vec4;..f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, // n main_inner(a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, a_color1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // c4, a_posit + 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // ion : vec2, + 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, // a_texcoord0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, // ec4, a_texc + 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // oord1 : vec4, a_texcoord2 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec4) {. + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // v_1 = (v.u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ViewProj * vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // f32>(a_position. + 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, // x, a_position.y, + 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, // 0.0f, 1.0f));. + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // v_2 = a_color0; + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // . v_3 = a_color + 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, // 1;. v_4 = a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, // coord0;. v_5 = + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, // a_texcoord1;. v + 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, // _6 = a_texcoord2 + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, // ;.}..struct tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, // _symbol {. @bui + 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, // ltin(position). + 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // m : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, // @location(0u). + 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // m_1 : vec4,. @location(1 + 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u). m_2 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, // n(2u). m_3 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x34, 0x20, 0x3a, // tion(3u). m_4 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(4u). m_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, // 5 : vec4,.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, // 1u) a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ion(2u) a_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec2, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(3u) a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x34, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, // (4u) a_texcoord1 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x35, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, // ocation(5u) a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // xcoord2 : vec4) -> tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, // bol {. main_inn + 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x63, // er(a_color0, a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // olor1, a_positio + 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, // n, a_texcoord0, + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_texcoord1, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord2);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, // v_1, v_2, v_3, v + 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x7d, // _4, v_5, v_6);.} + 0x0a, 0x00, 0x06, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x40, // ...............@ + 0x00, 0x40, 0x00, // .@. +}; static const uint8_t vs_font_distance_field_outline_drop_shadow_image_dx11[876] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x67, 0x7a, 0xc3, 0x01, 0x00, 0x0f, 0x75, // VSH......gz....u diff --git a/examples/common/font/vs_font_distance_field_outline_image.bin.h b/examples/common/font/vs_font_distance_field_outline_image.bin.h index fcd0d7fdf..991043b5a 100644 --- a/examples/common/font/vs_font_distance_field_outline_image.bin.h +++ b/examples/common/font/vs_font_distance_field_outline_image.bin.h @@ -178,6 +178,88 @@ static const uint8_t vs_font_distance_field_outline_image_spv[1538] = 0x38, 0x00, 0x01, 0x00, 0x00, 0x05, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, // 8............... 0x40, 0x00, // @. }; +static const uint8_t vs_font_distance_field_outline_image_wgsl[1256] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x94, 0xf7, 0xae, 0x6e, 0x01, 0x00, 0x0f, 0x75, // VSH........n...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ............diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _4 : vec4;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 5 : vec4;.. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, // fn main_inner(a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ec4, a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec2 + 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, // , a_texcoord0 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, // vec4, a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // coord1 : vec4) {. v_1 = (v + 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // .u_modelViewProj + 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, // * vec4(a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // osition.x, a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, // ition.y, 0.0f, 1 + 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, // .0f));. v_2 = a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, // _color0;. v_3 = + 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x34, // a_color1;. v_4 + 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, // = a_texcoord0;. + 0x20, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // v_5 = a_texcoo + 0x72, 0x64, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, // rd1;.}..struct t + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, // int_symbol {. @ + 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // builtin(position + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // ). m : vec4,. @location(0 + 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // u). m_1 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, // n(1u). m_2 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x33, 0x20, 0x3a, // tion(2u). m_3 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(3u). m_ + 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, // 4 : vec4,.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, // 1u) a_color1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec4, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ion(2u) a_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec2, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(3u) a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // , @location + 0x28, 0x34, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, // (4u) a_texcoord1 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, // : vec4) -> + 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, // tint_symbol {. + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, // main_inner(a_co + 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, // lor0, a_color1, + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, // a_position, a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // xcoord0, a_texco + 0x6f, 0x72, 0x64, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, // ord1);. return + 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, // tint_symbol(v_1, + 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2c, 0x20, // v_2, v_3, v_4, + 0x76, 0x5f, 0x35, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x05, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, // v_5);.}......... + 0x10, 0x00, 0x11, 0x00, 0x40, 0x00, 0x40, 0x00, // ....@.@. +}; static const uint8_t vs_font_distance_field_outline_image_dx11[782] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x94, 0xf7, 0xae, 0x6e, 0x01, 0x00, 0x0f, 0x75, // VSH........n...u diff --git a/examples/common/font/vs_font_distance_field_subpixel.bin.h b/examples/common/font/vs_font_distance_field_subpixel.bin.h index 1b5c2553d..af0d2fdb1 100644 --- a/examples/common/font/vs_font_distance_field_subpixel.bin.h +++ b/examples/common/font/vs_font_distance_field_subpixel.bin.h @@ -137,6 +137,67 @@ static const uint8_t vs_font_distance_field_subpixel_spv[1218] = 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, // ....8........... 0x40, 0x00, // @. }; +static const uint8_t vs_font_distance_field_subpixel_wgsl[926] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........f...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec2, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, // position.y, 0.0f + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, // , 1.0f));. v_2 + 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // = a_color0;. v_ + 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, // 3 = a_texcoord0; + 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // .}..struct tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, // symbol {. @buil + 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, // tin(position). + 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, // m : vec4,. + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, // @location(0u). + 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // m_1 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, // ,. @location(1u + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ). m_2 : vec4,.}..@vertex. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // fn main(@locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // n(0u) a_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, // vec4, @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ation(1u) a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec2 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // a_texcoord0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // c4) -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, // _inner(a_color0, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_position, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, // v_1, v_2, v_3);. + 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // }.........@.@. +}; static const uint8_t vs_font_distance_field_subpixel_dx11[594] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u diff --git a/examples/common/imgui/fs_imgui_image.bin.h b/examples/common/imgui/fs_imgui_image.bin.h index 37913d9de..4de98a297 100644 --- a/examples/common/imgui/fs_imgui_image.bin.h +++ b/examples/common/imgui/fs_imgui_image.bin.h @@ -135,6 +135,63 @@ static const uint8_t fs_imgui_image_spv[1303] = 0x00, 0x03, 0x00, 0x72, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, // ...r...........8 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ....... }; +static const uint8_t fs_imgui_image_wgsl[853] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x6f, 0x1e, 0x3e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x11, 0x75, // FSH.o.><.......u + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, // _imageLodEnabled + 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // ...........s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x0c, // Color0.......&.. + 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, // ...diagnostic(of + 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, // f, derivative_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, // iformity);.diagn + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, // ostic(off, subgr + 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, // oup_uniformity); + 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, // ..@group(0u) @bi + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, // nding(18u) var s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // _texColorSampler + 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, // : sampler;..@gr + 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, // oup(0u) @binding + 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, // (2u) var s_texCo + 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, // lorTexture : tex + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, // ture_2d;..s + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, // truct UniformBlo + 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, // ck {. u_imageLo + 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // dEnabled : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // in_inner(v_texco + 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ord0 : vec2 + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, // ) {. let v_1 = + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x65, 0x76, // textureSampleLev + 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, // el(s_texColorTex + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ture, s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // Sampler, v_texco + 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, // ord0, v.u_imageL + 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, // odEnabled.x);. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, // bgfx_FragData0 = + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x2e, 0x78, // vec4(v_1.x + 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x7a, 0x2c, 0x20, // , v_1.y, v_1.z, + 0x28, 0x30, 0x2e, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x39, 0x38, 0x30, 0x32, // (0.2000000029802 + 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x37, 0x66, 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, 0x30, // 3223877f + (0.80 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, // 0000011920928955 + 0x30, 0x38, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, // 08f * v.u_imageL + 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, // odEnabled.y)));. + 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, // }..@fragment.fn + 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, // main(@location(0 + 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, // u) v_texcoord0 : + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, // vec2) -> @ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, // location(0u) vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // 4 {. main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // inner(v_texcoord + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, // 0);. return bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, // x_FragData0;.}.. + 0x00, 0x10, 0x00, 0x10, 0x00, // ..... +}; static const uint8_t fs_imgui_image_dx11[471] = { 0x46, 0x53, 0x48, 0x0b, 0x6f, 0x1e, 0x3e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x11, 0x75, // FSH.o.><.......u diff --git a/examples/common/imgui/fs_ocornut_imgui.bin.h b/examples/common/imgui/fs_ocornut_imgui.bin.h index cb5520b80..aa07249f7 100644 --- a/examples/common/imgui/fs_ocornut_imgui.bin.h +++ b/examples/common/imgui/fs_ocornut_imgui.bin.h @@ -89,6 +89,48 @@ static const uint8_t fs_ocornut_imgui_spv[850] = 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, // ..........8..... 0x00, 0x00, // .. }; +static const uint8_t fs_ocornut_imgui_wgsl[616] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x73, // FSH............s + 0x5f, 0x74, 0x65, 0x78, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x40, 0x02, // _tex0.......&.@. + 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ..diagnostic(off + 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, // , derivative_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // formity);.diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, // stic(off, subgro + 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, // up_uniformity);. + 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, // .@group(0u) @bin + 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, // ding(18u) var s_ + 0x74, 0x65, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, // texSampler : sam + 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, // pler;..@group(0u + 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, // ) @binding(2u) v + 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, // ar s_texTexture + 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, // : texture_2d;..var + 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, // bgfx_FragData0 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, // : vec4;..fn + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, // main_inner(v_co + 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // lor0 : vec4 + 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, // , v_texcoord0 : + 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x62, // vec2) {. b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, // gfx_FragData0 = + 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, // (textureSample(s + 0x5f, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, // _texTexture, s_t + 0x65, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, // exSampler, v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // coord0) * v_colo + 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, // r0);.}..@fragmen + 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // t.fn main(@locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ion(0u) v_color0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, // ocation(1u) v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, // xcoord0 : vec2) -> @locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, // n(0u) vec4 + 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, // {. main_inner(v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // _color0, v_texco + 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, // ord0);. return + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, // bgfx_FragData0;. + 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // }....... +}; static const uint8_t fs_ocornut_imgui_dx11[418] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x73, // FSH............s diff --git a/examples/common/imgui/vs_imgui_image.bin.h b/examples/common/imgui/vs_imgui_image.bin.h index c8cf0609a..c61e4c6c5 100644 --- a/examples/common/imgui/vs_imgui_image.bin.h +++ b/examples/common/imgui/vs_imgui_image.bin.h @@ -115,6 +115,56 @@ static const uint8_t vs_imgui_image_spv[1051] = 0x00, 0x03, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, // ...>...2.......8 0x00, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, // .........@. }; +static const uint8_t vs_imgui_image_wgsl[752] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x0a, 0x75, // VSH.....o.><...u + 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, // _viewProj....... + 0x00, 0x00, 0x00, 0xbf, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .......diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, // ty);..struct Uni + 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, // formBlock_1_1 {. + 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, // u_viewProj : m + 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // at4x4,.}..@ + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi + 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, // ng(0u) var v : UniformB + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, // lock_1_1;..var

v_1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var v_2 : vec + 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, // 2;..fn main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // _inner(a_positio + 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, // n : vec2, a + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _texcoord0 : vec + 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, // 2) {. v_1 + 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, // = (v.u_viewProj + 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, // * vec4(a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // sition.x, a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, // tion.y, 0.0f, 1. + 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, // 0f));. v_2 = a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, // texcoord0;.}..st + 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, // ruct tint_symbol + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, // {. @builtin(po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, // sition). m : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, // tion(0u). m_1 : + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // vec2,.}..@ + 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, // vertex.fn main(@ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, // location(0u) a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, // osition : vec2, @location(1 + 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, // u) a_texcoord0 : + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, // vec2) -> t + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, // int_symbol {. m + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ain_inner(a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // tion, a_texcoord + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, // 0);. return tin + 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, // t_symbol(v_1, v_ + 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // 2);.}.......@.@. +}; static const uint8_t vs_imgui_image_dx11[487] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x0a, 0x75, // VSH.....o.><...u diff --git a/examples/common/imgui/vs_ocornut_imgui.bin.h b/examples/common/imgui/vs_ocornut_imgui.bin.h index 9878defcf..100ac8eb2 100644 --- a/examples/common/imgui/vs_ocornut_imgui.bin.h +++ b/examples/common/imgui/vs_ocornut_imgui.bin.h @@ -149,6 +149,69 @@ static const uint8_t vs_ocornut_imgui_spv[1293] = 0x00, 0x03, 0x00, 0x57, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, // ...W...F.......8 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, // ...........@. }; +static const uint8_t vs_ocornut_imgui_wgsl[960] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x75, // VSH............u + 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, // _viewProj....... + 0x00, 0x00, 0x00, 0x8d, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .......diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, // ty);..struct Uni + 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, // formBlock_1_1 {. + 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, // u_viewProj : m + 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // at4x4,.}..@ + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi + 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, // ng(0u) var v : UniformB + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, // lock_1_1;..var

v_1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var v_2 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, // 4;..var v_3 : vec2 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // ;..fn main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // inner(a_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, // vec4, a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, // sition : vec2, a_texcoord0 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, // : vec2) {. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, // let v_4 = (v.u_ + 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // viewProj * vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // f32>(a_position. + 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, // x, a_position.y, + 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, // 0.0f, 1.0f));. + 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_1 = vec4 + 0x28, 0x76, 0x5f, 0x34, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2e, 0x79, 0x2c, 0x20, 0x30, // (v_4.x, v_4.y, 0 + 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // .0f, 1.0f);. v_ + 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, // 2 = a_color0;. + 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // v_3 = a_texcoord + 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, // 0;.}..struct tin + 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, // t_symbol {. @bu + 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, // iltin(position). + 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // m : vec4, + 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, // . @location(0u) + 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // . m_1 : vec4,. @location( + 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, // 1u). m_2 : vec2 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, // ,.}..@verte + 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // x.fn main(@locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ion(0u) a_color0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, // ocation(1u) a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, // sition : vec2, @location(2u + 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, // ) a_texcoord0 : + 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, // vec2) -> ti + 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, // nt_symbol {. ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // in_inner(a_color + 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, // 0, a_position, a + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, // _texcoord0);. r + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, // eturn tint_symbo + 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, // l(v_1, v_2, v_3) + 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // ;.}.........@.@. +}; static const uint8_t vs_ocornut_imgui_dx11[621] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x75, // VSH............u diff --git a/examples/common/nanovg/fs_nanovg_fill.bin.h b/examples/common/nanovg/fs_nanovg_fill.bin.h index 932f8bf03..a8ab6f25d 100644 --- a/examples/common/nanovg/fs_nanovg_fill.bin.h +++ b/examples/common/nanovg/fs_nanovg_fill.bin.h @@ -694,6 +694,224 @@ static const uint8_t fs_nanovg_fill_spv[5184] = 0xab, 0x02, 0x00, 0x00, 0x2f, 0x02, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x74, 0x01, 0x00, 0x00, // ..../...>...t... 0xaa, 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0xb0, 0x00, // ........8....... }; +static const uint8_t fs_nanovg_fill_wgsl[3426] = +{ + 0x46, 0x53, 0x48, 0x0b, 0xcf, 0xda, 0x1b, 0x94, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x75, // FSH............u + 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x13, 0x01, 0x00, 0x00, 0x03, // _scissorMat..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x45, // ......u_scissorE + 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x01, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // xtScale......... + 0x00, 0x08, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x01, 0xa0, 0x00, 0x01, 0x00, // ..u_params...... + 0x00, 0x00, 0x00, 0x00, 0x0a, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x13, // .....u_paintMat. + 0x01, 0x30, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, // .0........u_exte + 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x01, 0x90, 0x00, 0x01, 0x00, 0x00, 0x00, // ntRadius........ + 0x00, 0x00, 0x0a, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x12, 0x01, 0x60, // ...u_innerCol..` + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, // ........u_outerC + 0x6f, 0x6c, 0x12, 0x01, 0x70, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x73, 0x5f, 0x74, // ol..p........s_t + 0x65, 0x78, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x9c, 0x0c, 0x00, 0x00, // ex0.......&..... + 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, // diagnostic(off, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, // derivative_unifo + 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, // rmity);.diagnost + 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, // ic(off, subgroup + 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, // _uniformity);..@ + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi + 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, // ng(18u) var s_te + 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, // xSampler : sampl + 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // er;..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(2u) var + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, 0x20, // s_texTexture : + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // texture_2d; + 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, // ..struct Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, // Block_1_1 {. u_ + 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, // scissorMat : mat + 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, // 3x3,. u_pa + 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, // intMat : mat3x3< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, // f32>,. u_innerC + 0x6f, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // ol : vec4,. + 0x20, 0x20, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x20, 0x3a, 0x20, 0x76, // u_outerCol : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x73, 0x63, // ec4,. u_sc + 0x69, 0x73, 0x73, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x3a, 0x20, // issorExtScale : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x65, // vec4,. u_e + 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, // xtentRadius : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, // c4,. u_par + 0x61, 0x6d, 0x73, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // ams : vec4, + 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, // .}..@group(0u) @ + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, // binding(1u) var< + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, 0x6e, 0x69, // uniform> v : Uni + 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, // formBlock_1_1;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, // var bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // x_FragData0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // c4;..fn mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // n_inner(v_positi + 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // on : vec2, + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // v_texcoord0 : ve + 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // c2) {. let + 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_1 = vec3 + 0x28, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x76, // (v_position.x, v + 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x31, 0x2e, 0x30, // _position.y, 1.0 + 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, // f);. let v_2 = + 0x61, 0x62, 0x73, 0x28, 0x28, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, // abs(((v.u_scisso + 0x72, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x29, // rMat * v_1)).xy) + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, // ;. let v_3 = v. + 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, // u_scissorExtScal + 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, // e;. let v_4 = ( + 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x20, // vec2(0.5f) + 0x2d, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x32, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x78, 0x79, // - ((v_2 - v_3.xy + 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x7a, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // ) * v_3.zw));. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, // let v_5 = (clamp + 0x28, 0x76, 0x5f, 0x34, 0x2e, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, // (v_4.x, 0.0f, 1. + 0x30, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, 0x5f, 0x34, 0x2e, // 0f) * clamp(v_4. + 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, // y, 0.0f, 1.0f)); + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, // . let v_6 = (mi + 0x6e, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x20, 0x2d, // n(1.0f, ((1.0f - + 0x20, 0x61, 0x62, 0x73, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // abs(((v_texcoor + 0x64, 0x30, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2d, 0x20, 0x31, // d0.x * 2.0f) - 1 + 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, // .0f))) * v.u_par + 0x61, 0x6d, 0x73, 0x2e, 0x79, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x31, 0x2e, // ams.y)) * min(1. + 0x30, 0x66, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, // 0f, v_texcoord0. + 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3d, // y));. let v_7 = + 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x3b, 0x0a, 0x20, // v.u_params.w;. + 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // var v_8 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x37, // f32>;. if ((v_7 + 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, // == 0.0f)) {. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, 0x2e, 0x75, // let v_9 = ((v.u + 0x5f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x29, // _paintMat * v_1) + 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // ).xy;. let v_ + 0x31, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, // 10 = v.u_extentR + 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x78, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, // adius.xy;. le + 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, // t v_11 = v.u_ext + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, // entRadius.z;. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x62, 0x73, // let v_12 = (abs + 0x28, 0x76, 0x5f, 0x39, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x2d, 0x20, // (v_9) - (v_10 - + 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x31, 0x2c, 0x20, // vec2(v_11, + 0x76, 0x5f, 0x31, 0x31, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, // v_11)));. let + 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x6d, 0x69, 0x6e, 0x28, 0x6d, 0x61, // v_13 = ((min(ma + 0x78, 0x28, 0x76, 0x5f, 0x31, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x2e, 0x79, // x(v_12.x, v_12.y + 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, // ), 0.0f) + lengt + 0x68, 0x28, 0x6d, 0x61, 0x78, 0x28, 0x76, 0x5f, 0x31, 0x32, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, // h(max(v_12, vec2 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x29, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x31, // ()))) - v_1 + 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x34, // 1);. let v_14 + 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x3b, // = v.u_params.x; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, // . let v_15 = + 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x2b, 0x20, 0x28, // clamp(((v_13 + ( + 0x76, 0x5f, 0x31, 0x34, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x2f, 0x20, // v_14 * 0.5f)) / + 0x76, 0x5f, 0x31, 0x34, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, // v_14), 0.0f, 1.0 + 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x6d, // f);. v_8 = (m + 0x69, 0x78, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x2c, // ix(v.u_innerCol, + 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x2c, 0x20, 0x76, // v.u_outerCol, v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x35, 0x2c, 0x20, 0x76, // ec4(v_15, v + 0x5f, 0x31, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x29, // _15, v_15, v_15) + 0x29, 0x20, 0x2a, 0x20, 0x28, 0x76, 0x5f, 0x36, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x35, 0x29, 0x29, // ) * (v_6 * v_5)) + 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, // ;. } else {. + 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // var v_16 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, // ;. if (( + 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, // v_7 == 1.0f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x37, 0x20, 0x3d, // let v_17 = + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, // textureSample(s + 0x5f, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, // _texTexture, s_t + 0x65, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x28, 0x28, 0x76, 0x2e, // exSampler, (((v. + 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, // u_paintMat * v_1 + 0x29, 0x29, 0x2e, 0x78, 0x79, 0x20, 0x2f, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, // )).xy / v.u_exte + 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x78, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, // ntRadius.xy));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x20, // let v_18 = + 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, // v.u_params.z;. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x20, 0x3a, 0x20, 0x76, // var v_19 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // ec4;. + 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, // if ((v_18 == 1.0 + 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, // f)) {. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x37, 0x2e, 0x77, 0x3b, // t v_20 = v_17.w; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, // . let v_2 + 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, // 1 = (v_17.xyz * + 0x76, 0x5f, 0x32, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // v_20);. v + 0x5f, 0x31, 0x39, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // _19 = vec4( + 0x76, 0x5f, 0x32, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x2e, 0x79, 0x2c, 0x20, // v_21.x, v_21.y, + 0x76, 0x5f, 0x32, 0x31, 0x2e, 0x7a, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x30, 0x29, 0x3b, 0x0a, 0x20, // v_21.z, v_20);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // v_19 = v_1 + 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // 7;. }. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x39, // let v_22 = v_19 + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x33, // ;. var v_23 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, // : vec4;. + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x3d, // if ((v_18 == + 0x20, 0x32, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 2.0f)) {. + 0x20, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x2e, 0x78, 0x78, // v_23 = v_22.xx + 0x78, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, // xx;. } else + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x20, // {. v_23 + 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, // = v_22;. }. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, // v_16 = ((v + 0x5f, 0x32, 0x33, 0x20, 0x2a, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, // _23 * v.u_innerC + 0x6f, 0x6c, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x76, 0x5f, 0x36, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x35, // ol) * (v_6 * v_5 + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, // ));. } else { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, // . var v_24 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, // : vec4;. + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x3d, 0x20, 0x32, // if ((v_7 == 2 + 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // .0f)) {. + 0x76, 0x5f, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_24 = vec4 + 0x28, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, // (1.0f);. } + 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // else {. v + 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ar v_25 : vec4;. if + 0x28, 0x28, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, // ((v_7 == 3.0f)) + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // {. let + 0x76, 0x5f, 0x32, 0x36, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, // v_26 = textureSa + 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, // mple(s_texTextur + 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, // e, s_texSampler, + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, // v_texcoord0);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, // let v_2 + 0x37, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, // 7 = v.u_params.z + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, // ;. var + 0x76, 0x5f, 0x32, 0x38, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_28 : vec4 + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, // ;. if ( + 0x28, 0x76, 0x5f, 0x32, 0x37, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, // (v_27 == 1.0f)) + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, // {. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x39, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x36, 0x2e, 0x77, 0x3b, // t v_29 = v_26.w; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, // . let + 0x20, 0x76, 0x5f, 0x33, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x32, 0x36, 0x2e, 0x78, 0x79, // v_30 = (v_26.xy + 0x7a, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x39, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // z * v_29);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x65, // v_28 = ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x33, 0x30, 0x2e, 0x78, 0x2c, 0x20, // c4(v_30.x, + 0x76, 0x5f, 0x33, 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x30, 0x2e, 0x7a, 0x2c, 0x20, // v_30.y, v_30.z, + 0x76, 0x5f, 0x32, 0x39, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // v_29);. + 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, // v_28 = v_2 + 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, // 6;. }. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, // let v_3 + 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 1 = v_28;. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x33, 0x32, 0x20, 0x3a, 0x20, 0x76, // var v_32 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // ec4;. + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x32, 0x37, 0x20, 0x3d, 0x3d, // if ((v_27 == + 0x20, 0x32, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 2.0f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, // v_32 = v_3 + 0x31, 0x2e, 0x78, 0x78, 0x78, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 1.xxxx;. + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, // v_32 = v_ + 0x33, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, // 31;. }. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x20, 0x3d, // v_25 = + 0x20, 0x28, 0x28, 0x76, 0x5f, 0x33, 0x32, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x35, 0x29, 0x20, 0x2a, // ((v_32 * v_5) * + 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x29, 0x3b, 0x0a, // v.u_innerCol);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, // } else { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x20, // . v_25 + 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, // = vec4();. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // }. + 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x3b, 0x0a, 0x20, 0x20, // v_24 = v_25;. + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x36, // }. v_16 + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, // = v_24;. }. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x3b, 0x0a, 0x20, // v_8 = v_16;. + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // }. bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x38, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, // ta0 = v_8;.}..@f + 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // ragment.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, // @location(0u) v_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, // position : vec2< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // f32>, @location( + 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, // 1u) v_texcoord0 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, // : vec2) -> + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, // @location(0u) ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // c4 {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // _inner(v_positio + 0x6e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, // n, v_texcoord0); + 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // . return bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0xb0, 0x00, // ragData0;.}..... + 0xb0, 0x00, // .. +}; static const uint8_t fs_nanovg_fill_dx11[2420] = { 0x46, 0x53, 0x48, 0x0b, 0xcf, 0xda, 0x1b, 0x94, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x75, // FSH............u diff --git a/examples/common/nanovg/vs_nanovg_fill.bin.h b/examples/common/nanovg/vs_nanovg_fill.bin.h index 324d49895..1c59f7563 100644 --- a/examples/common/nanovg/vs_nanovg_fill.bin.h +++ b/examples/common/nanovg/vs_nanovg_fill.bin.h @@ -167,6 +167,71 @@ static const uint8_t vs_nanovg_fill_spv[1481] = 0x00, 0x56, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, // .V...v.......8.. 0x00, 0x00, 0x02, 0x01, 0x00, 0x10, 0x00, 0x20, 0x00, // ....... . }; +static const uint8_t vs_nanovg_fill_wgsl[977] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xda, 0x1b, 0x94, 0x02, 0x00, 0x0b, 0x75, // VSH............u + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x02, 0x01, 0x10, 0x00, 0x01, 0x00, // _halfTexel...... + 0x00, 0x00, 0x00, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x02, // .....u_viewSize. + 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, // .............dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x20, 0x3a, // {. u_viewSize : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, // vec4,. u_ + 0x68, 0x61, 0x6c, 0x66, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // halfTexel : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, // ,.}..@group + 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, // (0u) @binding(0u + 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, // ) var v + 0x20, 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, // : UniformBlock; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _1 : vec4;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, // .var v_ + 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 2 : vec2;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x33, // var v_3 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, // : vec2;..f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, // n main_inner(a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, // osition : vec2, a_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, // : vec2) {. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x5f, 0x74, // let v_4 = (a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x2b, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x68, // excoord0 + v.u_h + 0x61, 0x6c, 0x66, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x2e, 0x78, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, // alfTexel.xy);. + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // v_1 = vec4( + 0x28, 0x28, 0x28, 0x32, 0x2e, 0x30, 0x66, 0x20, 0x2a, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // (((2.0f * a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x29, 0x20, 0x2f, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, // tion.x) / v.u_vi + 0x65, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x66, // ewSize.x) - 1.0f + 0x29, 0x2c, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x20, 0x2d, 0x20, 0x28, 0x28, 0x32, 0x2e, 0x30, // ), (1.0f - ((2.0 + 0x66, 0x20, 0x2a, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, // f * a_position.y + 0x29, 0x20, 0x2f, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x53, 0x69, 0x7a, 0x65, // ) / v.u_viewSize + 0x2e, 0x79, 0x29, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, // .y)), 0.0f, 1.0f + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // );. v_2 = a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, // ition;. v_3 = v + 0x5f, 0x34, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, // _4;.}..struct ti + 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, // nt_symbol {. @b + 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, // uiltin(position) + 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // . m : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, // ,. @location(0u + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, // ). m_1 : vec2,. @location + 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // (1u). m_2 : vec + 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, // 2,.}..@vert + 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, // ex.fn main(@loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // tion(0u) a_posit + 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // ion : vec2, + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, // @location(1u) a + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _texcoord0 : vec + 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // 2) -> tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // symbol {. main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // inner(a_position + 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, // , a_texcoord0);. + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, // return tint_sy + 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, // mbol(v_1, v_2, v + 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x02, 0x01, 0x00, 0x10, 0x00, 0x20, 0x00, 0x20, // _3);.}....... . + 0x00, // . +}; static const uint8_t vs_nanovg_fill_dx11[591] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xda, 0x1b, 0x94, 0x01, 0x00, 0x0a, 0x75, // VSH............u diff --git a/examples/common/ps/fs_particle.bin.h b/examples/common/ps/fs_particle.bin.h index 19a0dc6fc..fd72e2d92 100644 --- a/examples/common/ps/fs_particle.bin.h +++ b/examples/common/ps/fs_particle.bin.h @@ -135,6 +135,60 @@ static const uint8_t fs_particle_spv[1231] = 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0xdf, // .......>........ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // .......8....... }; +static const uint8_t fs_particle_wgsl[806] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, // _texColor0...... + 0x02, 0x26, 0x00, 0xf9, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .&.....diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, // ty);..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, // @binding(18u) v + 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, // ar s_texColorSam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, // pler : sampler;. + 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, // .@group(0u) @bin + 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, // ding(2u) var s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, // exColorTexture : + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, // texture_2d + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, // bgfx_FragData0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, // vec4;..fn + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // main_inner(v_col + 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // or0 : vec4, + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, // v_texcoord0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // ec4) {. le + 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, // t v = textureSam + 0x70, 0x6c, 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // ple(s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // xture, s_texColo + 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // rSampler, v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // oord0.xy);. let + 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // v_1 = v.x;. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // t v_2 = v_color0 + 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, // .w;. let v_3 = + 0x28, 0x28, 0x28, 0x76, 0x2e, 0x78, 0x78, 0x78, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // (((v.xxx * v_col + 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x29, 0x20, // or0.xyz) * v_1) + 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // * v_2);. bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData0 = vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x33, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2e, // f32>(v_3.x, v_3. + 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2e, 0x7a, 0x2c, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x20, // y, v_3.z, ((v_1 + 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x20, 0x2d, // * v_2) * (1.0f - + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x7a, 0x29, 0x29, // v_texcoord0.z)) + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, // );.}..@fragment. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // fn main(@locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // n(0u) v_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, // vec4, @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // ation(1u) v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // oord0 : vec4) -> @location( + 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, // 0u) vec4 {. + 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, // main_inner(v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // olor0, v_texcoor + 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, // d0);. return bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, // fx_FragData0;.}. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... +}; static const uint8_t fs_particle_dx11[539] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH............s diff --git a/examples/common/ps/vs_particle.bin.h b/examples/common/ps/vs_particle.bin.h index 8969c7976..b456bfd8b 100644 --- a/examples/common/ps/vs_particle.bin.h +++ b/examples/common/ps/vs_particle.bin.h @@ -136,6 +136,68 @@ static const uint8_t vs_particle_spv[1222] = 0x3d, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, // =.......8....... 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, // ....@. }; +static const uint8_t vs_particle_wgsl[934] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........n...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec3, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // texcoord0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, // position.y, a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, // sition.z, 1.0f)) + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ;. v_2 = a_colo + 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, // r0;. v_3 = a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // xcoord0;.}..stru + 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, // ct tint_symbol { + 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, // . @builtin(posi + 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // tion). m : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // ,. @locati + 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, // on(0u). m_1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, // ation(1u). m_2 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, // : vec4,.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, @location(1u + 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // ) a_position : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec3, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(2u) a_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec4) + 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, // -> tint_symbol + 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, // {. main_inner(a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // _color0, a_posit + 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // ion, a_texcoord0 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, // );. return tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, // _symbol(v_1, v_2 + 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, // , v_3);.}....... + 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // ..@.@. +}; static const uint8_t vs_particle_dx11[634] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u diff --git a/examples/runtime/shaders/wgsl/cs_assao_apply.bin b/examples/runtime/shaders/wgsl/cs_assao_apply.bin new file mode 100644 index 0000000000000000000000000000000000000000..499aecf680eda240374bf2a204ef99688e52cc6a GIT binary patch literal 2983 zcmbtWZI7Eq5VkK>l{$Z7zchl@rLYS&&bgMGR%#W6DTRn-b(a8|)!@#dE*|GhJ_ z-~-#2Mmpb%VRvSD=9y<^`Q_pFSA*vB)!=0%cR?O(i@R?I1Neo{*Oknpu)G`E!yzra zDrBtEAbEKB`42XDfom^b4_+3s4DwA>4hMI*cxMjYLf|M3R!PLd4|%p#)mEysjB;?6 zn>^TkP-S#KTB~4_W<{w&Ba7oPTSvL7gHqLztWp(c`Bs%j^V+VcR+~Jlc73bSk`@iS zGTCya(zQxAhBJe^I>=cE`a`hYB~i}autHzmk8b*kYu7)cLs{h!xR&}#^0f@|JUGr{ z!50vyDDx^T*PT4k4sj*yDDkh$B9%5RDqshKUezk`I z55P4LSsPm5192Y<3j3V)RLqPZNeoyJY>v3B)7~^S($>}Oq9PRFZXHbaE#r#9w3gmY zOTczzIYG->dhEN)7*pJF6#D_txV`8;?zCH;dF?s_gC2Vbc7e%p_G5<~P>ZIf#qHSO z3GBF<pEOIW|+V*aW(V zqyii84c(=ON!t({H3+nd^Q;lNow&e$A}!W(+VoUk;2cSAnn@pM@1r_OZuV5C&ziFj zE6iQ$GiZI_5^hca-o|3~8->#ZLb@kyk^l%@Y|4^57r)5_oXN< z(-x@aXQeIhI2oh+1*TjN7-(P|J_w1t$t6Oe09R z&{L=;l9LqfIYh7G0%f|+O0@LA`#jRG=aWE%?y|jMkp0;bvVrWWMi@cz8KK~$RsrWI z9F0=Y;byrW{Y-p&=FBGUlsgkYZUD6ffcL2g`cc1Vjn9V(K;v|L>bHw7RtP`ULjD9V LeuKesxE%fm?DsR! literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_generate_importance_map.bin b/examples/runtime/shaders/wgsl/cs_assao_generate_importance_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..b89699c4749f7a64f77568163316cb6d865e3bdd GIT binary patch literal 2923 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_generate_q2.bin b/examples/runtime/shaders/wgsl/cs_assao_generate_q2.bin new file mode 100644 index 0000000000000000000000000000000000000000..5ee6baa5a398829f5707693ac711890625118382 GIT binary patch literal 12118 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_generate_q3base.bin b/examples/runtime/shaders/wgsl/cs_assao_generate_q3base.bin new file mode 100644 index 0000000000000000000000000000000000000000..f3587926870176a39635ae2caede0fc92b375c06 GIT binary patch literal 8563 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_load_counter_clear.bin b/examples/runtime/shaders/wgsl/cs_assao_load_counter_clear.bin new file mode 100644 index 0000000000000000000000000000000000000000..2fa78624c04d0644b5a15ef7006da9e7e49985dc GIT binary patch literal 335 zcmZ9IK}*Ci5QS3_gvkDeons0`+V!?wm%?7WdlU)TCM|;|Std!BRs8SPu9rA4hv7ZG z_n5=W^F8~Uf~|u5@Jb(ia?w!1ZrI(TtqaC9s?qrnu@`KLsgIBa!WRdyumwe=F1z%&*;o9V^KJo%I+f5J(P?y}*v!YIXcwX< zHJS>@C@s%~(d=`oY-VDX)6U4=+f#}Ly0fSEYr%k@Ml`8{>y~_QU==!1F2yp0Y#!`u Qjc@P-b!z95zkj-AKkD6SO8@`> literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_non_smart_apply.bin b/examples/runtime/shaders/wgsl/cs_assao_non_smart_apply.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd6b7ecdd647b44774f31272fda1be88fb2d15f9 GIT binary patch literal 1672 zcmbtU+lt#T5OuO;DcPS86pGy%<4dkxH@FvQ7Ycny`&5ch9N8<@mmo{dX3PG2N0z;H zn&fF6g5}YS=FFKh`n39bWwg%=<5FTyV=)}KgF$0_De;zYl2=3c)~2fpC#)dZYW3ke zGA@+c#cShbg$3a$6$4|aj6=(Kb!iy1AnS~x_?DMBlR0LEpd5m6%E|VY33@%+Fp?H! zC0J~hNn)c7<*X)x)fCHuB_+?9*jvYbm0YL1l-onEQPdbsS6V1qvtq-F)btkcRTGYS z&{rhiW|X6MsM4$J(aG50IP?d-7m`y56?%pJ4JMqEeV7FP5)P^am$5)UHU5uT8Q-Bl zBZN9OAyoUrTDNs&WVMc4oG69P; zE7#C*R@7w-eJu;jHWo@V{H58rd9vSp)>Q|g1RAY|v5X2-V-LMYwWGy(4IF8!4_0%{ zL`*6X0$Y9)w=`iHgba>=)F+Zy&i&p(Zxz2f!h{6M1|sW@4pc(5uNn&bezV6CWRfg1 z!4RNO;c^~!mZgz)p<{)r@n};tN4U-;0mnB@8G59Cx$L(}tFm^%6O|W_o%_CV+8XzL z<4hwAI)oD&0;e`|9XB~Rat@BIPPOL0(VAvvZxmWR+b70D9XbP$HUd7OsG0L%wK)zk zF3!O5{)gka&&9Lo;aQx+<28~|LTEeK@#7x>QZjlLL7q}i#}Is+p~!1Rbp$Cmf}}LG zEqA7RYCKnB#h%-U7JI&WKM!!w2ORVPD~Y;}4`Nkq9#5LzbnY&^#dJLLz3IGDSBC&D k3<_$}H;Ii7=1~oy9v=`=chx~f-dGRYBiw9;5e=fjUmjBUJ^%m! literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_non_smart_blur.bin b/examples/runtime/shaders/wgsl/cs_assao_non_smart_blur.bin new file mode 100644 index 0000000000000000000000000000000000000000..81ee41646cf4cb448032e055ca9357202b290522 GIT binary patch literal 2236 zcmb_dO>dh(5XDJVMb4prVNVq_1o2_VxN$A3t<*;9EvGZvJRt7v|Y0L-O2^vqw+V3+>ThTDhi;~kwFOtM0tC-O`*29qSuImmRGY5Xa3PGkT^VGtr1^^GsqReStqvJ!;kpgin=EGJBPr$Tdf0o` zdwTR|yyX>(;V74@z+D9)W8rR=c0iguNE|W= zfSjAc2kQ$Sk9)(1er!k*Xw6ie=A?#W?WE6eau1xOAT1^(FIbqykBnIAS2>7al6yvZ zjO-Rsu?A&hvbZnUofM&@`&joYliyYO9Vp-9Q!y?U!WtastuZsxeE%Jb_ z43cKSH?eVZu-|-@mEq9)%^JLD5`sZmz@9 zn^6b>se6(b)^=x*3oNrdp+f?+L9aETJxqxEs4MKdVvi<753@`MgGXkF%i7-?hD6#N z9Vx8xZv3(7UvR?6jl&pWix3Kf$YERK1R{Nas3VcAalb-$Fv6DbX@{Cfm|g>OY;8>l zFt&CkINM1lkPptPZ{;2M5!Z31x2}fjZ?osRVAu&1$s|x%fHSf7Mo*3@0t&9IZ5yRy zE92zyKj8BBpmlSvReN`w-3_$VEnejy!{{Rtn;158xmWZ61Z zL;X8hKu=M%Nk1K-WizJq7j=%~wps^X4!wg2UKV-Ojy!tJ$k4@yc6Y8`GqT@~?6)I# z`rO5P)0uBL)E>uCGa+0t9uGqgrj;#~h2Mq&3{N$XoDobUm|E@LaMg{HpCnyh6&(8& zE(kP?GTN4F%g3Giw(GgB=T9a$vo5e1fs>d}&p2VD`Awg721g@5e1BpXM)Jdi?k)~x bwb-|jz?SSM0H-Fjnh+20!PKnciEL9*5A z-B)B>sIZHd##I#w!c!^+#!!Jn)A)U97_=bkjH39CmpPMp#0o(JX0%}> zEy_x;7?(+6p$+A%CW6&8k_Agjo-=VUpT<>ko$^v{PoqX*17b&-C|t8*!-^D-7x1qp z9Q9gXk$js`j^3b3pKeBHx!zOiH@X*+Q=kfcirh^^I46f7@!TaOssxv@K;L!$@3S(# zN54i0b#4Mx$JaETG$ac_lS`|KQ6qqezjvdD^SvpNAS-BnTA~_g{i4rkavwG6ne~)Z zqU0o{peW$JEWmvW?Klid$qM5#-%3GIxGVX+cE4grihXGz^&3lbloTi@tia(~vP{4s z&B`@QoE3E$!(7WEVjB~sS@fy7xP8QLKWf!pAi+knaV(<()zKKeMYXM$^9DT9s0%1w zGZB+Y1mKq2@Rk^kUcev)ls;3$wD$)Sy;lBe28IF(gC*-yd#a$iR|AE6x4B~p!X(Qu z03HfdU-ofln!3}DI#FFU5p9Vkg=0?>2z=GZ&`;`z!+xr=s%l4`s=Cp{-uJ;-3m*F5 zTzBYo9ZoGE&Mf5EPI8jce^)fiUy1!*V!xkQ+1mK4N=>HCcjh~b@nSZayW^SP8Pb)99jBm3FTaIO bR!HrQo;ZlxKAj7ENatz6jrJVCcz|l8ayFnxv7&`OYF$8({5=0fhT@1 z*G^J0=-yb=O3wAY=iGCAo%fd?pLy-G?;RLYQbmhu@YM70htKnh@S>DTQ<1RGv;=S8 zh6gXagNkUXGN$*ufej7<@7EL0V}dSo2FaC@1vdrZLNg_3PBKNyE3VnuaK&jRWTkoH z%QOvP#T2ip<~1Wm@KmaT>zm-;yvi&yB~5uhYq)She`Eq!EV)>5k@@4-_*PQ|f3<%} zi!x^l-ayr?&W1bdC%enPu#Gl~VYzNrBwo$ZNj!f5Cf>p{R`m)iEfvj}1yEBXP;>}u zh5lHqN-L9S_}aMfE|kL#|Zn^?N2^ZwhEe~)h0 z7QIV2!i0w6RgYp69jA!&5*1EdGhO~gY&8&Jev!tXdbaIbdJ#z zE$-~1oq{MT6Q;IMM+-YHdRdTE(D+o8xngn)ZKG#e8U1{U5X+ti$d|p5wn?xVAslnl(3y^$~;&-&rXBW}W# z8=JzGVWEVi3DXYbsLX-1hi@h1NBb(2EF*=#*=&4BMRbF|cQJ1227aiNbUChAG%x{p z7$~23-TTdabaEga<2t`5xB?e#_Ya_JwIx(R86yLptx&CSTmtdOAqO>NP1M7Z(U@3@ zP?lB$ksf$nmskXy)ktLXQZYQa74pWGzuN^|6b{KXF1L&&z;G%CurqHsc*f8re^RKnm0bf4oy=B1bsZ#u(d+nWoJBNc>y#Erx`|9 z9}{lldZ1nVO@~~L_?3TmtC1UpAt+dgy%t2^4`<-%4NxAKU>fxUtqwwXGCFNnZ#5P< z@E2|2s1}->G+qut7z^dB8r7*e*-8A&DwYDNwcS%snfJ)>dOEBjZj;yt$y?Vvj3D0q zz8?T75Cr<-FT7@6|0=2m1vCTZVI9Nh--80?isyf&X_M+f-GSvQvv7MTZQzHxnc7X! z3!njDQ87+_2Q%WjVMaqR3uU#)E!Kf4V0m5!M7f*R%C3`o9)xbm-NTwi J=m!e6egPBBMT!6b literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_prepare_depth_mip.bin b/examples/runtime/shaders/wgsl/cs_assao_prepare_depth_mip.bin new file mode 100644 index 0000000000000000000000000000000000000000..899735376dbb207c6f7d68f8bf7c6386048f5634 GIT binary patch literal 4648 zcmcIoU60~66b;jMyGx%cRqCrBlP)`r9RtY@MW|h=U8!%QK2=o|LZH?HLHU54t@gk7 zUOQysjLBp*nrH}M`+oSIbFRbucKgS7R&@=nmt}Z}vS^oIeQR0p2iJ=-%#ygc8n}aj z9QZL0k0LqchbT_oC5PhQ+qBH$#3j}h&R@CKg%y-oUv;lw#QM5>g-5J!sui#Du!yov zQn&-_1$u_a^%xyM`mHfGuwJ&uyn*$q8vEgU%UX$OvrqFv#CEz~kH{*?#4#$wF$v4P zSf|-e6nDiyNa;`FYOQI}`?qz>Zu3 z^eripk42d!AzR7pF8J{}{ZL4zpC8`ohxPU|?)2mJ_A{ydR77i7=0%!C8(Eo*PS)Er zDn{g#i6WU_sM56Mtyz~Z_vW{}HLLUG-h!65W{n>47N@&IStMj}O0y421iAQ>*nT-8 z_@bpVT<^&)5_@~GEXB5f51VbejJBcJAJZ7*mF`2aa>!;I{w^op*W>TsLCrw{-mC<5 zI8r^^q#(zTl3&z>fC+GDFmUNlC`F3&jBl(KGN)NBDnn6V zBXC=mj&i+XNS4PVN(UxR(|#P1_Qr}KiF(F2R;(YtWPDS_SesuIqCl-AxhPn`XPslL zAID^|O%-GPI412)6=VH4ChbiXWBoWL?Tr;{bBrlD$r3ZQZJlEbIktln17BwaJ0m$% z%UEM2Lsmu099FZ5K7)M0POctt{~n8f^d`%Y5RC;BSa51~VGj{U$3FCW+m5%@sp-gEI_ljlp-G36#;OZQzt z`=X|``XImTRa&4|2`Y6R2+|m-+p)6N0P>Jt_h6qJPz`t8g>)+<6$I2lQ4H`nZuWVQ zsg6oIZXx4=@?iVgy@d=?w290_0Wf)h%veo~pN@fX$Z(@vDrACZLxxwHf&Q#(#tS4e+FeJ6w=@H;kUso@W?*Y_;^~^<4b5=X2pgJ_ zBVEXFT{Gu~S|d|;RUMfQ&G6^b3_m|!wl%}0TJ(DhnU-e2l?32{X1LM}f4XLPLo-}z zhBY)JN6g4n&m_0-6ET4Y{p!afau1KY+6J10ciyDYL_L7DO#Dt0)pT_e-W^3AyRF1{ P73DMh%fYf1gT>%~-@`82 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_prepare_depths.bin b/examples/runtime/shaders/wgsl/cs_assao_prepare_depths.bin new file mode 100644 index 0000000000000000000000000000000000000000..a07a1c6ef2bea0e59385ff6c8f26f6222959118c GIT binary patch literal 1827 zcmbu9U2oGc6o%ab69n-e&J{`^lzenu$4XVfB$&kA;0mG0O`KpYjVs5_TG0LjKbey_ z-P)+yhvv3QdVKu6=OnNF`TXlk(vAc2Tt`bP>7wlS3BfOpS7ns2rTTp?w2T>;X#X{N zQAUc&j47{2p5TY{y_=ZdBTu`rphuo{V_}aRw6T8&ge071g(ww|ZIPxfBuw&(DqgWj z7d#bm!PVM1vATJso@Y|%7_2|HbVXDg*8gAbt0T@)mf zGz_LEmQ^aLV+B8q{-<2T7x32t*gPp*M5UzbNyXw}v&aSiSWjK+%Gz5&T@F?-X*-%i zg@|oDitejCyso@`?px)SN=TZqx@_r>(p*sG!lmSj)h+C!4LdadQMAJjEqD}d)S-p< zr^RBi)QZ9EQpgMAiIV?e_E@`6|9tIOX#oq$3wt)#JXd&=TJ(QTrLc;Y~o zM_-zWv+MZTDOQ5-Ih<%Thtv2VX9}vwhmU50;{*ctEOiE}^$8k>r(n}Ow`~LkjbZFL zS1~PBZK0q+Pi;gx4oqrjo77tKlrLCOVv(hNy#t+kG}Qo@dIGGcX22UmXvzw>gPR9% zn4}PsTIx4J6Xb2}^mb3UTWwWQFj!##FKZV(UU$@9x3NQ`9l+ZyZJ#%pJNkzY)*l-E z;jQ|kefl2i`2%a{R`r zy9tdgVPl1JJWJS(x9a!pH!d)z8~QdvmG_Oke0Yb`VQoJn(%Na4Q7^xXad-zKxCi6t T4n}wn#_@)6h37XRK)l|6JIpG+ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_prepare_depths_and_normals.bin b/examples/runtime/shaders/wgsl/cs_assao_prepare_depths_and_normals.bin new file mode 100644 index 0000000000000000000000000000000000000000..cb0d2ac21f94a273f53c902340918f26f870f254 GIT binary patch literal 8169 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 JwHmEPp8@?8fpq`? literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_assao_smart_blur_wide.bin b/examples/runtime/shaders/wgsl/cs_assao_smart_blur_wide.bin new file mode 100644 index 0000000000000000000000000000000000000000..00f780f838f77744023c2b109190190f11edfb82 GIT binary patch literal 3067 zcmcImZI7Eq5XN^^6geOI7xq)Mqz+|y@j=eDtRzx;Qop7BR7D75uvWovS{BZBmA}#7 zo0(lW!`YWOtq$D_3^O~=JUh>@?>_$i!f3CbjOTT98;f{TUHohq@B`PgIudCjFGlug zqzo^rXqngIrns#oF)q<|`O zn>4Bmo|R(5<<7hwKlH2WpQ?j@##b><<72l^cs3!z}S#6H9f^1@5(8aRmxrCc_UM}N2 z;zd&?u)Spw@s&x|dGtZOxVg9Ayw}CMvl`em6>)hgNfR;h8)+=vZP!4RwmM*?OD>bR zk~1L9QE_t$x9*I?5|H{t64To5O!5oTtRpBSKpXU0x3r51@jdP@gk>B6bZ%1(udT9) zd}})aIKH);5Qw12Rhxu)kOe^Yvs`uIZFQaw_b}YH>}=p1fOFgKS~`EEO`6l5qFPx@ zPN)n~T>-Z(EV$pBCvt>OlLNBj9;#M&?QlrUheR;@=@Z+K7m`0nj2-<1toAEDSukqm ziSuH?NA)T}MS->J_aQ^AfYwni%mr~czOQsLa6(P=8ajY}-VPjEHRySYOZnJ#!@q-; zW+;Fphw%@YyFpATsDUad9+}VYWr(wgPGSGZO9I~n)Ua*2`tn?7dgXccRp^HqH1@Za z@c#c2$m-cBfC2Bj&T0-uYzo*9L<}An&VwO)I1!L$5H^r;#3N3Sdn(%94Xs^odynWn zlN-IVnou~u&%kZr0pc)T84el^eg8Q0Lz=FPu1D=*8Q*J&bJ>OY+(+r)RMIGswIhPt zF6%(CA*lb@y8WVmh~e!JI}SFD{q7X@ewqh$INz@0%;x_g?E4mbHxc0sl){%yAC7Q{ zOx3pw|L^+>IUEgOV5pf9C@t7lV5^I<(6K`&2z}oUGVBB7BmhR5D73a9V`YJzMhk=E zM`wZ-RVMpja+o$b%JeIoE+~B@la@uG8_%)Z1`OM0W}>uV)Z!6H)zcnuOs()QaNabG I#b`153SXsEHvj+t literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_drawindirect.bin b/examples/runtime/shaders/wgsl/cs_drawindirect.bin new file mode 100644 index 0000000000000000000000000000000000000000..4d08559fb14b9dcc0a86fe35378656bfd501cf38 GIT binary patch literal 3011 zcmcguU2mgC6eZi0D$%Oi{)2g`1X;%mGZ@>A8@bz6ck{HBsyi@Wc~!@G zlD=)SEG<7a^@;V;`c}z)koi)UX;N$1iS^B1ppD+eb$prsYQ1O$zr*2D#;d%jYMD4i zmJQf4E#)?@6QnSCb>DzUYT(NtbF*6+Y zGux&~Fv|qL7}yWCJy%GM*SKuHpeXW{df3M0tR->5wlFhc&+X3HQBIV{4fNx(j6ctI z&Yt!bz%_ZR>Y|KS>424Kyo_#2S*I852tV?HeY9#4G7F*EC>w)MgW#X$BcA7D!nb71 zC6kF+`IZU)n#}M%Ci|S|mO4m?UIK@CQf#i9I%V^lqP)`GQpvm234><9e092Zma|PP zb7#J2iD6W`MGF=tjI<46jbbiqS z2>}3mOx@w_Ir>uTbLd0W*$&M<9p0kvI~CEdLa#=r5|GzJguA_T1nCChIon9EQ;-zy z09S4Rgis;*h`nK9AYJyF`O=V&Nlwv`d1weGEjCOC3c=T=t)kMr2Tw*#4%;d9ui!)u zOLzqFXsjRCMRBcCNwPMbo>G`<1;%8iop@{pyNRn)Px_1{MUEmiX{YchBx0(ZM{=9F)JuDzQ=xoOW~@Jw8vJ9Y6y)0k&_}N$s2NSstyqZBA86Q zaWM9?9%HKR-o=|ITu^}x7gR=XD8`;Tf^j$zV}CT^p6GKy^{-HWaMLwEU{9q_is}g| z6~46%jw7e)x3)b}DsCH^U}wxnM;$?MRp4$WJC1YakA_|bbs{uHoIX-{6egw8NVkBA zi>B^17rGGR5E=3V?oFnXU~f*T?94aut>XcTfQUGiTM;LCL(iw@u93P{PzTX<9b6QMs5Q$D5c02xB}h9h`+t^X4R%B%sPi~cnLI|f~d$6oqFX*(J{f67LB z4(Oga+Ik{?xcM8ignvS@ciSD+ZZbe5luO)?^}Ug^ejwO!t_R2=9s!O(hOpG|@F-BK9@70qYwOky|T0B2LY`NM-A}%`YcG_b7|CqL%<`g1?yHkeZbSyCS4?Zuc zj0{pRD(~$8#D-Q{a;YKgW4BVZp}H?OOC=AJ!)jdaUts@ ku4?t&pkk%21u1|870gf}cB!cSV!;W-qk# zmzS2c67f1Os#+vYk!2&YN=wnkwP@3*$wgL_TTy>;Pwj_#RkK`|MRT>UWmk3CBsKY4 znZDf=$tAh72{D5uzmYag{CURN`N+Pv?S({gXycN_5*g=f`OwDYT$4B_Etr|Gr*`M; zAY;Y|L->4=nRyo#<%QK#qR06+2o`(V{1WR^*>kv0aO z27-T_4}Y4E39reROC}SuFEkVOEtz3MOm;a@4Y!vNwPbQo+>92~M0ig`Jk<)p5QSZF z4$${9Vt55gi=^0IHFZiB*F|}$8n_a-sT2Cmh;rVeUO5Se*NM-garM@=U87?#<@vr(gLS5CBRStaKO|Z-<-l$QThz@ zLDgx;=GGbCz*g*3_^=A@)=tGouloqMJ81yYErjQ^5huq$lDi}LW(GhADku-g8xs1$ zC9jDm4EY4*7#*62hG43(!E_`MJY}jCrRE**B)IRuc7|JuGb9H~@Cd}CiF(`=#g$AY z%5*xZRG29RLPVyVP%;O*sjE_t`h+A!4n=IzPWPUqn=0)A30cB!zwD*9q|lqeFfvrN zcdRCiFU*Wb$*Ta)I@)p#H#3)qIaVmOd$}N2FMIZR;OKj@8$;15zxm z4vmu&;z36pKrmV0?wD{K=fn%fGy`=cG=n%jNaaD8m`Wqv986qj>Opg^3NZ;GL!Qs* zbT;*O=9tRPd>h|56rd0YiDS7XafCPYJbdmNscTiHx4t^?AQDU)Kco@HuSH!%Xi5iv2gsS{>qI)^U@Eh+t`J_fI z!*kb|webA(ux0WXi5Ty&^|Xcc|6|%RoKp}XxH~3LoQ?%d{k`{LY`Mt8rVIM|;W6yM zm(!)Tdtm`phN}MO@ijCE9{pcYy9KqcsN9%yY>*s=5j<#Q$#E&_B(7@t-XLSet_4!+ zHev<TP>HcpYJ?Hio zZh`sY#A9gkC&tsvUj<39Olv2Gfxq~9aS^RD@iknFED6D=k*wA* zUVh2MPW}Xq(Y*HA`18y#raYKOaVq%4jAt_&reVVKK=3^Dvxv{)WXZ+GI0}m+#ypzxXl}Yae9D6a^y;pH4b2@@^4NuHjc5 zpqv243X&w)4DxW&mX+Ah%7%9R?s!uK4+1h!2oE902zqpCWD+lNXd#Sl;^ex(I_0;a z>9sQ(T={3!XAvv|9+{(Y#uoy=U~R#|=TVOT1&<@2Pc4`){7aHwY{eHJFe6sm8f1u@ zjl)v@yJX7oJ7)h#ldig05`aZ0AopE(Tg2iR%fw`w4^ju9Fk@uaEHV4x@Sn}~PTM-v zZg$#sRqIxLJBM1$*Q;t-)whdU(``C4c!RBYTD?78v#Xo@X(P(E`V^k#PDq+#E+#=L ziU%|I8N9-+r*W$=?pa%7txVU!I;$mYyKY;$ zp&F-Z2*>N}*S>Y^P(8;iPIVJKIFX=Ig(P7~oCB6x&9&}LBr(y0DSQ!Nm%(s|`(Qx> zx*3*Z7Q%*<{VpHThR#3(yv(vJcugZyQ7Yw-b8`)Y0kqL@zj0D-N@WE!B4`;%hNgQo z#AyBIT4#$(T)oHe_D1iOXnWMq#R4lKC55+1C3$Q(m2^S&+!q70>FJ2=>L3=k`7+GI zg{j|cb$9J!hn#Rn*-C%UBt}#VPQmks;7@r$5#<;F1?L#H{Ie07Cb;JDq5;hg(M&Wb9S4~j8b5}PE2Y>zo4+$4M literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_fsr_bilinear_32.bin b/examples/runtime/shaders/wgsl/cs_fsr_bilinear_32.bin new file mode 100644 index 0000000000000000000000000000000000000000..10218b96d8e3ee837686b390b6294c8738c550cb GIT binary patch literal 2642 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%0AL~;d(UWEnr1t?lo@sJ

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 F^Z#)Up>+TN literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_fsr_easu_32.bin b/examples/runtime/shaders/wgsl/cs_fsr_easu_32.bin new file mode 100644 index 0000000000000000000000000000000000000000..b6341faa9753ccc40be574cb7b473a9ae5b7fd25 GIT binary patch literal 48844 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


OscH#k*R*ap>(ya)O)IiDVK(CI zahSoS5eLnTA>vZKCYXDMO_*H|yOGyw!0asB#uve3q0QBC_pU4*o4bCa0<;m|fGl;a80uX4kYLdlP2SSRa|R z?G)b&m_=kIn0tmzm|YLM@%N$|FuOQ*%jW`aCW_5>)I~3uC8GdX6L$4gC@+*b)l3rn(g)P9cEh_cVTv_Ys*yE=2RDxV=P-#*XHka zhe^A#So@@1jCPo-Q4eOPy0%PpZBBJDIaMu3V%Yx@MMYil!D+XdCt zHEhD{R2OQ{gxRSsl#*aJs*CrJqhx%=4_;A6y4p+K_+oDZW6;`rrTAj672=D%c!n?b zY7)NK%PaVT=V$rZOev2PJ2e1b;5ptvM57f3AHQqwTmOrnqUD=snD5d)K@tCMe$Y3> zY(>wFCfMjaWbn-hY%Os$%nYuvW?LIMT$Rpk65o@ks&od$X8>$BSl6J^#3m|iEm#r) z)%5FIDgLvp+!p!SXn97oIwPQ#Z1Oq&o4om9^1nY$CO6gUZnJ&bSJ%_+?d?3c zS?{XDYF{1J%X(AYZg&sW{$=*pHezeTn@P}WKkc`>)!mw`?C!2sCcC}guJ-fb=Uug5 zlhLRBuD;#}|CBlX<$inpA^7Di2wW0jYqi_0UM>#n>x3hj2XTElKl^n!Aetd2bzzfq z8603iTc?R!Zy%8Nb@1-z?e2r5>#6#Za$-(A(!{T?3>+vbK6U;=kbiZ&WN_WyT4(U+;s% z(gc4NTNP|g;Y{hE`avMWA`E+6U4Mw4ZHA`^AmVgQ*Uyj9^n7|)xRm}otp2n3IGfFb za1q|ll$jW2uB!d@>S@oxla=_wx$ez#ws=;`36#Yx&3ihX9+q)%d5L_^g113l!=K3B zvgp6|8%EF~dK+Z*Y&Hx2MAMDLyB7+~nZ>M5maN^F^CbBXbZ z3O(b{m#Op4GY+eHaBeDXEXO#zFTUTdZl(h}XRgY1SZ0f72=I78vMc0Eo^9cZAs;IJ$`U8*<9lx{=?Bbm~T_Aa5B;_%%pSvhED|*D>AfC@zh%_ zqS-2)tkEfXY-Dv(wfG~-hSJHMP870EY;`iF6H~SxR?k!VwXw;k@z`R@rqZF)P={t0w=;EEJ4T~1qorq* z)OxT)%e3D30LOC)fFhVM9sC|xn5;qo1S)A7r@#xnz++nAP>W+uSFD$3%uvwgGEONv z%CTNswC;QH#9^h*#a>CCVv*H7S8 z>#4`OT1f2R9QKIgPC#Y)f!UO;8=ju}UN8i=0_qcY4z)m4=<*E?pDH2+vXXv@=edlSS)f9IX?oG^*N}Q=h1$Cv&6(FwPkT zbdONJ)Uu?G_dZiePo_z!rAc^>dKVs$fXuZ^F%=#Fp@RHWcmRY7@>AgfiN|zOVKoqH zb*db4>~Wn`_E?IuqxGH%v4K#jXToeCRNgb$MX5)3GMN#CT3u!Yp;o6EwLBt?1$RMM zaW3OuoKf`5^!CeW!b&G;bb$02i{po%vD&hk&x_KA7p2TSGRuoH4Llj8%K5l}j6xm5OjuAN&uHGGSCEVt_30JGBAAZhKnh*doYt#iW;vKuk4@yX zeqX~T^2mAi*+gy;1BNk2W)pcVz?XxCeHxpHXu0?31Xc)5K7|`53+{V^#a4i=)fpkY z0Otf=SZ$06S6AqSGn91H@{XNMKpuy>^CY~04O=>q4;gj@$T?~Vkh9YeASZAH2oYO4 z!G^nZBIo0?>17}gysQxDEMAZ!a0zu_cH9q8f#PJ`%q?!>Ip)5gQ|KfrkXwF%=crNMp}my$sX#%y^d#>E zP>M2&=csqLQ~L$=n-;~%)UL494$o2Vg5^1OUJJ&BU^#>eO$)(t2o;(Zg5`yW<)vUb zgi5^>EQe63mxAR5=vwQ&6fB2Os|%JxsMUp?6dsQ$WkwKcb(s-_TAksxX47aUL(}pOy4N=-QM5)^lCS<&Am4LFuCg8%bBOEXM%++yVLP}Um1~@tf z=_ApZkP@ntnoh*g@F?L*iNa$~N5kV~OXH64fwI$Qz@)mkO`>6pEr&V{?2ukwQ3wyb zG4;Obv3^78_Zwus%n7Jg9lIzggHgj_Ovp$&Kw_Xx7}b!CW4yqGw0adWFd+jRV@SIj zOi1hbHPiqOhPi0I#r|d;9?NgEyRot}W0An!bROV9Qyo zZzQfWP~i2(1)3|8;06}1H{b+i(;R3d4I^nJ!W(go=!n6T(I6!MhT0y)GHjg>%s2)#Pw0LEXHklXr$RKkR%K4T1%dKibs zZ?FmTnudMTu^)dIHLhphjbVUNm{;`ejceTF!x#t}b279dT0wUDFm9LjF0GADe*4tI z7}}F3aSLNCwV@B=ArQz7gwSs_7(;96#1QNilQBmwne3$nR*;5ySOUHg;RPgCaBm`E1|;^32sc2oeIvpSNbDIA#zSJyh~09=zpdfR1}e38VPp6{ zLB!gKTp2W!z|c*Ba01Mf$bgA(O34Rr%c5ZouvUto5Ka;A{-lTlh(F-EKphG(WlAgJ z&Cw|WC`b|SJ)&qlMapGM4xZkSiyEfOcHLw zP->aAeF8Bd^uq%0Gn1HjD(wKKZ(K$v5oX|tTDsEc38R1ogLe^2AQHpXksgL=hI0GI zv)6PNnn85Y2SD~l39S$pj-!mY;1%jAw|vUQ5x2y}iD>^54d7WgqQWj5QTg?3GWo+K Goctev@8Nj> literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_fsr_rcas_32.bin b/examples/runtime/shaders/wgsl/cs_fsr_rcas_32.bin new file mode 100644 index 0000000000000000000000000000000000000000..03096eabeed2507a401259349cafa4f0378c3cce GIT binary patch literal 8776 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_gdr_stream_compaction.bin b/examples/runtime/shaders/wgsl/cs_gdr_stream_compaction.bin new file mode 100644 index 0000000000000000000000000000000000000000..3c63a28b8cac24aeb81a9422277617963d8baa98 GIT binary patch literal 5196 zcmbVQTaVgC6n4@}Bw97SsPEI4$Ru=y#|AddF4|nAmZw&#`c$nfFBmjhuvf-rn@0QJ z`<=PrF*c;x1Ozi@&iUq??_A8=KY#nm(|=FAr&TQ?S1Y&k(*D==DVa!ey_?$SXVpW)OTjtYwt6?@%5re?&ryRO-CMi zU+U%W%rfk6OWJ$wJ=S|an!TBZ@;0wB*!n{6-~Zrw3z4j{d|QgSpD&jKwnz)HOG>dz z<0=!&yx55Heg9RjDYva|Rz+Ujxl+AtSyc0q{iTk+S?BXx_MyjE!%gfLwoB*H#WLj6 zLGPj0yOPTMVby0>HzHfWq4LWvDK0dQDcj*#UGuA+v1gpN_qDXT!GWYGlJ^(YF+&lo zlAs)Ceup&(sQ+B8{4xsRG893z;1^Oxj?__k}3aJ$S9(L9W-@!OSv^h1&~!1eUN3i;H5G9e|i+dkluF1WqFeT?7=v zZf}g+5EyUNl}i-$g+mNBmo$*b0y)Yf-UeaHj4i9xL10%8VK`~4p^QEb%BT%W(;JR{ z2b8k|U{~{eb61rqyRsyYx8mQ_4~9Id1}u=Tes7tvO(HV?>ZTIw5+7FU{3cn)BHQIC zfg;ahvFNkaI{sB|%J?+^G{^Y&5>y+nz@8amXiE*2*(|PF+1$={- ze^@l);B2Fg{&dMu_xd$MBQgZF>;*hqH#GWmLpWMDgo1@zjNx>6ha5pwno$|V@?^h^ zC49ZaEl9`+oVx<&3NL5VsT-<5sB6K`d48vD7$q<3N=zhzA$0BHb7jr05(xmrtcoS` z;UEZ4*$_6YX2vW*-=L6+wD6_>2s&ft7`t#`k|qS8ro|d2{!Ip?RJmajVpTd|>H%o7P-Itf628fe~Ts1|9R(d__Aa8;ogH=;h9F zq7wiZaYCaBMDgro5Mv5Iz0*s3j&cQ%NSj_Ecyu*(DHDr!DDYSrn-EJ!V}(;lM4z&1 zSdkzp{(zU^XwXOne3y40k+2nNq(ea0F$vQ`{GgTjTrodrP@gO62Tkrn`~nx}4sCVK zBhu3Cf}`&I)Lh{mxxy(04Ew235(HkOmWdEQ#&&3-`nu1SHU$)PqB)P+c8LI8$t2a| zB-PfV$pqEL$k;I=?Se@<(>Oj-rtwitN-H@3`hm>Ew?^xdV zU6c;}?9{Xo2AwwGcHl+tMrBcTLYtC#d0+}OR8pO$_(@YJ;jSsl#lu@+Og~{NJZUP_ zriefKUX;%brl@Q<&Xf>ylb%T&ri7H8cZSD8m5G%K6JWv+<9LF zapL+^cBy^%$nr-q<-F4dF=f)m6qyYNrcN`ZoA}05lPQtRtOHXgnGy|8-m1=&W(WQt z`={xk5j|L=WhipeM1U33lc{2=xiq3@Qa!KA)fg)f6Xu-LYz;jl$^~e&+U*AMmQ0!B zc0$AvYObNvTo3CuifD5>YRp1ZX7x?&ad#fFV9d}@{m+@mtb`tH0PZ=1Z}+IJ1abeF zZyq>j^`CuY{TtB}M`-eiT*&O>DHS*=6q1m9(vT1SvXdK?_Gwj0MkG1D9>|g%P5Sux zNdHLHlmq*su_pRyDdMPeJ)^dUku;99MhYYSoTP`2C>mg#GcQMxDp--8HzS$?sNDd& tBc|7&SB-_rQWNA{u)@Gzh#uWc|({2@8SV#^@ z-uu4a`<~xkuFz=(=+fpps%g~(6NLQs>sr=@)SQ`>6@u#t3eZLO@fsjhNLtpaF_IA_ zL<9xb(orKF&uuM*(v>uaaDm5lja`>o+1;=TH%41#VCV?n7@&ejpjy+z(s6dTwDVb- zM)(KgtkWT}4Ix{%jde+8{^F=!Hb!Y$@(47iMZVY4@N^`eCti5yx4=Ee`*DQTR`MRMsTy zaJJll^AkM5S{g$1`A4W6g$+T)eed}MI6Q5xOv48RG ZXZn*-|GB!^sLosT6P@ILFhVydM!!L!$szy% literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_init_instances.bin b/examples/runtime/shaders/wgsl/cs_init_instances.bin new file mode 100644 index 0000000000000000000000000000000000000000..9bdc45a32aa6ed6b30c5d163425e77821a305a81 GIT binary patch literal 6229 zcmbVQOK%%D5LS~z3-#7ZuRKbrDl8w%-EADhNDH*N6)1WNQbCp_V-Z_2R*%GK{Ga<1 z`puBsrzFc(VsOdj4CnFj<8Xid>yPhy{`a!?-F9*}EvC2Y7cYA~{KxNyyJEikbG6Pl z`D*!gyI9PNZ+b6!-@2ExZBevezVt8u`?1%%%BR=M)q0c92CKzlB(CN~zMF3H-F&iL z=8IKvn{V!iulwzJ>+R)rvD)4>XZ6>cVmsT2zn$pYo7L>2__r@aFkAd0rbRKmKikb` z=4_$W`AF#P`KbTU?_aROL9`u;i_3g@l`pTkvzr!Y-j;K*gNC~H*Zr_&Hw?V;ZFkAT z%PFi)%dI!7VtPFviDEvzntUqq&HP++7nn#W?+(MJeZJ^p%DZ_wsCu@#z1wc);^Nb) z_~??b&cDnDu~gfUko-67FP7qVnlA?zm)rbigNN&z)#dbNk}r3w84|o&PV%dvxW1YE z&M)4Tk$7^c5=ux2-dS;WCS(j; zd==b1KNk{9w5F#teK$#<(^#3BIEy-VWNuC@{y~h=mI4`78dRoD66;KLtdf-80ojH5 z4a3k6mL0P}QpTZxRAj7yAkVI4tRSPXzY^r|PeP~Gs7%SsqDxjw**2SU&GslvAiET+ zfdHvd%Ggw?xEl;ltGPA!Ax@$si=#MGk&%&%_vs=ilO|A5)Lw^R>EBh5-Ax#D z%$w{Ki7GZh>ETGMLBSZ2cpUiWh`@+3?cf|y6dWEKj21Xe?IE=$t>O3zL|KuIdNQ*G zZc|Srw^A;^844Oaf_~tUutfxKep(RB}Sg#Zfyr(_yp(W8HyjO|_=0jjB z>f0CI8vE%M`=S3lmjht5=RdTkx*Ql#dj>>%s>=)|+LYunm3{{hWf)P8@O3N8=s(M4 z4RN$Zbz}W4A}B3YtKu;WGNqb2$J8%AMWSzIx1M$F;D9PCK&65$p+k9tTQgmjk)& zbJ-E7bGemeD0!aCfmvfu8E8+;vUQ+?tC@G%5$p*rTZgT%rOQgp7qu0^0ZA^J6=5;K z#s2g`8?5DV*u?YEhVjPy(QG+rieRbyJWIe9coo)r&)qB3*L7G z8IjDd*bdCN0HUjCtwC{K3HW29j3sRhtV?C9jj5C+x<=Pkv?Po%-%+l-#k^ACgTDrY zmDoCE+){4bU+yP7NJIXLO}hZ^XsRC}aMyUAz9w*Z{A+?VD*wh9Lo#6Fv4g_tNf?Vw znTbvL3fa2bdx5}ikZcr`=o50n+2Ch0q2XRH5x`cF>1PDqvKbOZmrObq5|?a0g&E5$ zX&(rFiX$LoE@>TE=m)b7noukEk`^PPPvXZ9fh6Yads6}{C4Q@+4Ogy3Qh)dJ+Ep59vbyB>(^b literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_terrain_init.bin b/examples/runtime/shaders/wgsl/cs_terrain_init.bin new file mode 100644 index 0000000000000000000000000000000000000000..8d3a1475729f06d60edf8db90d72b728b83a04a3 GIT binary patch literal 1860 zcmbVM+iuf95Zx3g$Vf$kADAb!Mkb1#(g*5BQ6nVs#6!hXRaqNn9afF)Xua!RP=A6i zX1sQY?Kl?T%Y$dm%sF#e&#u0{Ce?LJUg==NB#X17BSP@O>qI0=A$h1Sbrf+qATP*E z<9MTkE4^5j=5JaJ$g|4xRtGb^Ui0P7KOoO5=Se+mo(zapIo>gq#v+`hI#FD1*^Vpk zuVX@%f~}G?QzE2k6gjZuQshjDoCi7)Q7U7h9_(|gjmz|6B~!g=qO43w9V+-Dd4Hx@ zn*IJcp7lxUI1l@}D*B?AVH$6=;xN5SY*j-$B% zN<9G|K#V<_54Q*4+7&m$d)tPO;0iof(AuNG9mdxqaf9*Zh!nNbjIZ%$K^H=WEK{a_ zO3wuNJ~V8|YumO1V^l{A5&i{?L}3}BrF;)@qOJz#A)MF3?K)8~n5gzNv82GQiW=#n z=59nO!RlAE5>B@#Z2;_B2n;vMq(`(=@r}aWDx>*{{|w7O3eTO literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_terrain_lod.bin b/examples/runtime/shaders/wgsl/cs_terrain_lod.bin new file mode 100644 index 0000000000000000000000000000000000000000..270d073f792af2f49fdb24bfd41664b3da8eec39 GIT binary patch literal 10782 zcmcIq+in}l5v3d>*_Dw52$1*5i$Hp1fpeen%7VOJATh8&0yx@AZBq zdwys4yq&-9?VFD8%jLSfu5U&s#V@OC~i?O)3FKh(vWdO9s9W~Du-%?kXt-|J1P z(bashT36%#;_~v)o0Q9HGg?=hvZ&|PXXC$Pww3jP=MxGVtwLmAfc_g*_4w}#YnJBY;dL(;Kt(`pmZ;v$mLh-#d362 z9(v1iG%0SD)w( zVmmeQm8BX`5lFU7iH_Z5FK_#O9xx9)WL3o4lc*cUFg!5tWY9Q zZSBV;D{{#)Olk+A9mYBxFJ{;Ey7W$O7R&b>WLDLOvL6QZq34U=!T#kO4qVOqrx$fK zUE|?uy0{ok$-ft4#IMD?s3rsNYFhkRbiCE=Z@W(?d?U9M#kH zO92%%Ov^RF<$JHZ3ydAD)&k4EK(&HH!x|3U2S>NaBqYG|s!Olm7cx#>c^o;uTZ|_C zgMLTYIhvgX)%gHFS`E*;K)iadM1GQ@rFH?d;}xDG1nY%mZ;0Nu?;g#H;0!ti=Srj; z97$23_uNBBYW2oKl{Kf zbhoDKE}|4|%LvgvfoTFoo9Kktcrizyt4n*zC$F5Y%EsD4$03W4?6EC(A(5y`=!1Wx ze3Wc0dF%xN@f@I%+d{1l|pjR7R%8lSe~g}!n$sjhh)r65o$aP6GC>C zz;YGMa!mWhET>q7l^g!`3t1kL&q|g<#cq~|A}J7{g5_bj%`zDlfx>+(4IGe}%{T zso|NNN`6D?#DD`Ii3UvelQk(Qq#gYPr!KolP>ayjQPS zqMaTX!AMXNJBx-#w|5_qtMTa5}G`QGZ#j@;-oIj8s@Zy0xN@s5v7Me4CJL4-#fpL40SP-tM z>)qBM;uCD%@4pBrmOMw8y$br{DK15XX1Q1`9%3=3Hpg(|T`KLyBB@bfq<0Z!!b6zV zneY(xY%^SuWqT$wnP;kJo7MMo3wV)UojcrRgg9U$;FFDj2Vn$x>GN3_)?v*1QOC}> zzKeAcw^fa?U&k%K_8Rq-97E?r%l9dXZi<*ZdRQCMII^&|KS%7iRrAS%RvdfB9!}7W z;}b0+6EcX6^8KKBp6lZ*2VVM78f9S;Wdlki&?=@=*q=xW&0y7 zrE13JvuWj+8&kZ5z|i0$9R`g_qfv5AH!4w55ErG979^XwLW*>SB*{iKs71Dqtr|6P z6ohDNQn8~POt>6O8s(rQA^O}T6#b8(VB+thAixu~mm(lW8!X8p9aP{h{_CQilX!Bm zPTFmeu0grZL)WGdhyxU$b`RYY7YyxG3)3LsIy}~OIMX0$#icD8Y{euf(~d}8G~j5I zG@_BBL02q#JPme6B52!)L&nA z0+eGYsLb%%gnn_9&c(Tl4jHIFOtzGRDVEPhw>a+K?ikETC8gIE`Vb-%O?4936lsDI zo=>nXjktnIwYN%fbgkAB7ps{NmkDunXyq5M;*hLQgi?QTbAYjG9ye#?Q{ud9O@(r- zoeo?dTg6dE*VHJCl`yId(S})-Y3j&|87JaQpBN~~$S8n56h|l|E$5+bvp#*pYT{j0 zM!CD8h3qZR)6|7KwltE>;#i##9k2~6wsN=8E`oN!wst(sRV;Cjvt;5fNA9JLMtQ^| zJBuXlmgbcA7X^UC8=p$tR}@*K4atKWQ)Gst?Gt9sq3{j?PU-+hWt5D`8xs4Ft1|Nj z$zBw$wL=mdnx@9Ma=|G0SqgEufVn~FT9wmsyzak1Yh>0C-kKqOVp`HZfbhadDm#{x z!0{m=KJ#}g&u0}k3`Y4otvp@GwUkfH8mxS_TX`81b|Ei)n_dp?LZ0_{pYjx%70Mr%(OcP;Jxp;<+!pAUCo&(z2% zt{ngoNlmAN$e|S4)NRglOv!OXYu$?(XOII(Vf9Ft!g=6afg%&{4W5cb?s8O>1JxSM z@6B(naODhCTOq0uoI1l2^d;Z`0%FmYzD5`Iq&{)^jcGtzB@&MHImP;m#bT1WzZ?t-GNK`%mwGprm?= literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_terrain_update_draw.bin b/examples/runtime/shaders/wgsl/cs_terrain_update_draw.bin new file mode 100644 index 0000000000000000000000000000000000000000..ee4bdd826d3ed28c846f1c410f0ebbd90412c65d GIT binary patch literal 885 zcmaKqO;6)65QYti1$m{t@CW8-qfnZ3m%}zx6xkZm-z3DlNL6+ zElwiEp3ysx-VTn^*hU!WzHoXYtxu zpF7yX1FsyQgx{d7RnMs(C6kE1aXxKj#L!Ea&H`z*5Ery*luc`AtXk*@tXA{v(W29n zZQ5BJbpQ8Y%r`)Py1QI0P5#i5Y)t$BYIOcHEdmuJem7d+3}|a}CeV<=-|C+=`?h!Y z??_t*+JeD`-Nk-=E#gu; zXh`jHo1s}eDDPstA5$;8#Do%sNDxi|M~P?#8)HM-;7Lk2gBWRm0Qz)6DvR%icuxu+ zUWi&RX;Q@uU9M`^j)@Q#2x$tvvnETVlo5>RB7!!MUcwN=3GHGyrzX<>kfPMFoz;o4 MSDiB7IAcK1I|V}%7XSbN literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_terrain_update_indirect.bin b/examples/runtime/shaders/wgsl/cs_terrain_update_indirect.bin new file mode 100644 index 0000000000000000000000000000000000000000..88899b1747de5c1d5a80a4fa0bcac11f0057a945 GIT binary patch literal 787 zcmbV~T}#6-6o#Yt0TI0M51cDWvFN&~7w&`N5WM$tNXXi>25mCZq;tytoj=Sh?ZoO( zw2+IQob$fVdCBjYx>fvJg_PMa7J$IJHt_N*BT`fvs6(aE#I-nwkLU>@uHD)7oFAOHNZcyxZ2U?~yn5w3=p784`quye literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/cs_update.bin b/examples/runtime/shaders/wgsl/cs_update.bin new file mode 100644 index 0000000000000000000000000000000000000000..037fb6e2c44d29dbeab3abf21af153fed6ef1d80 GIT binary patch literal 1224 zcmZ`(U2obj6m{vehwNoP;XWoSiXh=jYg(aoQrG8dPt#;2!HFzFj2t_KPW*xW>RsCq z(uoFSNY1(Ea?Z7Rc>eK;9IpZSsHx%`Hn<`L-*|ZqRc!YlDj~1PfLs%D{Yd_PAY{eU zvKEcvxi5-h2rDLen=0Nis%u^dx#4Ob+8l9C==^hQBg@JkvvPiw?Y^ zhE2+Af0=1sDg07aB1sI8Lov0~a1yEM>(E?B1^QZ4Ff;iC_L13e)n1Ys$;m%|e zCmaD3yikf$0PC=&5z06pw#McOGmRdQf#}^u)bGgtI2_@yN8K6>U3a5&1kaQUpsO^L zH{kiP6Mq+cr}A7MShr^DoIJUs^(663OBuZwRDE#J1#D`ey4?rqT5=y)xw>j zkHfwBnDlk+^m_EQ5^jq$y%fID!tawJ|JXBrHTtS0|Io94HF~S%cL;1Jf_6iwJJ zOhp;wq73~a7EzKOMSeElk1zGIVzW<^;?&g|XL(v|bM}uiy*(t`2li#mSd}*WnFVPY zoL6PIbytyNuP4kY)|2teczh!P4XZHO%|^sK5%1-fGDufCmNhGZ&_;hhu6*`sl%9`$ zm)G6d@J;TrJV}FnIALiR?AELg?Q_8Pw-L=y7S1qizqZ#vDW=CHeUJ>TS(1Ma)8FGf z6=Bv+&(Vx}+%DD)GlOlS$dP$mROC86?ob~7V=D3xK@Byd#2=Jgq00Lo7yW()0aqPt zljEt#Lv~Y>=V#(MG>D)HQ`}hRm_jUqBxT5)5fBplJ#9?T{oVja_Lk`{)&2+>)^_ zlx@9Bd?SErS47M(Pz8&v*hb{rAj?;h-*Q?VWuGi@KRuhKsv3pGI)e!|`8`kv>C@ov z7&=jy><9SfX3f0>9qX@Q{UdFDO-+ zq8t*R&${}IZE(OpbT@GmRfe=`Pq>VFxO!5lYmN4iOqKWU*^eOA(@oqUY9ngkU6NCe z%_qeE{F>&H;Q7>w*iX#J{!Md3HqU~+BeR8Bt<*)kMhu@61nemY+tNWSF%4ZZr8%_=nRzhh;zHx4#dh=Fyp=u?0Bb$_ zt(w%;@70|SpUa-^l)5hRV0raPENkkh$93%4+;y$_(pyF*E;e)v7HevI zkpxkPfKAgZuZrqK){_RbHMC(=O&UDNs>S#L7#!%zlmWph1wj7Mv`s2Dj>2b^N~abY zhHQz-7DIF_$VT>nX_ITokwaZf_->!8C*@%9vZw3I=kfxh!dE{ofrLwm=F6R))$&Zd hz#YW{sQ&MXYe2TAkg!T9tiVF34zOOvqmhMw{{c^BQB42< literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_albedo_output.bin b/examples/runtime/shaders/wgsl/fs_albedo_output.bin new file mode 100644 index 0000000000000000000000000000000000000000..ca07fb86943543669f9c1c67bc7ca099f707296b GIT binary patch literal 626 zcmaKq&q~BF5XQS+gm@93V2&+R*{T=qS{9LI@8UV6ZBl}5vZP6Hk$n}P$LH`#oOTPg zU2t-mdXM_f5j3 zi(s8gRZ3Nb2_~MI)i6H;k7eVIDIwkauHTerkXPb^ZVanlm}SfHjDMBMOeqvJOe!js z;wFsxy=!j4(*&Nt-wX^X;>;%ED@{)B`>O69IR{^?RF<~;Cf9Y}evJm9*;;iDoc5i# z1@Navi{|PH&Cy$dmNZ;hGLRwDbq4bt#>^dq;no>7mW5N?c#5Ck?>LYkxWw}d-(tqe literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_assao_deferred_combine.bin b/examples/runtime/shaders/wgsl/fs_assao_deferred_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..ceb8bf5bf7a6b57fdd7a15856c4ff8ac3688a77a GIT binary patch literal 1745 zcmb7EU2EGg6g6GhM)ok+4;XqHcAFYW{$5j4#wdFnbbA^_sEHj+W2?v?OFH`BcO}Jc z;##ATwPp#dnZ1oGYg(W>wU}SqP#Au>^qmdtUnxB7W~8WriPuBkl1`5 ze6rrwtP-;1D{Q?|2v|C-85bDxn9rNnmbEDOvJ!Pu%x#h9Q?$rr(eb9}GS*f_4hf28 z$xVpVwO3~i#qbBEi(Z;QV&VlBlsFpT~;j7~kZ7E*z@^+O;^cmIW?R4^F9NiE5 zk*%9nW)RkxH%1q;+@t9;;UpR2jSerZ>y6_6w=h+wH|OQzrA7Unn12)9K{?X|0JVKil>^MIB_=EdnCLk!H8r9a)O5 zm-(7qNWT2a8;$`y6ar*kp^_IBE2=7!cE_M$b0Oqni=qj|5g26c>}Gt{}GGyEdO z)hQg!Kqx@$ysF? zC~+y)j~_u`M1q)Nj{uKj$mp3ZLJ~+v<0J@hZ2C7+R%xO1)S?e^Mq1ABLC$zz&S#9W z>5cMWgBUW6mE~eb)nVd$MKzQC_Nye1NhYwW3?6_O9gCDE9gDR|N5cl*=%*U+iMv*{ z5_e;M?xs391gcrjVMNQUYWkV9&*92|`(0G}l74nJPf|2O_9eB8pB`^bR%YP4YIH#; JGM0tl?=Sh91vLNw literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_assao_gbuffer.bin b/examples/runtime/shaders/wgsl/fs_assao_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..ffb44b539d9d1672791c35a1bbe7507547b3abd3 GIT binary patch literal 878 zcmah|-A;or6t45e)R*X$VF@n4j4|#fBpT!Wyl)D$qzSZ3Db1$YL--~>gb!wcAp>UQ z>d=1QIp6ut>C5Kz`t$4l8`$pxTossP5ly5ACe_L020UE?kZ_U;S!f9_4BK0wyS83!rA^Les_^K^Vm3#Z-to!JV01zRmK`=E;KIoc_g!1eVEDEZh{om zIL9hZTy^bjhxW(lp0jRMGh}u=ITacnU3R(z)%LW#^xf_-w#eV!->yf^oEhZUXGQIP ViBqoAUnRFc3g5bVfYoaP;0HA19tr>e literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bloom_combine.bin b/examples/runtime/shaders/wgsl/fs_bloom_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..86b345c5bc7534a65bad010d240d6b6bbe5c3ef5 GIT binary patch literal 878 zcma)*-%o=u5XXr=Xz+h9_hd?(guyhM`;k4E#rOG63KVR@+NBiSH2&}2I+z2e5fai~ z?yleOr^jOXd?l}E6APa+>#_)G9%5NiaglJE30Y_!6Pczx zNSNXk)x2V1DR?T?itDX2w!3*n8D&bA>vonsH$mc+4$LDi5-u{*AL6c}3K~sIx?1N< z!6Ov=)!05+=y&Q~*hZI%VV&NuLO+?Lfj|4DzCSuNFwXybZqP3K>sYikSsP+(22qx7 z!iA#Q6V=p1nH7r%jlfjEigFQhA($dnh!$cgRZ{2qCeMKn8z5&IDwx7rzL7XbM1<6a z_YOz{vR2mXlI_7!f5+Wy-{H1lc4%Rc9CbKG^s|A3Ar=QlC24K?u9rHki02OO%^M8; z;pk!D2SG3zV$vARbs$Z@A(6`6;3@8Q_j&JuX*{++aX3X-P2vjwqyjhWMtW-lz#56J^zEmM3Z#9 zclUdTPUp`D^O(d0&xY(;mYd4hkZgy-c2E8`gcORG+O$sP)JPdXA*|}TQ@voFR?^s7 zxo`jIt#xgemDY64t;$QsA`Lqq(oE?>>5@Lb;;ZKtW`HxVn@U)CgLb+dy}Q2X*7hYX zuCoGdZo09kh~*(l(2m{XW&{@rWTm{YljY?HcRWOWFY=c~DK*qwX{NLmmi7#L<;K`z z)w|Taeu#NnpP&qT^l_v?8-1fFECFD atdvWjk@J2YoC#nBu1v3z3^2nFAmkscDzY5_ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bokeh_copy_linear_to_gamma.bin b/examples/runtime/shaders/wgsl/fs_bokeh_copy_linear_to_gamma.bin new file mode 100644 index 0000000000000000000000000000000000000000..42ee7360b8572f1f9c3f2a8c68cda8b1a4bb2111 GIT binary patch literal 657 zcmZuv(Qbk;6lK0FVgIo7X(@>#fX?Yu;=^M0?%qj(mNbEul!EB8f8Vu0rbKw?r8)Q9 zbIxUd_T*sC41i@8X-$gsbJuZAep3pkLX%&9^jsOqYTZTqIJ zt`&tg-BnSLZrCgcp&i&ar4dd;6lbiB_KIYmL=zA24Nc|)k_l80E+Q@jRk(?OE0I#A zJuWaf2mROx14x?8%sA}1 z^EdM@mfp%=E#~imzgRNI5RB|>|LuT$-)%1=efQKIXE@v=^!-An3^FLF&~|Sc?{b;I nZly2_x>DMOG?;%4(Fi#NXmYuqpV6u)tVoPDa1nF)<1FhBw!P0> literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bokeh_dof_combine.bin b/examples/runtime/shaders/wgsl/fs_bokeh_dof_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..a102324dcb418e0e28d60dde537d3eb419568162 GIT binary patch literal 1274 zcma)6U5lGQ6qUA6u+X1S=BXISild3qCJlj>rSIGK!RQzU%uE$%5s?%eC+(~l40(|YB=^~QN$lU!6n2C!Cv&(6o1Y^zpET6{AP-r5H*?;NLK z*^Z04VYw&Da*7HnS(i1eqon1m6mrj+<7DZMado@hNzopzQSL?uy`Y_-&6e?k@tubg z*mapiR@qawKU7qrFQ_)FrF%CoyiWT``=*r?(i*cOVX-QsaQ#X;PXFc)?f>uFqr2Jv z5&;%h2VFh7M%!K4lSi5DzGqDqfas3qv$NciqkYCWVVqOxbp#CMLde46LXDfCUoJuw zZBU24o;@4&o~@)+GaXfSiUyQ$c9w%GqJk0-^6?Skf!_6;ndiksU+>sQ^=k=d|}K+`E!2>ZR-kjU?K zKx5})ESVYf+&^0M@q&(T&~t;1{gXwXR6w5wS?ExF2_z6Wh-WX`)}Vf&41s+(aqB4X zXLJ3FlOV-uJX?e~PRgOT^hUwLC`hflWatiGb(EHq8aNKDzr-K-!}x|C2Q~p)i;1r- zjv7}L7UQM+8)meGcHUFoxVC@2O(k;pRtT;Ke$aI0ZRb9ISfdg0JPW$T?~j5$cS&L7 N`DmDw81)5noIgK0guMU& literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bokeh_dof_debug.bin b/examples/runtime/shaders/wgsl/fs_bokeh_dof_debug.bin new file mode 100644 index 0000000000000000000000000000000000000000..2f48aba94858d919f3730643b77d047f4297b3aa GIT binary patch literal 1562 zcma)6+m6#P5RDcPsJ!t3$WJIi-QZi|m@QR>(2DnkCxoIjbxK5=RL*7FMSLMId=eA8 zmozE}w{nuXc;=j$@$KEm=jF@k#DVq5dDg_6L?`R&#bd{TKdh%!oR+InW9O>-yn5A1 z7HU&}!{A^gzn(bGB2Sh@S=D*!mRUAN3#IcmsqiV2%$qcAlF3eWH)J5%1y3gL|8K& zkA7Z;Ol<7Qp86?j;fVh6fEAdWY)p~V6wQ~}Hon!#@tjRz%nb)I?0PTFAAmI zHU{3(veb*c9W@zwCgYW=Q5zHV4lT;s-IVukGOye{(Uv)PU%ovd<3Tyc;C~F@`Psc|d8p1Vg(}UY@qaoZ=Jl@6g4=wP8EVW^b*E`Y>$n x3~m9qKg+^gg1wor!+99G>nR#o9Z9BG~LsOmW2RW&Sv-2A#1tS#~onpBo%F=^^N;VM12AcJpl|nX59o=ht9oO}TN{YU{jI#H7(+PSP z_6Nob#w#a$jjMr3m`l1PO0jXCn-gC5 z{l97BOW42Cc1rfSg3m^%_qE8s!w(x^u>)%*Qj%jb(EOFI)q^nZQ_udn-EwGhC$sb^ z3`lWKkG-OjNvlnwDIBVD%x)y9J`hC$3_fMT$dW@t7|$5zR60Y3y5&O1VvdV+MXs*6 zrV55Egm;U$MlENyY!<;=S?D3=M2d$5!0<#HJlcaZo^wwwdHnI7DMqHjU-bMEv#Vx8;G^J-Jz;2@U0HQQg_&alnftxV{Z%LK&A9^>-<(B9~6IG1~@ettG|#z*kaC#aPzf H`epqARrXN6 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bokeh_dof_second_pass.bin b/examples/runtime/shaders/wgsl/fs_bokeh_dof_second_pass.bin new file mode 100644 index 0000000000000000000000000000000000000000..5f4a575c754932110f5f22e739d849208dcd3534 GIT binary patch literal 3359 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bokeh_forward.bin b/examples/runtime/shaders/wgsl/fs_bokeh_forward.bin new file mode 100644 index 0000000000000000000000000000000000000000..a1e25d25d5e5a989f5f800a6dfdc407cbc290872 GIT binary patch literal 2566 zcma)8&5ol+5Vkg##L-^%3HlU4)`PkmuyJN$jaJcWk1I`biXwzfW1-mKG?>6dd8fQY zo+Ym&(n8@T@y?M1* zz&|{nS8;OMi?pO#@aiiR6{S2UCklS>fas4e7K=1bjzwA3`N1i(Y(-Kb^CqeDM#R@5 z&%h(EJNJG$x2vxEqb#qNsnzmP2_1TM$>TmR(!4l2EP}Ttk)#Lpl$-}j=euTp?tt$)QleaL*i`xk$<9Tw23|KGs=%UwSW?1D%fG+c*!oT?|-tRsKJ!iZC!WiB)- zAv!jP*qZhHSqw>A20j?fL1_mI)TD2wpfD76brT16DPh$SrwRuKUW?+`_uA1boO{KA zQpTaz8S8FLXAL3;(g>jzEk-@nc<8I9| z3W`pbnGVrhD1D@nGiso3#|0QR0ki@I;Fc8W8SB)<8!YY?`rsE?J1QB-E-her=~FUQgjzN3Y0f^|N~vZ^pJ)VGPbt;Qnu zYOcy0+3En)*mayk&%qav=#sYtCBBwGo)gI7jYoIm(M>$ClzGtzS&1hk|D3drCY}ch zZvb202tp+YCyl_d@Z(Mg|JrZOIe|a}4Rj5w;A=R(!keq!*m{Bpxv~~)yvbSqBg=n6 za&h+|mv+67%)<$WTAzVxYaT&t3j1?K)Gi&{!bgUk5LAEzPs+Ko4P!W=xeEUl35lQ- zleJ;4gzMQ+;A5XSz~d|tY7#+e8CJrf9@FP4WxNUX>VGeA|L&y zuEcB-sa>u|9#r3lc2O?O>&*A_P!ybn8H}*ADC&M@Igc<<;W|Q3?U>>6#<+#KpO zn`EPzx>yWmv$-~!scXPsHk)#HJ2G10eFqAo^Hc-yg@KC+51Z6}QRiE)(c4oBxakzL Nv3?KNg~fuv-zUf>_l*Dm literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_bokeh_forward_grid.bin b/examples/runtime/shaders/wgsl/fs_bokeh_forward_grid.bin new file mode 100644 index 0000000000000000000000000000000000000000..ec9e3f0569ae09841ac15d42ca2c4efed19e5f7b GIT binary patch literal 1362 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_deferred_clear_uav.bin b/examples/runtime/shaders/wgsl/fs_deferred_clear_uav.bin new file mode 100644 index 0000000000000000000000000000000000000000..83b16cb4ec442137ba6508eb57496d5c931b9cd6 GIT binary patch literal 337 zcmZ9I%}N6?5P+vD2=U|#NNy%jMAja}F3W;Yz4rk^w)t^jH!0c4+9JNYX|15nX(sa} z-(*(n*QFQImTp)V6vM>Nc_Hix7*8O@B0BE%jZAYVTAx+>?3Rp literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_deferred_combine.bin b/examples/runtime/shaders/wgsl/fs_deferred_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..b4a9311ed2616d5774fc20e5be92e229e59e5ab7 GIT binary patch literal 1098 zcmbVM->;J}7$s_=!T2wjKAB=BfdU(IyUQNTjqlfYQlMZH)-L78wrl*~{b=FJaMu{& z0cg(mo%5ZZa{uu4t$e@RT5!Fv-qZ=LQkF{(KKhjp*6TW{c=^5Yte3;eyH}Q#b6N^n zH$20#C>AJZig&c(9ZOol3#ksgxi}kpj;q_WRI)u@qwKw2#9r&5eac17MTz|wzB;PV zsOfRVP%aWK1XH+6V1!Icl@BG=&`-`XoMdI?5BKX^lJge0g*L$+AEbV&W1{U*T#Q2P;2{i5K{V zGig9>NYQ>yluZ47PDn5nl92zA5<(076Foxy6_Kmo*PE`UdGvckI`gPO`^u6eA=NIa!i{J(e1G5ZB-18k(kA`7t{Y2EbABMj!~Ha literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_deferred_combine_ta.bin b/examples/runtime/shaders/wgsl/fs_deferred_combine_ta.bin new file mode 100644 index 0000000000000000000000000000000000000000..1b1401870c92a6f6faa58e2ac715f54b4d78c810 GIT binary patch literal 1170 zcmbVMO^=%}5JlZet=Rui`Lu#6MPNQcnl#FxTJ3$?Gcv(YOT>=M$0k|zzjv@91)54# z%>f&|dGluGnaAg+d+}krF<`wh-d71JQ<@1E4zTVXjCWO1vf@YW8g~lwV0?dT7#Sl4 z7gf#nmdNu3%BW;5saZ>thO=DA1FO&W+MMI6CM~3Bj#HGmQy(q2vC%GNJY&4DyckX` zk!aBLOb*AAO7t03dbc)j2I5)VH+rfYNg=M*y98$mk&>J@xsSJhVewX18dd+lX7{II zw~`NOp}5Ua^^I;(TI8qXQIg^-sfi0>Te=ShWX{onFrF~ZskGVz3fT)GvmS>P&PJ~$ zLM5$Hi@tQ>zWO|dJEsL2MLXvOave8^LG^)&2cdnNbj8-t{=SmMd>+8)oPdb=*lL}N zJtD(Eb`&obNh?s{0qkM}{HhE)*i|c7MzO#2!Wg^0myap@8+z0{MsmjUnbbFu5=^A{ z|05*?3hO!*CC(MC=fy@Je@_o^fyMx_s|RswDJYBg^QY#EgJ!CB^y+AEG5IZe z*II#-=x3;sAP?np5aA2BBdkY!5kXqWKG|Ddd~(OPsP9DfvM8m7iYuKct%YUXkWFTc z&1YRO>OAgY#zzkG!7Y)2qjmTC`3WNOEO((>OcWp8T2JfXwi_}7+c9& tUkWs>&tDZftNS(j6B~Tt-|+y(G4!xDteO1NReu10gt3IZqIbsUoi8p8aA*Jk literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_deferred_debug_ta.bin b/examples/runtime/shaders/wgsl/fs_deferred_debug_ta.bin new file mode 100644 index 0000000000000000000000000000000000000000..d78e1a78b34aa0eff06028369bf21a3e189b6271 GIT binary patch literal 761 zcmZuvPfvp|6h}Rn;Kld>%sUxKCK=3waYz<5i}&f7bWlhmv`Z-jG=4EZosR+z*$Ri2 zzTbPlKdd*e7vehb4P2+jc^PJ;q4Mg)F!04?7NMf`v&e*;V*#$S8{-EzF(WA#g<_E< zl4J%km8>F)RWvL)ON7jsYV4&stt-lHDn+^bUuCZJM{8c%u-Y;nGoD)RJ)SBeVb5Vh z@?AzHJV4RymgZ5YcYu7OwJIe=BKR`D;hhGLPA|-{c+&))OnE;#*43v{&@Msah@ro<8Fwg<@;=z ziO{)FmWx-;r8a)b#41^a;ApIWpF7T+B@3QyB%9$ZO?@<{f)$Bm1tmFWDR?ls^={lY zZj(tpFRQsgsGSTV}IwBq9;|=^}I>3JPB( zvRig_(Z2g|y79=Q9#tHSQ2~za$j~y3b+p!u(J`7X(vsYXWbq-9NeB)FotZq3BBK^E zF36P0gfA$U2G=o_qk?d)r?&MB80ea1nV45~#X5?ohqI&-qDANyVO+6l zD8iO(tI7LDMGYc-@IHk1f^v&qqc{jt4_&Ddm{d4Y7Em%mCSMHsAZt)6lagmaI(9GW zn9fYMSo;AWD79Byhv`;fwsn|ZI}GXQL(&Vj8r`kk``XZhqHEi=vK>+vBvuV}q4V!T zV%-NcHqRt*(^p4*4?eZ~0Nf2VY)3H$xpm5_joJ(oGo*UH1-8g;*^Q^?!DtI|ZKoSH z)8Qhh#SY-T1fkeLP^xkV!PY!>J_7K@>tv3?4&B7Y03G@{KhSZPDv zwgGI_jH}hy&e6E4KAhHQ*aK~JrceK8MlE zcrTlCAiXo|fg0HUvR{o+doZUrjUvSqqvdh(5XDKGR_>*Wa<2ANEfsMA6US~`%c`oVy+uiTs;VtE3tk0S3l@x1^}qC| zc6I?9$cGA&!NZ$*GjC@0^5)Ac{$@7S;5yQtXCxBEN$;2TOd7PKjO2`NPI_8pc%6}u z1uJpI(`(mbS$f=?Yw#7W`qOo=_!`GFxjyb)Ri9p_B<4xvhNgBPp$BiZ7b)@RTC7a% zu(BK;X`08}Am*uHOU!-WKpst4?h2MulEuu27))&Si+&fEW{V)<*}9GD&y^9InU3ZQ z7JDoXur-E%xtpLmryDm~hcrPSP+GoS^dEGzJAU72A+m&mpD5pm?M?lmJ$uC8n(P9o z%Kw*l*mir0HWf*>6zF>?)u)gzZ;3@L^t+Ex*-6MYa)nbkDpNz*+YJSTn1(@0YrtSP1kB3=nO3azaW>18+>+!Yl6cr zT|oLVRLNq(&Z3A`FKLhuiID^eTkC8M%!1f&dFxgKj${u(AIIaHof=drr<|3FVL8?0{uTS6LYNrV;02l?u96qNp0$tea8<1L2Uy zfmi|CL`OhH&f8(-5Uu$JyNeWKK#f7(We8^qj@$y9zy}8!7x2Y0Pfgc5OrE8C|pq0Gul(NMy~NX-!w!KLKR$4)xrs(#YxuAio}lWwex}cU-+ra z?%IiMQbZyp_U_EQnKy6d=KkZ0=+$Uwz~{_(n$o4%Tr_?dPvn7dmeP!~^+m(T4_>Bp z!GpQDjgmWW#?$1yF*e{9KE>5tF!>aQEWSH$+~!x$6B1!0s3KE;vmTWH2&o_T_2jHV&?AqE#)^SW8LOVUXYN9n3+)f}rs z?4%|dPk1=vVSq^=-ZC#nMNaqLaHzj)51jiHOswKwmXs?-$YZCnc1iUrmH`KOyI(C)%5~av&30CAhM}Dir|CA@{b*y;NTnU-N|P_#Nq$*=k{c!=893q%HZnQV&~G;pyN+iZ&=)?Zx_cG~$3E+CoLgev5+m7AtsBgFL z49K9{?zyDf_jPf#p;9xUcYs82^)SFc2v@!D_R}Co+lOgfvQQM`hsUshV1-Aa+QVg; lsc|jF@M?r=mc`~#6MB4-RWo7+dpNA^g6rl((=dL+_YbKI7j*yt literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_deferred_light_uav.bin b/examples/runtime/shaders/wgsl/fs_deferred_light_uav.bin new file mode 100644 index 0000000000000000000000000000000000000000..cc7d7b7f6eb074d23de21f2991f615b23a04851b GIT binary patch literal 1790 zcma)6U2oGc6wL8W@z99VE2SbG_r%hl1&FYB?|u=X>WbGAI%v5Jjn z8I5>2ljkD6@B^NuhdUz+-omwcbrFs~$1zJT4tLIrS5HzJi)8LcuC=Q|cVAiuDGk^{ z&Rpx!W`~>7&#gVRxBJohzHeCp_rqAEl25RhP8}4mgy+8GIip$3r%;v4wSC&C$EDdg zOhmS*Mm0uy6T6v>Mq?faJPtAG!N1&3(5A~vf4+!Vg5ILktWFzuCVI8JuWTi=gh8G( zE9wPtG4dc z(fd`2A;M1*e?7?Aq=-T!8i5-%Ttr0}cv>hbV`{`V9Aw+9}8>+ysdm zF;XcKKV(XjBpmy_OnK5l3G)NGOt@rPrzynDSu7jV7>MC99*r{|NmwjI$|V=EjlzhY zLD&Z&k^lfoyo`WhaHoj1#c~SR6BXr}Fi(?gYx*N5Q4UhPLl_q=8Ux^s4+~+Px-lKd z+ZMK)tMwIng}kOawb8L^rlnCZQ9E!n5He66K-Gb??@BmjAJ$=RDz$Xer6#KQX3AUm zZIzWb^(O`rwyfctwwfyk9qYx~R=A#n>g{(RJ*VyF@}`fj+F}!Lz~PYLvMNAIY4Q^l z2f$Td|8V(FMcz%l-u-bU)P6Z?YyI2Rhzo%*(+Q{okG2--O-Z1fcGRrq$1Y1nv@H|^ zkekkhkh4^>g=S9=QH5O^wj6{b7Kd^MXvDP= zLaIaunQt|}Vy2D_ikJu^iPDY|QsS2=LloBfBK!ashfht{EypPfEW{G~<5bo5l-66n zy3KY+-`$?uC;e{w#3S8aVd0H&;S94%c^Dchwb1K|p$M?8(BZi*o>v=7K||LK%lZrV EKNwsf0{{R3 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_apply_lighting.bin b/examples/runtime/shaders/wgsl/fs_denoise_apply_lighting.bin new file mode 100644 index 0000000000000000000000000000000000000000..912cc13e6908cb6a90961b89bf39aea5e61b1dd7 GIT binary patch literal 892 zcma)5O>d(x5JlU=R`frt=2V$giVUO)*`#R>Rn>cYM+R(UiP(|(Xws_xy%R&a3ENg{ zBs7fP8^3uo+&?~C=wHi)gXf3yvq~~uYC|#JCoY}yDq&^Hb4{JIK6Q&hE?J>;Rm+TM zAx4mMBU@I>mM4vpLYuX$ci!9`;;JSsjBYlkD0gL(gfy`>`XRMvJe|bRG`NmK z8U@0`a}1;Y_}V^`n9hRPWIPRnNsO>LwmPuv=C5U>^|x5Y-|b&7BM5vdkn)DRBGBSB xSGC)FN>-)LaA&o$i+9w2H-m$>S4$Wm5A(6Me?A^7({NlpHBh@3v;UJE=N;;w8an_0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_copy.bin b/examples/runtime/shaders/wgsl/fs_denoise_copy.bin new file mode 100644 index 0000000000000000000000000000000000000000..b0f18f50fe15e0ee303e1c8952dee7cad0b86df6 GIT binary patch literal 545 zcmZvaKWoD<5XF@&0rxwUn}Q53xK4-CxW+>X-P2vjwqyjhWMtW-lz#56J^zEmM3Z#9 zclUdTPUp`D^O(d0&xY(;mYd4hkZgy-c2E8`gcORG+O$sP)JPdXA*|}TQ@voFR?^s7 zxo`jIt#xgemDY64t;$QsA`Lqq(oE?>>5@Lb;;ZKtW`HxVn@U)CgLb+dy}Q2X*7hYX zuCoGdZo09kh~*(l(2m{XW&{@rWTm{YljY?HcRWOWFY=c~DK*qwX{NLmmi7#L<;K`z z)w|Taeu#NnpP&qT^l_v?8-1fFECFD atdvWjk@J2YoC#nBu1v3z3^2nFAmkscDzY5_ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_deferred_combine.bin b/examples/runtime/shaders/wgsl/fs_denoise_deferred_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..417d0e0ed0f53d87fe1ef4ad6c88c9af6e0de3a7 GIT binary patch literal 1793 zcmZ`)*>2lL6eSX%2$Vea1A=)fhK?-E!r@XYg3%U1-_t$?1wl)sFepU|+#)CNzXj+I zwR*4qpO{+_LL|1HDnE$5PZxI$1-ooucUQPSBobd<;?G|{M7YL4!_PlrDC@(q}af} z?V5huk-r`0-^zOXFZsG4WJ&~_vZl#y*F(MytkaTk*>9GMyQeSb?(+4Rg$)@H;&FIf z3R3H%%~!r5H~Zq0erU4&A6b_%7~kIn%c3HOOjoI{s=T55(i;9=*Uj#+;gSp~sBMjW zj36vl-*PGQ4hEdOC&Oyu^@(%+&+7IHR85M9R3IR7Vg$M%l=77-$lCb%E(#1`^q#bN znQuGj8OqM=CoP%`BHHST?rJ5SU^< zrWacTC=URbLh#7WK@tj~ zSP*f}73V^-AWWcm&cy_N$gEA$$j!_t#lhq;o600%_9RM%Q6PC3un4YVYROT*Ak$B-uW#@XsYmZv3WoVdx;!>1`0yv*9exbF{n)lKV( zUf=Y(>@fYuy49VoEB|al&Ue){mMs1$>dLPBXE)d7hRiG{aCUT`S&QejHGS0NSpL;) N%^Dt__s#q6{Q#o^^TGfC literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_gbuffer.bin b/examples/runtime/shaders/wgsl/fs_denoise_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..3f368ea17c15b1388d31b5f16cdba6672115ef25 GIT binary patch literal 3135 zcma)8U5?u}5O&j-!uwM61bix}#H*5&teM=bW_jyBpCarpUyZkIr z%y8gjcWQFLb?PY**+xf30C}hWnD?wrft?j{Kp5^?qM(|0I7e2{G~l zg!_E!ORB5o$Im;lDI6phEly4PXDqO+j#}9+Z3;8+{%;SXv zoj{1PEx@)atMWOgqtk|f2Lf|a3Sf}33ezTqrm$`L#5Y3;S|^^;90<4rE+?KlOsMr7 zmH2WqS-WQ~eV*J2V2OeoYlsDTO@zw|huoqml_<(_#c(f_Is(&TG`Dz(r{)=Hp5bIS z)@mdbth=5q4gm!~NoTX7oL+iLoQo=pW+SjZNxA|JJmMPK2j43dR9*fd&2;-d{vjLq5 zj6Cp2ZJg3W>*FIq2r&b1h=MDNGK%$-^x&|%y>QArm<|x0`79-3RMYlORc_;_U+$ffxFo45^ z`+`MrR*O+(4Z?!i#(!t;3iz9zZX?fh~O~F%d^hcmhPiurR}owE$+v zOmfxCss(;Bii^8XW&?;=HGpb$&;gF=mJ_ioUUWQyr`P0G9t2ZidRRj;#j&KnmRzTE zgSoI`aP+XCsC9oRmc47-nXn{}pTuJ(7OPF#3T#_CTUWNQ{Kg9cvSFR^%=Opu8$>MT zao~r72a)DFyImn7;|&gx@Sy)OXYhO0zt1X@lB`u}!kj$m+ z3)+%~S#2(D-P&sIDPUYV5sPa;<`aG6npRX6c~bH%NbEeGGy6x8sxw3 zr|df(EsL_ec2ixXqb%a?iKJJ0Cx*_rcv9cOuQpDcanTO)$eJYAK4`ObGn^7co^ znXBY3%h#ovx%pzz74x)E+oV+6G~Q%t0UxS-@UA*dyY=SwuE;kl+p2S|g|5Hx#PzMp z<|?~$gCU-_Ng)i%56S&%nHJ(#vF5w0PU|>n55t_xO_5?)$#=1wj~AhwoERRAs_{(4 z*TxMSUl85m@D}rz{>2{vl(-1JMu_=d%*uq6UGWf@A$17bp=|tS#Eq3wyBDwo5DHFer z1D13Hl2BG;Io3%=oKoNuZGq*}*k36(%q ztt5ZM2k2NUn_7*VN&}E2O+OxK|J8`_5JB5g`e8(#E1L*5icx4A%A2p)WSQqHgQ2qT zAET&rm-Tr2nhS_~kQA}cN=(#395%$n8pN6wf~gj$SO^AUEJEe+iXp{5s%)%0)>T^K z)UeE&M?HJKXJ#caYuR9Q45>yk+ykT`W&jauC5qkYVN7yhShnI=TpLX+>x{F|;@$E< z>^G2BposlePtR$K|JRPuDevo86TwF4DZBjIY2bz7v#M_Y&k6no@v0|H0jqmZW3&62&e-DpJIWo5rb z#ho;48%1dbGw3|8MW7lS)|dO?{%~hNnQj;yA|q?2^Z1sK;fI5Ru*v%o<8Z}X2em#0 zA+ucH9V~t;W?MNmz|GEC;{}e*ZdKzELc^d9!ElEi)#8r%p>O(_P-ZvQ9I+^(Y0)~N z8R{<3wpw&X8s}r3v2cWCR_#)762VFHo9dhn=?k2#@6)W@AEw=Fya3>xEzk6eSFHu} k*0(=YUra>9a{q#$3$*=Qt|1pGx^dPx*%KJY`5S-#0J|X8h5!Hn literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_spatial_5x5.bin b/examples/runtime/shaders/wgsl/fs_denoise_spatial_5x5.bin new file mode 100644 index 0000000000000000000000000000000000000000..e85c158a53f9976cdf95e2177e4f6b67d4cfb07d GIT binary patch literal 3811 zcmbVPU5}ea6s2jaMvhWd`2p2DtzhGIVZduUajaDpMR`yAv|1r-<1Jb*SQs2{R{LN3 zQ+n>)0W%mkX`QSM_w&rTckaN4Paj`ozs{x>K0jK|%WxCr(f#(-%U`UQB(q+W;Vy|k z{}J!w^{ekJ3;*%?X&WxGb(Xuo|PNZs&}P?wp%*lYM!La zB)zr0G46IzE;Pzd(fwu}=i-gn^3~g3r=K+4u;!x7W4IN370Tsw<;&R#cW+YrGZo*O z*Khg#*Tj-m&+Ao$e{0^rbo;lo+afO)h4_;z^!qwn+=<7Y5RL8tPrG;#D2Dn<#k~Z1 zl;_dI^q>`}VJ3D6(aa3~vD)cIHBLMe^V`)v{E$bt@1r7en>b*( zO2vJYq+yb#ac=KI)N+w!`BK|Sh1XGwAqsb)R|7_^`(jw4-a@S70y-()Rn5R8+q%Ux zcl}n&_2E+|L{nFBe8jPBXsE&JNZd7zP(~Y>u?G8xFXCLtfxB|V1u^fdmDnCh8mWQ~ z$f`>kd753*PICY~M5NuI8WGo?Ol}7IgZh%zv5MUs|rvtp!qYLuMrd4KvY z1&S9uwyDYL@jBRx*JwL1OxYIlR%KYzBHMU$eh>K(#F*Ra zQK&Ia)xAE1X`K4*sc6)$o9wf_SmVLOUS+pyu==AX?$JAFa z@;KG-IAC|jKZ$s~jqAxxEl(drRxRJLcc7wfBwTH>=6M|5nL<2laYX*sAn>?+lu~!P z-m;fw7=?(ZtQ>Zzc#`^EUQ}iW>ig29@h{ue1CKh zws}8d9HE$NuQ8_}WR{z!gTZgjY$vB0xIQ@>ydbbXtr|Q+s2MaNXzp;L8r(5I^i6*{ zl|GFXM=T0xS+q}Rg=z|P?G{y$*0Z##m_NZbt4}Ee2@s_HO?^%e^ea4v-^XcDJ$Tz! wcv-;vU6!hsw8jYLqpx}ZznF=ZW%V+l8npWvUO~=dOyjim7C>Mu>u>z~2efSA0RR91 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_temporal.bin b/examples/runtime/shaders/wgsl/fs_denoise_temporal.bin new file mode 100644 index 0000000000000000000000000000000000000000..1f0ec28b60f96dff791376a579ea8bdb20838369 GIT binary patch literal 3179 zcmb7G+iu%N5M|O!3i+WyKA_mAfJ$X`cS%WP;|fMw1bym5(>@u&f|gbS5sDOei=4n8 zmcPr)UU*eoTefUzu4iV?4EN33KQ6K#)>jU^o;j0B)Uo{Vm)w*uo;VKt!s|i{|CT42 zym<25NS_sAlOFdeRuBdMJ zc~%|!R+DQbbZIpu*SB%Hjnlo$0{B)(IWg6}jSj~|=HzEm=ufXFXZ?8J4SH2pxdgXT ze-eCqwe$G;U))*P`0ExvG_N=Cdu(Ek)$4lgK|M6JKk|HZa@K_C5#pf;7U$g`4Wm6g z3q!N-p*WT!9NPcCfD~n3ZA$Ww=IyUABk#$l2_fwO0(ok=@fB@mjRs=Mq_4U^Pf63< zD>E8vQiEGJA8-*){_3cPNUq84es>aY@@W5iR7SL$11xtbIYeYjHd&T$ zjU87or>X>`Q!N+-i1IwTL(Po%6>y&@s?~xwI;c>)HWrC2!P_Ih*wN9a;F^InJ)I2( zbOt^RBv=82=r}&aab3{hI5v^=jCDfwhOQrLe!BZeUJ*X0yD7QEBk@$NE<;Ht)k3A} zwdQhEgB`L?ZYwfu8)ctD_Ilp(V*c@i0irwS()pqXWC=ia2^t zUW?WI)V3|eTChN@SOlFQj2i2^)|#=NIit!RC~!mLcc`jGh(!p-8V$3WV5s3%V|?0Z zp4Av1t%)EXj{}guTvb0Ng<1HwN0snn9muM0b1WV?d95 z(0WGDbE?i!ur`k=XXJCnT2GV*V*|sas?rj_Kcz&?pPe$c7-~TyKnjhri^Ww{Hy+D2 zgR(^`QJ?{)Y>ZZ56l)mD2zfZYg{^O^!Bl?PF zQ@q0bY&!j)9W{m4(fNw57+tQGAr1V{qdp5mZuSPEZg8Jly*9tPubsiAw2p0<)n4{@&+Qf#q2my;2JhK(8VbJhO0IPm~kZEZj-R?D9 sGT^qHrRvJtd0y(;>?8bgO$L@0sTzXww*b}ST*6Z}9biH*jzi$*3jq_8FaQ7m literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_denoise_txaa.bin b/examples/runtime/shaders/wgsl/fs_denoise_txaa.bin new file mode 100644 index 0000000000000000000000000000000000000000..30c433840702c1fc6388a5daff9442af28172f33 GIT binary patch literal 7468 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_downsample.bin b/examples/runtime/shaders/wgsl/fs_downsample.bin new file mode 100644 index 0000000000000000000000000000000000000000..15c06a6d8c06a88360c27bde44b38121f166908a GIT binary patch literal 2061 zcmcIlO^=%}5Tz?smDo$wA5hJyf-Z~rNV3@`MNw6)dQW?{2pD8FF_HNYyH$T<|5C?> z6cgo8X<5U8*l*s9pC^6~+i%y!`)F<8xH7J5a%3&tZ`l)l_sTHv#qqi%6>U9S$8q(+ z`18gvQWodDC@Yp&MV2{`Qo)+IVhtrVXIUW*ta`Lp<~gpcceyC);}~Ub)THIrHf(l` zr;O*8zr~idt9Juu~ngaT0uj6_$-U;7OckA%6D4_#uM^H0J^{c z12KUQAHj3ynYI!RE57ULD>Ipl1a3Rf%yH@#d1e~HqK7>Wu)7|%&|pgi3w5^p9=6nA zzSrY4I$v&Eru99AJku0+rjP#cyB4xkJN2F6jG7DO8U(kMFn)m2zztac&oMf+8~t#| zTxPhlZH@bx0m!&*Y>)23weUiR9U0He@S{-xD+0{ z`bEnB$L~+dPr_5Rq58i}s`f~Ysrj*4kbh8PYJTjNOZ+QkCK-Cbf%58f>028#A@tCK oD#fX?Yu;=^M0?%qj(mNbEul!EB8f8Vu0rbKw?r8)Q9 zbIxUd_T*sC41i@8X-$gsbJuZAep3pkLX%&9^jsOqYTZTqIJ zt`&tg-BnSLZrCgcp&i&ar4dd;6lbiB_KIYmL=zA24Nc|)k_l80E+Q@jRk(?OE0I#A zJuWaf2mROx14x?8%sA}1 z^EdM@mfp%=E#~imzgRNI5RB|>|LuT$-)%1=efQKIXE@v=^!-An3^FLF&~|Sc?{b;I nZly2_x>DMOG?;%4(Fi#NXmYuqpV6u)tVoPDa1nF)<1FhBw!P0> literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_fsr_forward.bin b/examples/runtime/shaders/wgsl/fs_fsr_forward.bin new file mode 100644 index 0000000000000000000000000000000000000000..a1e25d25d5e5a989f5f800a6dfdc407cbc290872 GIT binary patch literal 2566 zcma)8&5ol+5Vkg##L-^%3HlU4)`PkmuyJN$jaJcWk1I`biXwzfW1-mKG?>6dd8fQY zo+Ym&(n8@T@y?M1* zz&|{nS8;OMi?pO#@aiiR6{S2UCklS>fas4e7K=1bjzwA3`N1i(Y(-Kb^CqeDM#R@5 z&%h(EJNJG$x2vxEqb#qNsnzmP2_1TM$>TmR(!4l2EP}Ttk)#Lpl$-}j=euTp?tt$)QleaL*i`xk$<9Tw23|KGs=%UwSW?1D%fG+c*!oT?|-tRsKJ!iZC!WiB)- zAv!jP*qZhHSqw>A20j?fL1_mI)TD2wpfD76brT16DPh$SrwRuKUW?+`_uA1boO{KA zQpTaz8S8FLXAL3;(g>jzEk-@nc<8I9| z3W`pbnGVrhD1D@nGiso3#|0QR0ki@I;Fc8W8SB)<8!YY?`rsE?J1QB-E-her=~FUQgjzN3Y0f^|N~vZ^pJ)VGPbt;Qnu zYOcy0+3En)*mayk&%qav=#sYtCBBwGo)gI7jYoIm(M>$ClzGtzS&1hk|D3drCY}ch zZvb202tp+YCyl_d@Z(Mg|JrZOIe|a}4Rj5w;A=R(!keq!*m{Bpxv~~)yvbSqBg=n6 za&h+|mv+67%)<$WTAzVxYaT&t3j1?K)Gi&{!bgUk5LAEzPs+Ko4P!W=xeEUl35lQ- zleJ;4gzMQ+;A5XSz~d|tY7#+e8CJrf9@FP4WxNUX>VGeA|L&y zuEcB-sa>u|9#r3lc2O?O>&*A_P!ybn8H}*ADC&M@Igc<<;W|Q3?U>>6#<+#KpO zn`EPzx>yWmv$-~!scXPsHk)#HJ2G10eFqAo^Hc-yg@KC+51Z6}QRiE)(c4oBxakzL Nv3?KNg~fuv-zUf>_l*Dm literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_fsr_forward_grid.bin b/examples/runtime/shaders/wgsl/fs_fsr_forward_grid.bin new file mode 100644 index 0000000000000000000000000000000000000000..ec9e3f0569ae09841ac15d42ca2c4efed19e5f7b GIT binary patch literal 1362 zcmZux&CZlC6h#v^7&ksan$++WeR~%PVYVU+@3yu`SkM7-+#Xi7|)DXxqnJS5r5{2pDwST8wT7k-n=l3Q1WAv zUNRZrG>T>@6iOC6lZEi}L`JDP$*i(A<`j3y4@Z^e=P}B>WGW9b^tD;~Ax?uI=*dKA z!~nfVTq#~{3lX^6$YHw~V)<@n{xZ#d9Tk(@Li>YELYW*fg^z-(ZA)l}3WzXFu`x~k z|6EfSJ9IckrT?h-@gvVT0dSWHkWqq8TqeFu5}|P6Cr~4g8<5koDf~>7L7J+N4p+}m z|AP&GSap%H$N)gm11juM!QY7dZkN?{14=X?1|WX8;3$S97+7@q?DC4f-8I~VEofxH=;Jv$sn6`PpK{x&s-N;;>LOwhWSH8_gLV^psb5$+OtWy%9ARdY z2)#ueH3vS3?bR7A^zeXMuzL^e4#7i)3&@Sn=})Z729+!jQv{9Rkg~1NT`pG6l6osf z99<(sD|~NI=n}#-9g|nlb#DMzjR1Js3EFf5sE;(Su0yVCh!Mp6bjD$tL6W6z{0bOD zFF-8{&p}2?bZK6rnyzrNw5JQ9ZheMURdu5wt~HJfX7Cm|#W087Rk}k9Py`d3wi|-N zZlH8Q>DpOEdf)hK5Ut)nt+XID(e!W6ChEi?uz7A)gdCLGWxa&jRr|hnRcnt%V6Br# zvYVIi9*ho$Mw-;dz3-_W!?d3}B_dQYFn7bnC4t^3PG$Ttr#lpiq)=SC*-a2HhG0S zL`Oe1vfB>&VRycn`R1G1{`&dl{q5$;A^YTfwsE2grN4sX&_nhyahw!+E>&$XVM+)e z(oAE+4K`V9B?_fWGzV|tUgB!I%eAuAIm)e#wuyoJKJ-VSlHc&+0t~g`J8-S}VcBHK z%~H%~kq`5kjePgjb=O@&HnkqCcPLYoISc8~aJ?M3M9@%*arTAlw*IPPokg(A#XjC@ zo^QC}Qv#nV5mHDfIm#HN%rwi34tT4SPRBqWnz-bKgy6;9hCIa6>$)g1L%tAJ&;&zA z4|YCdW4!mcpng#Rqw6quf+d8(RCs-c!NZWE#`S}}2j5_Z9;{aIxA!o3Pgwv`tP`%& zwpeRAGgiy~^h$T_d!YrfKC0eP+qaE|!J+>>`#sM^Hwr-tmYFn1$=G^lu`noErD`;& zqz7aE=lZQ_?zBTn_QOO;VpggkO_`uCjr1P^Uq^5rcVgRV|DVB~4~rJ{D8)thZCkYR H6KC=VSD5qj literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_hdr_blur.bin b/examples/runtime/shaders/wgsl/fs_hdr_blur.bin new file mode 100644 index 0000000000000000000000000000000000000000..cec4a578859f057a504ca6e36b40deee113bfe0e GIT binary patch literal 1696 zcmcJQ%Z{5c6o%<6x}Y!N)d<=&@{It^G>X(})cwpJkzgZBi5;0sGp+ihUCy>|&`k|P zFd>;$6IQm*Z=drYqtEvb-`@Rx{`5X04RYIvs9x6JP^qc)&1#Uki}e0(2Pg!A}>AYyAwo z!`GR7>6d34*tKDD+S6fi&I6r^_nDI`G@QgaDt z7GjLx%-r?`?t=6#u9kvY7pFgMa1j^Ox;UR=?*1|`;)WbsCQG+Ng}2_ zM#!)-)Uc~3%LpJ=)*`N#jc{UR9$wsL8xByn!Ai76lOQG{b9P$JWCwMp^ X!wEI-1pt~EJj)T=n&vjIkK_CUa1_sN$kiXu_MQJog&0vXZB&T zu@e-DxRqni&dz)@JD+FnA3j}VFGoWSt{2)_InLsE9TivSng;)HotNVxOQU7Dy6S1Y z9+&mk<07g*WQ#1v+A}74_DVbB!q4RrYtNmr%zV0wUNQJz#`kyO#R zOp`dvmr1cPZu@P$bvc>mS-INP>fdppj!OgGO_Fq$q;sA4@K%L6+QNDWm#amTqqk@+ zo^Jblx6;neFHv2Tc?3HlMD{eMvtew}(E$r2P)$Ji$GWy!`~Ky4UF7AoKwm||-Y>H0 z5A?H-P;*>>Hq7&IGpwSi&Cw1Jam&$w>&Wv1rR{S6*ZzbMfodqvW`ru(ruv06K&po; zeu~iuP3CbuzR$z?$FK;o>H{?66fMIf9VclT<$A@cW}0RBOzKe%)!?Blq5@T8g5EWG z7kSj1s*>p$h(q4yc>ufqnuR(-NLZp^X}W;J*TF9_YxEjL^@{4^^$}jF}JH?4su)StkRulb35$ zna!zw!^wBE-WZAx8+?Gi1>z?)BFj7w(KaE@$>EU>JXgT8(KSQqv{5>TP%066Cx=Np zFns~j6)?RvOz#Mo!O3A-9hd|QoW8&rv~dPU;3Nka^&eGfcY!jpF`8k4lmOp$>k}jg z3RF3Ia(V_iU96Hqgi5R(E|G&|Qn8+%PHq>gN{It0WbXtRfv+ zf#e9Rrze)*!Ad!?Siwqakq);&atJJZccDu(7j%cfv8*6)U9}ld#yj>Ym(AC#w_jq) z=%TJ|lr_cyb?r%6lcmcl7n`h0iH;O_wr6?1=j^m2$|_XXmtn0#+qZbD)uF>d*bx5> zn+2p01Qu(f%^eyc#0c-iKyP;SY_2EoYGb0jRGDoD_9`9;@3Fiez*5T`<>ura+%kWA z_A;wG&R9XOvPV6fteLtPd6;w8thq_o+{oW2n1mPv_C;s6>-Vu`t&(V+X8Sx@+K@9vE2)w)%9B!tMViE!+9vs(b3WKgmO0C<&RcpXw^4t9i`m z0#?}Ps#xaebItv3lP$lY9}|Syc0f|3RCG5l<-Z2}sc8Kn$|DTHe=9*`oT6=%q+yb#QrTs7Aj>RMt0sR~Dy9FG`yZjHyfcx={-#|Ouw2A)^r@h%?k$MXlrV+LMO zhl!t(?P z1bk@m%qN_1O0kQX=R=U|xq*IweM)?eG2=l%gzyN52hJ3}2-HERXv_kxGj;`U^a{b~ z6$l=`1RcM`_=io#KW$PS_X)^}v_r5!aK=D5Ui{GMR9~B=Og8o=Thq$oh}z9`Oxwl1 zY12kXpf|NG0{OwYSIWh;OyR$Zpcq8i_#;gM$`zDwF9^6`Ucf!-gL699E;9ymxRq(% vx$H5SHZ@_kVXjw5kD^;-nXS;AnB zGwcdcE(-EZa(`Usi=X6okC3(;I4Bk(zMoZmF=_@42o1{lp!etW@>DKAQ&V<>Z)h(t(oNSH?FnTW37UNp*Q>7gGEF z1SY8xh$@4qrVz$YJ4EeEG&V_`O(>^9htyh%8YxtDuWjVBacgo>EL{g~$?B(+aw1#r}g<=1IjGt?JfE zdBrrZFn;Wx75hJL=mp>>2mKVQ6Y?$i+ezejC!0%rXZ`-5 zo*FM3@^_QLu$ZdLlq-8|0@M$}(4Vj%^aB`U|2b_s^#mL24bO_Uqjs;c)yF$ao;4Sb kM?34wIngrPdqC54pKi{Z-3yLajZACrYZ$ypojGTJ0W6;#$N&HU literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_hdr_mesh.bin b/examples/runtime/shaders/wgsl/fs_hdr_mesh.bin new file mode 100644 index 0000000000000000000000000000000000000000..955445542a68f90d6242c121176bd6c461ae6c8e GIT binary patch literal 2109 zcmb_d-Hww$6h>oWtT$$#V6F@(#hHPD!Cjk;nvM6X*Mzo1Lu{b|%F-HNz<2QxO+05{ zDeV#yjk8-?nD2b&XAa-Fx&8Fq|9SDlfc4mTwu`DfQ=52u@yIaXAJ(%ns#Nn~H&+x8 zu%5g$emymeWg4%tysXlNnJ0-&ma0hWxJqjk?Xonw!bbXqn7;K@Uv>FU7^4blEGim0y4Tv zTs{MevMP3qihOC~e!tEaU&*%#A$>W(u2u_AAsnaBmn`&~X8r({}Mt zQtoo@${95xX;arl9S7{n#PPwn)*T$uO$xa%`BcLUj~^ zFD@MB^1y==k&IFyMd$_sBf~=dbwW0zqwC+YGwulAcLN&w9u<^_JoM%NqxT&yT_~p~ zIpu;u$))GYe-0jV?i8)nMzhz-PV(#r>S>cgC2O_7*O=R6iZ33#YEH91AYC1aLGv<{ z3_t|1gDqc2zD*dHy4R15%uqOxh+^0F!T=9YDEjNkA)}ZqRJu0T`HGwPn&Jn*+-bBC zclKHU;K2a`9C$-bQO%YkdME)5^+8jRH>Y8Enz6gKTxaqNFX_F+BZKII5YAqk3g>{G zf({|Yt^&H_D0M^5gfFoXeJOk%XaU4Ak$}2yR94-~xp@u41*T-4=}|W>>qm?pDGx>d u2+)HrdMNqR899P*sP?((X)rQbFiDsu_|=Pkp2dvETJ^LE|3l5Mv=&vI8LNW#v8)tZY97Zr(8 zeCu-wPZA#TW?M4}x3IIjxqA^w$G~rFP@QB5#KY)aR^W*iWlWb?Vy9$RDEMx5f2!N! zM;2uf{B!|~9f)gkH65k~;k&;s(?*tdaWr5FJp#v7kq^(b*c!Xo64q5YWcM3@?d5ukeG{%3&AAmbt{Utm78N8HF`WFv}Ou=6nzKeEO7!f2ulyHbzuu2k&a+< z04$0k>S&C$m^@j2bk6^$2|fsHa$fTTBghz7qb7glqlzdPd@U;2`=B{}2o19r4Ew{W zfEWc7jMt=YD@vMtFn6C(TYv_8PZy#AqE2*A5yplsMXLBDoM;macz=KoT2X9_!q`-o zu@75lWdGfn{>0KJT7RDXzbNvQetNt vCe&jq$qL5{|C3gjVgGMSua_{&d>jkY?aNbPJdg|rT#V*wjx*~xE4=;y=*%+0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_hdr_tonemap.bin b/examples/runtime/shaders/wgsl/fs_hdr_tonemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..c4862ebc6edc0f9346dbffe0436c426e3a633e34 GIT binary patch literal 3593 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 k#YD`VId55B1n-VE_OC literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_ibl_mesh.bin b/examples/runtime/shaders/wgsl/fs_ibl_mesh.bin new file mode 100644 index 0000000000000000000000000000000000000000..b08d5a93ecb98826d0b003c1abcaec7fe0127b9e GIT binary patch literal 3695 zcmb7HO^@S55RHHX3@Z*CkhnD$hgjSX(hhbnKY#w)`+vR~(C6d9r<-({mDz0d<*UJf{?q5P zRl3f%KW^@FZ}1TYKKXX=su}yGEInFhhQIz|Ft{(WhxuZ)F2>GcG8u{cyez70T~v9x znHQ5qIV;w?;pJHux7yr2l#9*s7$%S9LOOL`5cS^W-!2lew5>#XK$M^SpGbbWZurrUs;II#pT~`J+8HWEZCS zT2!eN*TSqS_PJBJ2gm-DUh&S|?)Ib=Aq-X#)<#H!XaV}zSWU;W;CBFEW=#i2)8vmY zUW4P%!i0nwPf2FZ{bEfJJtBlZ90||$Nbi!qEp*g}mZ#8hA38XNPCDq|MJCcCxD~y) z8$5|rSOA{@yEeA66Mal?F^wmYVx;X1W4xFM$3alU^^x5G3x`Gnv>Gd~#jMymBrKyD ztkQ}3NH0jVr&X+@2?c`S9(^}Rx|cj!f16A_iF~@sS!K-*wzd-EyEy-_rAB-b+5uZD zB+v^rz5IA21NUXaIV0cJ&6okjLl0#@B@N*EHDvgnTB~3_}7O=FzYZ1c|K|NQhfTCtF$~#B%Pd)2wu#XH+FONt!O*dL*w-zp7>GNffI zMnPC@>13~cpbsYj!VtJyj!)q3>fgPoROC;$xssOvWr zmffvDEVi815KBECy66rL6<wuv^g7s6r95nLNx zcvNS+ki~&bO)1lUUn%>B156&kFAY5$>I>ID9oUPA8=Qwt6d+A$pdt2~^Qkp6A_vKWkq;XPsazqUlR_U$ai=3eS!eYuXPsec8jhp3`iq zW$i;}s5DSv-6WcJ@7KJ_r%uy@)_vUQSyu{S`Z%fANWzk+*}Xhliqxq-XW6!|OfmW&6uF+Zl@2w2KRndv zn1k=D9?+vH#pYRT*Q2A@n?lz(N@s)Tn*hl;N#Z2-0;N#Pt@z+6p%74<&PC`-ZX9AS zQDGo;7|A%I;%~tZC6@76$6cPar8z6U<3r~JNV-vf+TeeiC!!yiJ|+%>I8FjTQ30C= zpH6E{(zHsqUzcwB<RRBibvzU1b9LOuB`pRW&1xN}Qy2lS@3nDgsWe>2`<_(hkN-45_cGukUS$c_yDVSB%~~JbfnIk2i{CUb!qHa>LIh1gW zNENQmmk++yt2;ZLZXlvZ+wIN)t&XBCs9@^y!XR=(?ni>T91tOVAOPTjT2~!#;nNnQ z_;jmpJG^=HP8r-2x!6dRwhlmm_6eu0cBu0e!b^=P7@&>z?>WUWLkQX;?n!n731=W$ zrmcEh&1(v`euLz@zxiJfbf8ebO$3?##G#sqmOROGn zP|TRKFJD)1ZYr+Z2*N@Fv^8dwyR=0pO%gzG_}*1a2~{hBj@BO}v@bW}UWPcf4R{k; zq+5^sk1&92pJfpA?X+XBMBZ+JhfXJ4r7;|Z9-!L^h{)tyxKH5{Svb7WPh-xMcKtk)BAq|-%ITlx67Q&}q| S{B|ggz+S=;Y*~LgY#zzkG!7Y)2qjmTC`3WNOEO((>OcWp8T2JfXwi_}7+c9& tUkWs>&tDZftNS(j6B~Tt-|+y(G4!xDteO1NReu10gt3IZqIbsUoi8p8aA*Jk literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_mesh.bin b/examples/runtime/shaders/wgsl/fs_mesh.bin new file mode 100644 index 0000000000000000000000000000000000000000..994f42bb23cf6eaa26db96241989cb615ff7d6e6 GIT binary patch literal 1917 zcmb_d&5qMB5bj<;3Kzr^_?SR9vYq&kU8)s=6?fnqW!t2RXp<^ULtDgSaO6q3Fk`1_ z+O3d4I8qXOX1@8eKi_}+@a)IW_rFFku0~HbNmDGd7gspJ@#*PkG%M11S*@F5>Q{L_ zCbO(A+O#R!EZLMrUe(K@*#$S=x!!v7Ft4l4>Qu{HH}z)Pkk8Ka?V_4~A>TYgoNMx$ zwAnPi%_BY;d*40p&SLm<6Og-yqMQ}w+-ERp)B3h^KOrrc4FPXF59KQxXf`1a^L(4! z*XjIS+N5;o12prJEYqS)in7dVzfGpqqN-1n#-vS3$TM9y)5wJftE*~#zSI`k*Wp@V zvs+{hs5A10IG|#mfh+e9wIjqS@G}Jj8;Bzi&#DG28N`%LT_8RUDfGp?uNh2&flb`m z_ zW4s3Ag|RM5c-vlvTR@J`9Gtg_4g#3dFuD{2s?bmxJG7?CP{n8*8*Z(Ae_E}3+}%ao zxJz3YNn;tuN{QGS18!H4NXJYIWf)}=+KM$f0p4E(zF1Ee@Wpx#+rlW;AG{2?j-XAk=9CKtt<-U(|2cTf`9MSAcDHwP zandAY64`8&cO>s~6)rSS-kp6AYdM|~N3;Re-4TGvF z&Ln1p*k^1Cr|ZDj$RRx3T3jCPy6+xBb4L>SJO>(HW@U5WUH=ZQ0Ju)7(vtik@gYf% z$x+90|3x-F>TtXt9&__iA+idOnfiJ%@Pt=RpP41`3)cju=vW;8;5xuh&)Rj?Z0ho? NU^j5BjYiMm`3(_S_&ops literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_oit.bin b/examples/runtime/shaders/wgsl/fs_oit.bin new file mode 100644 index 0000000000000000000000000000000000000000..1b10e2a3a97a9ddc745169788d821e38768b8ed1 GIT binary patch literal 410 zcmZ8d%}T^D5bmCYcoCmqjxDUR{+#S?DI$w^^<2_4DPgyhk|seB@yUEQr?E=yCzxXb#hW-zlhUQC5L$5u&QY4ikwt4)sgr)JRy-Mx#hq~+ z)Fwqt4~=JjGoBg$AHRNi_3PWuxr27+ylk>UZB+f{&YX<>e&IN4kyldfwJ1Er`2^Nw zE!td*w#*tSxT?28pZvKy=Jw61s#UWaQtn>YO`+ktP5rb{#SeIL0s6b)1GHtq9(Y6- z6ZhG5mt7GrXna_%gj@?*c_AL!yng8KUqFj#*A?fkYvQ}E({cf;iXXGbI!!w?h2(H?Md-p>AvvDT z@D`&KmkDM*{ASnnZEhFL7&&&wh#W6;d_yx!$K=%0rwcv3p<_!=$+@S`#$h{8I@i=V zM%(P#Pq1~Ig5qDX$+tVt3rIj`)*?D%EJ@gurX23UgpBpkge6guCNYP1uu})mvzx^x z?r{USV{-7ZtVv=vB~4SxLOKhBnEMlmNx*#{KMeA>XfkCfjZ+%TP_q%wLh5XP+OE{5d)6f?6;-dKk>c$V2C@aX(5TfhJ&=_ZIY(`7OR3#nV&0{I mQT{)q_I?557RTD`bX1qRspU264c~7ve9sWGo?XXzjlVy>!%5Jl~c{6pna1rnt!iAb77ky=H)r+4IlL6*Rd%u>>-|K2f+LI{oO1GYyq z&u`uvcKi1Uf7q-PSa-@K^K(+Y@`MY^g1Zbp_M^6?+_zByhmhi!@hqo-#-qqUArZ91 zIW37_FdA`@()^?^)nQ&%9Ad$X<7Jk*t%I6X=xBSOETk;f>^a;@EKrZy9;e5I2=s!o z=Co8tYn|)T4^riYAW#a8%9HPetH^aWe?ZuaD-8R;&%4*9x1NV4SI1gEvO$M9s{Eb6 z@f*&u1$0XiOgo|xLn)@rr;HJymD00-a}lLr!Vv@MRM!rK@>+m*L?Ike<11lEGcBWW+n4o^VDo#a3W*W{WAZXQ{b`- zxi}=G?R+!y&3tqF{p+j0caK{K?aF!CXN9b#dUIuO*1o-PoFmUGAv?_rA{q1HSSoIE z%}ts0f-|WauJ66AyTo<rZSp2@vP#lq&EOrh@a3aj%n^Gq)vy=OEo!V*2xY}_D*!Z)SR?xY_%C$MYvjE?Vj eu%x&YewctNb+5!FmduCd&xaTdQ*fNu`27Q)PzoUc literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_oit_wb_separate_blit.bin b/examples/runtime/shaders/wgsl/fs_oit_wb_separate_blit.bin new file mode 100644 index 0000000000000000000000000000000000000000..fbe9bd43d1d7420b8d5090582da2d46e05eb9fbb GIT binary patch literal 933 zcma)5$!>!%5Jl~c{6pna1rnt!iAb77ky=H)r+4IlL6*Rd%u>>-|K2f+N`O}N0gp#- z-psri4#(FSzuRpTI5)~H^K()?^Mnh_g12&3{X@1ey>JXO|r&#dfe2r4~wNtYS9qmt)g_Omby@XeZ1?rV{#OXO90zILu zvDWHjtTPUMBUN4q0-?~Tw0tMrM6R>@g~DEqIPCwXcgLZBrH3Xr=UP9qL#H^Z{DZ*p z3(m0x<(4FvcZEg_rI<3GGDd_}%9#b6i?GExHBLvLDnbd#QHi!)w@v9cHD+5`k1!vV9Z|=F?(pxyNP7CQbt*DpVf!tbY zR+kU-C^d2GUO@v}@-`p6#t#(S{wN4&N9L8+rMW)fGT$NY3pObN*;B%DwbfbMCp>_y n=B!@Lo+!;+I=vruXn^cyR*zzOWOc2Az$&uA&}A|5UsIHCG`}dd literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_particle.bin b/examples/runtime/shaders/wgsl/fs_particle.bin new file mode 100644 index 0000000000000000000000000000000000000000..125b8c144f0e413c79838f7490cb5558349a3634 GIT binary patch literal 832 zcmZuvO^?$s5H)Z?;f4g~IXb8t*-p|Vv_uu46?eo5p~!8MVAwd7>txei@x$QPG5KP* z6{E;jJa67S`_1*|PcMGF{_~q)JR#4U>>!P-jxV1Qf*;1KXN2sPEOmXfYDep$Sin9v zs+Cr?dDduE)TUDQz*}VHu*JeM${6UX9=)K7;v>AtYxXvi=ZiP1)GXgWT zQXNJ5v5qp2voUy(FwU2pCw`1i%Di|w=ZRp6h?6j6V?s<7B8i#sh4AAjD%?dc`hhhZ zL1D6F!7>PEIcQ{n;_@3xGuZ_+Iq7kU%C3`b$E8DZ)qhv zO1Z}hxWb$2(tdyROkQ_#Q5?f`ukoDW)^%}A;L-qmz}abJ5?)lp0FYrbHyfNH>W6f&Km)Av1-U%s3g)p@dl(mqp zkX@MJ$5FlhH7~$n+f*(m#OHS-CM%%s_`cd`+TBw_)2RnmatS>ZvJz4<9Y!O{mKktW z2Dji6kCh|dOaxOW&=5k~&KSIS5M1E-0X=z(O#lD@ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_picking_shaded.bin b/examples/runtime/shaders/wgsl/fs_picking_shaded.bin new file mode 100644 index 0000000000000000000000000000000000000000..b8dcabc9f9acd83e2b014738e14e6618f3d118e9 GIT binary patch literal 1088 zcmaJ>!H(K65arNQ`V(_>T0piFCr;T#duUgC?*~NL;Gjt0pb)%3)z9d$U)oE@c4z{N zYNW*Yy_tD4p2_p~myf@GfBQ3Wi+q?&R&}w~&AzKk(p1$HR;sN{(bY!f2VGZ9yRExZ zxCm}}`@`$HZ4SF@R$z+uVdp%kCA_YyWB%M0>#s#uQ1}8ymGMIr@#P{2Dh=DB)_JY9 zYKh6qX4AA+q$!wOqkv-LO(SP&Pfe}f#%Ce?2mm&!0|SrXZR)c^uYQmEdpKt|1nX)9 zbA(q-M+}BhrH@GHoML7CbH?ybII@U(3-Uic%zzm91cakCzD>@NN2|M2Q( zejc8FPPR$v^q%39XW#dp)5BkrbQf%$-q-S!S>J^F{DTAPm^J#g*IPxwCQhad+-}n3u&;CVZ|LE`ISkd!Z4|Gfcr$S4@a-6+ zs&e;Tu-k9LRJ~Fef4b~(hwvebo}J&)z#YQ>nAk03tI)J<#Vl@w&;H~ zuQ3y4?3Dk{weGbfKV>}2)59`XzjMug+9u17>Y=Yxg&RoOFitRXm#{)EHkjG#bv7v;+j)JRxH1&z55 z4%_?{#fA^q%_*t0?cJ*%lrwf5*Ws5p^AV@oo^2h{Eac>(T-CxG1rBP>9HisASKT8{p7I8;9( zSUDZw=nVO0L#_`ybDM_2$HKQq6>hVzOidBP9AmI^b5{ry919G{g<7CNe@+!){Q@6{ zBZfSXYaJYjFifT-0o`wS?>gwd>)7s#dPLd(&sr4~qscV@Cm4#Y=iU>~Tkzu?Jd~wZ zG{hi?X%nc-33Q|(WXf_@)=TMG(>}=|)Bv&T4uLrcM0Ow~fOU1E4)#T-ek?M$XQczm zpCo$=FBk>qPS=K$ZKLFH+g3`N?xM*=q0!*Gi@H)F;%opX=bc3CJ0Q+FiJW$KS|>`2 zYY&Ev(Gj%NgH=t8R}5qJ5xx`k5^OB27C@$w4RelcQ-#CNb)VwHWPcf=^&AF3J&1Br z=>>!V)?o&;;vh(HZgnF==s!5ixz&xt3z2iH8;M6^ZN%UMd_6X@2u|UQfVY+gc!t9P z-EM{j&#?93t>x4*iSsBvgmsbDgkx_YIEj2x=eOfF9VCgm0h-R3;i|yK__z26H@j9P z7*R&@QR_F96|&^S?eL1Btep-LpGT%ks(_{k2zH|uFd;`g0Zc=$UCQcn^-28YLb+Cg zg&_UxRo)6gdfCdmec&2A`s*;}lNAo+TFx5y>wtjRlVjOvYT-t23J+ftd}FA8jaN&P z@W?1IQ#in&*Wn${_b=;aGr{8=X9d`j(PAHf2vGEU7oE_Q#v{^9;J0<`8#?z5G<}ug z7DS7B@jL#;ABhN|k%ilEnS&A3UL8+j>NZKX*Ff};=&>a}2@IYl;11tK(F3lceW5tx z4GPb$vY-$Jp{IwoMI2#qZ1^&Y}F&FEnrnBaJQlhG2*4HKUtN^ zi!JUr53X7a2niFfHKpgZC`248>j4^Z;Cj-PqLJqyXgt?6$~A{e&vMe{pkX?OvZE>) z38IQ86i`ovF29jev`#PsBxZl4`GBvU7iyItK0SiFhxc60c8Oz;MjWy@kg8p98nA>* z+T0-*3NZK*`<9rTvElo_>n^mj(DTJ);>-c37-wT^qq_5Eh~o3{iS*9LXL-LbF@Sp` zu4=n5&WrtSa0BZm{LLVVXq@la_VlESEHk xai}h?EnZs6i(QybvFK-P?QHpOR?Y%*9J}RmMeVYO@&mL3L!rfD1BU0DX};NHTYo>D7pr31f*E`J zX_-CEi(-4PE4Z5FNKJp0mC%5BZ@v9Qx#A5>o(ee@Hhm{gO;u=BJvUVXs=yHD{nWS& z{^n>$IQD``0PD%%IfC`8hKdxPn0#uAV!{!Vr{~Y!Ys3nb*?<)x7ClUm#62>Oc{p;a zMo!F;CE~y^NypGB4o#2I$h(3+Vq+RCfUc`-vn)SAe`(gBhd036*((2>)s;X6fMC2@ zPfx9hhcv?SuqlT!{QIqPAbP28B%o1_WKd;Oh6@nn^yjK59yDa#J~Bb81z_lI7(r0K zx)^*^}?j z?jE5hOOKrJPQa==#)8M&`LJAy1GE8$pDW&#$s`1g-L(^PHDBoj75uP&51%*6Z=NrH47pNgo ze>^}oOgWOT&W{{eA(k8y=X)^QJyFpn6ETA8e2$_h8g$!nG5F9lKC@@#B zBtc$HImw@B{o-Y-$E>RZwr}|LQcDKPDfDrpdR}bGe6!1{4hOK%i(<10dbiDHAL}kd zJ%q-B?a43;`cnXBQPn|(mnw9lbXi_Ikj%v={_4Gf;wDpJM;D=-AG1|9FMV2Ua1Vq^ za28J?T)?OS1p!)*5O*WBi&dd1WKdG?vuIkiLQ<^|h5WF}%wW%;+2E6y+k}%7LX)<^5}P$N2rOVy$~1}s!J;6PLCm9$ zp^ZqTfi3M>z*pf!$^?)BFbbt)v6P(2laSR8+{6b9xz}5cIHpZj5;`B)71lJe+I!AN zrUmYdavIp&s?KIkchDnbf%{cgu){K-C>)vKNkJ`)RBQ`l`bg*_r4Kr7RQeR==4Ejn zPA&CL+PjM65`13Fd138(7J)8jrZ5G4xEkp03)LjtGQH|`*HO}oBRcIxKF)gK7HYrI zw8jqF3%62_Av<}mkBPwlD+m7tL;efe;stH-g47^L4T97l>I0_Mm8n=u09MeaVAvn} zFBU*#okcAH)SNjs^g+;%Om%k);Iv5{BD*zPGp1i(2ZuXakI1cA0(S3KeaLRj5;8oy zz3gCrEr#_bFGXQ*K13+=x!O5lJ8-2}C4;s5<3pADeQuIBy00)9BIc6DJ>Z zBKH+s7n4u6ZaNeQwN6b3rT%W zGZlS=^yfmmg<6y60;AnZZPET*qfe144R9tqPmyY4`5B5zQL0AjyZ-J8=X#Y%kA+GS zCEU3wB|2TGItry90~RwREcvj?*UK(_i= zdtIu|keD?OCRNso%QWC2=V6*83&?FjRZ0mh#v~6UPbDOnQndD=_~iSz$G}XKL1QnX zFZ-15YQ>mT5gO4jlLQH+m_;cQJV<3K^xVY=2SiwagILCRig@IhxLOcO{iSJ>`m3%y zsw7}4%{t6WLWz0pQ8kp9Kddi4upyMZg~Vl*(`;RSREZI(xByM7R&@ogKMvMZ=%C5mxH^8A=qlad9}Al+85Ur8!11u0A_5CA zBp?o!S??NP1$4ri*1H8%4mZINm-L$xa357pAD`EE#Y$bk+`=mq@H$4Z!8afdk&Rm% ze3#<(ZkMkB!e7994%2&lfdM)}5>UoOHpDP9#f-yD41`;@E7cCYf~HwS-ce_TO)Ny^DBqnWXbPKJTZ~>5*{}WpOdd<01+dNjwF5oZk+f9yZ&} z7iX7Qy0}?yb@-es`{rU`JU@$*i#WOLTO<4`CYe#r=JjNDa~);I6Jst{PY<_tv>W~2 zM9X}UMd+8yRcK$FOdb1lM}KQv4Zt?LFRruRtt+fevzPg@W9|#Qbt)XyflyR6?~uVLYCySKJ}HwUd2@%pU~+Xb#3 zJJFSPY82?!oCu}}F`eA-x{OYZv&-o+e3?xyUrh3eS;s-kX@cp*3BpklW&I+|qvd&; zW*6Gd=J^lUHrG*Z6tL4Xqu)m}T3O<^ez{K7>_^RodxU<~z=PrP_Re^0*h6zVFn%B_ zJB-plwx|lR!!QKP2G(q{?3<`Zq)BrSv@qCkG}mnT{y zUU5Dq&SIHh@h(F@k&J??+%wo#xY;q4hY&gGMXd!7@-Kg;ky-;K&g0ax*uyM zD?*=!k*@)nlS~ArFq!F?^09q02u#N|$7|Ldl~gPFu9FRjY!L>-TPg19Tq#@?;kd3Q z<~<_TxG}ut(Zdlg9vkA>)r2gQ8;@%>q${%9+Ikr-Yb{6(1qQ4c#v*sqj7?a^V8f_i zP-hcu%NBJAU(4MfY?;E?f^QhWas*X-c$+<3?cwnxf#D2qYdpn)mRGAP9ccN)lf2`V z+E>0@!_rsW(I&31xTBIOJj7M(3v1IEmU_bycYrCJxuRu@7c6#zz}gmIks+zk{9T-% zUvX-FkDmro{dBUp&Yy5JpbA~3;uxEJK>g?wPZ1<0$!#Cbv26o^sir zfIbxji3y~h@iHk#H;l6^n!GK4eo#=QBbuo2Fl&k#_#VLWC~Y<~vD6N{(pLl_R`L$D zwVh^LS>GW{$B|3208NsYHkVi~60qo7)K>!|bx?b6cxN2*GPQJ>x`8_mT+ec>X%m(8 z(_n}|A~M=eR95#EqPnbYUe_%|$4Ye6fv7`@>TeKj;puQbfjycAbs#5l8_HILI;1`r z)UmqoY-ogCPT_5*;~f#n7M=(f%o9PN&GC*Z$8o#x6tz@ZW{<=1ZA3*YTZkg|Fj4=1 zh^lg&pbJq^%R12=YseLmY+*Q7h6q<}rgT*^uGxX1D>_+cNGLm9?rL(`kfv)3Pn7LE zRWq*Bg{SDG$+N}dZW&UVOUT83fjo|~ou^91^}FyCnN&QL6y#|NLfKAJ1>E=NOJyBP68;2!`oz*im?<_f*Vuy)Y;I~gt z+)voRirXB;fjh2n$NXfvFJSEaWMji&89PC{1jZFT67LOI!!5RSY+uK#fW7?! zYXHR-O@K!g@My2V*l|gw=7@-$g;fIMYM-XY7D|9Q!~xi?fZhE9YtX{ph)wMV6>zX$ zU=2pt>@curmcY2$r>U`PVN;_NV5b6h_6w}rRqRRxxC&gJzh7XDT-av_a22_{{YEZq z7}(S(8Q8BP7q0f{W9$F~SRc^@9?eAvsl1}OZM|#_QHXXPa zy|%FkJVGnKwxCoP< z(j-DSn^=DHX5KgJ=ckMBuUGEinK|b*HBy77Tm*s|+Vfp`c(= zQK=NyuB8gIv%C{6+L7mNl$;x|G=zJweitjkfRiEc@fh^i%HMfd*xCB~!T-AlfgcE@ zJn?Cp&@gIH^<DD8VYQdEuJskIB m(CqA(W(?^%hUt`lfNj%iZfdQDa(4{U8-oq8>OdUl62BkGD(edX literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_rsm_lbuffer.bin b/examples/runtime/shaders/wgsl/fs_rsm_lbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..acbd2f4e1f3b2e5ba2e35f63714a91de836145be GIT binary patch literal 1712 zcma)6+iuf95OoUzl)fOu2h0<)E7!zM+9tG(B8n=6goIRhUODkPUE$bay>^|Teg_}L z1HZ(~u9G-!i%6nmGoH(tIcN6j`s2axKfi7*d_A=e3RVh!`;}Kbd9`O*_`%nUf{C>J zTrOVky+kK%%2}Gpd6;yqefq!u#(JK!h%eMl*LqT0K0ULnNQARA%axegSsc3%aVg4B ziITG-6*1-zYU!MH+J1R4naQkJ?0R*^+GuwR2gVbTMk1Zr{s8}#p@cQ2>u|nExP*6* zo6}k6!N8yuhi$7ua*R{v#DeHN?ggVq;{D+!f$sc&>-KiT{#7`qo$(^C7WhRCU?Tgnuytry5yXM|Yoag?>I(g0F3{7reX=y_^~sy?)QljwHB*?Q=T$Bo>BG{YQh^KY49A$EWPR^; z3*kgVXt!ZDveAbz)UsSRvRv)r?mdkARO7x!1P*hB{UYMNKE9=P>J%kArXuFcX%1n4 z$?_jk*-@r2^pxCAn+`+WW1Dr;GOadFn>2#UNJ9{@CSU-lR5o;sAiy|XKo=PxuRGvL z&b3%J&on&-{{Rp>MQh)UK75iCmD^6+C(R&iBURn@A);;qO>dO^s1ZQd@unL+@JE)PS~F9mQ=4u*Cdu&* OPFuGN&A_t0;QKE?cMDPg literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_rsm_shadow.bin b/examples/runtime/shaders/wgsl/fs_rsm_shadow.bin new file mode 100644 index 0000000000000000000000000000000000000000..d51b440bbe201b1526c81d4349ab12c3bd924b0b GIT binary patch literal 577 zcmZvYL2kk@5Je4(F3hIl1hY(}5JBmx&b_-H$uhx?tOf@e+Xbp#u2<FXHYLxDh zx+mQ?pF;wJe~0uC<3j6*63Ny=+Y?GO!-e7UD;;uQM;c_%lAVkL?UhLA24IABMz^qQ I3_<{(KTuJ#Q2+n{ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_screen_space_shadows.bin b/examples/runtime/shaders/wgsl/fs_screen_space_shadows.bin new file mode 100644 index 0000000000000000000000000000000000000000..ea0377a503ef3db88a58e6e321464136e3939840 GIT binary patch literal 4065 zcmb7H+m72d5Ovds7MlPq@&N^(0y%M1k(6vH*(?@q5%i&NX`hNf(Au&q#Fh+McDx(p z7y51eq@Ed4H09j@t#h$F9M1L3A@%m%uaBD_t}aLTd_DShpKpt{*zBG@`F`|-WTVIX z{7{u2e=m>a`sr7r5&q)y%`RV*+wQMu^oV{wdN%s|yU}P-6|1`0b=5p*mdlA)lx=k= zy6RBo`?^{-?WXE($FDEW^>+K4Rom>hL#>Nz76#FNEUs^=dQsJ@K&JS0C|Y3ycvoz; z>#`NE#LhguzIbq-8g4^6-M%fctus%#T3jx*y2AEd*Y4+?_`^i})4G{|5T7oD@Ct!_ zhjJeCjtMWBvO!+7ZE<^fS`||5uO=6t9}Y{Jur6(RuEYT*e9wpn*(Q$Zujj9++3YHFG53D~`_5QS`u@(fuAy?t?Ry_9u8;ckCslvOD zV_uNJO>Z(LlezZ2BqS>5niGM+m;%z_Eq(c0r_ieb#A03DmGFEDOjqv_#GQDF9m&}9 zHY3v~y$E`@6bqs7kf$gufJ1_6iDaTMT8c}5gT#i9V^iEdgA6t)?-}I=+it|dqes`t1?hPXr^79%0ECM3R zJ5Nb!B?OAIO5AzN)M?~2MJ)J|k@yk&rSxklspHGGn0G<2tLk9U;K2tf;ot?fmve*3 zK+6~vod}s^_~v9z2~sbP<1w1-^rZ^3G)to>PP9y?kxpbXRS7K2(oks~MRFEFA=a~G zIYwKa3wlh$B%Y=$@-iZzA(ezf%B6zxu3VRhUUE?AcCuukN{uKUXg)=V<_~H>Sltv| zd^7~&gD|b$Bbifz+1YOidjkatbTL2-8s+o^M=P1#lX#H*WT3@JmYHD*GecAb!Um)S z0~uQZt199Ri+WPR?>B;wKTwiqN(>(WVxXkXln6xkENLiJX2{qbp(v`1opsY}Et0Wj z!i#;QPMSO@^(sagThij8&y_YloR~%s>GHUH+NMUzX4Y$KGeIgE8qu~6SubYZfYljz z16k7SU}$>6IJwbGrMZ?NPaQ2dSInf?m=F>4M-wbT`A8gyZ{|X+FiJE?mQ_3x7VH|l zN?gnk=Mjbk5bmSx%c-fHj&i9kj(&aJTqj^Bs+x`sVRP8FQ<|#pHX60W^OWmpc-!x0 z)-}6Lmo#;WXcSr;GmRs2prZqp`0+46G>rh<8jdmcnf`2SxlY-wsR5k`dKS{n#jLxk zGmT?Wfn4oH!km`Bm4|ZuAC63&P8jVtF+J-B#qnUs$g`CX=E{=~Mv3GMEFvX*GV__m zGd%;(DL$lfjU(e3QJl``&;n@>f!Ajm6TUVeY``>|(CE|C%tr;n%MmgYCXoL^%-6V) zQFm|>a0xR|B#ric1oB=p7O@*S&Mc4ZsiIPtWaOT@FgV6Y-Nk@}+|*gIF|XXzS+SWZ z#m5|p%n@jw49a42-H6@LyQ1)=BahwKlY3>gJ@*h=%>lF(-9=C{%dF&b-qc-H@5?^L zdkLbLW|yA_godvCoFTMi<)wDhmc<8W{KCT7dd2nH@u*ADdYkr}+=3-YFC$wm>($E& zq4a|y&0(p0u$$8Zh42DJ$t)ZOW2sEHVlNzMTJ8gX0wI+%O;;Jy&C{hOHcTzOTTNnE zTCyXPLt+`4-B=NOJ{`<-sbdy4Gnvo{;Hti%P%FmOS6CWVP#x^+j>?QSnbbV(NYI#q5EDn?s!gAK5He2YM!fVkHNUxj@m=fX)wyPW fZ1WU;;YE&OcJBsU&$h&yY<>1(NO_D#|KQKR88;mI literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_black.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_black.bin new file mode 100644 index 0000000000000000000000000000000000000000..d2a864a695a7c373d52632a600d54b0fa0e095a4 GIT binary patch literal 290 zcmZ9IK@Ng25JhoYFVSU5G$HCrkgzbsy$2u#+GY}&lF~LBz!mDjLc_F_E7}SJo?GyuatKnJ4(u&X$vii>S{d#7{}l1uWc_FmIjxnvR;A(U z$SqIko_f*jGP&L4DIpSR#{nxq6o$q0PUsvsOaKcL9)uJ!*gApsg9mV()8e9=uvsHZ XTs%Re^S2}o9Y$DZa8~t_zu)o%U}jk@ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm.bin new file mode 100644 index 0000000000000000000000000000000000000000..b7d5da0df43126896499a54b8f6bd039d8e69a9d GIT binary patch literal 4120 zcmaJ^>yFz*6i)cTWvL1Z{6YK~{#288H+aUE*xie^sH%z(Vx@)O#+x``ufGm>m4p737JpKQ%czJJr5yA>-<630l&LBm)M2@}juy)_$>vw&G3fuRm7nR< zS9zIKNuCY*ziQ1_ZBcpkGAZH-s=v=N1mSOO^K}DJRmE8yp~dwwuYRflm_h#^ZS_$d zPVzJd3Dc5CWmw)u(|rA7w6v_=hY08gPkMho?)9cgG|%#~N+vv?&5qd=AYMV_RUFn? zGRuoaQr!(tk9O_K`et6_^|EVqbV)*P)kAi9lVnqXfJ+I#R#CysDhQysV9!~JP{qaR z(LrbLfbY-ormBk=d@J=|D5qyLTV6nnvMTCH#ePw>f0yQyH|*^ZW6kCX@LI(ahwP6H zh1^#Viu>X%58tDkzDHN?>xlUcDIQRpjq!kq*#-}obV&c8%`OKYFnn=7+OX6#M!EWZWP57#a<}afvvdkP{Im_50O0qD)hT^L* z17b(1GO`sH*h)9aB+rZP_JL}Z#B0-hNUTcZ3Uq>D;V)qfOvw7Fy7 zA_*lW2BkR0C_`wo#>)n;GEQL%aBE~iUkdu0}O{l_Jp;nGed=Lpf*E0 zsvw&^Whd6iw&*29Agw_9f$LiS%qYagwT;^D8Ev*TdKAdets$godrxt&^H<>*z=IY= z?{b|~lUte*Z{a6{nKO&(w0cgEq9BP-x#r2R;6N{TeOb?>tLz4}+R1V>@88*0)>g8Fs z<$Dqk7h~93B^Rze_Q#gx_#*Hu*VPI;kizwR-wkZfcRh&?3IuinAa#j#53*J04v}8S zry=Cu(ua0~FU?R(C{%kPaxCZYi(3PJP(DnQyg-J92hK_yCwJmaS8BFWHQ9@9!} zFhgz&O?zkT1Y^e)wxE&J1UbY}y(ZkiG|uMLEr#7$Fzy)V*b7(&8aSg3dq%09(H+jB zP&xoJh?Mreku~3-e99Kd2Gr7SW^7r-OCG4UQCMia;0F!~1XTeD0@Xg!MZr53r)8|C zPiri^jxp9t#%;q%*Co;iH@!L9X#9++auw4?0-*(h zp^rZpa1!w&r~*I($A=u_)Cv{a+84>ikzLzE2Mhz)XU++)1}+&Oq|1Cw){WFg7J`FM zfUBI(wgPJ;qzjy&VW|&AvIG~;Tmqe?eB08-lLGcFuA><{=4A=GO{-e)BD6O{BgGM# z#^1b2?Z)ot_G3>eHi2r3(Z$4`h*fvy4bR=6dVy<60q2-)+YX#r0k-wtfuoZW zqXAsHQ)A&qwMcF1!e)+g2*Z&?(M?Hz$XQ#e0>-MNQDQ@H!L+^!L3!=TDFDf;@wJ?E;>Pn~N;JgeMz%0Hk|V+tJ2hbj-FkbeT5qpz74p xPeFzuJ*pkJ?4Dd0M)-8sR!{Tpz}*^`VO)CgXG_E)hUd3z=f;i;?e+eH_y0yYos|Fp literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_csm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..fe9414dd352fef951854a48802398e018a61e6ca GIT binary patch literal 8316 zcmcgx-HzNy74G4JWrvl3W^WJ@GB+!CHq&dD%YU0}ltoblLWoF#>&DaVo><#|YP)B8 zW{CuEzyol>3#`N=@CZB-=clS%WxFSt70Qg#ldkhqr%s*k)TvW1U;p;UFaQ4CKS%KM zv(e8FvsHEVrulk(S(TgS)%K>`kI#0aGbE2bIn35YQ|_x`_4{Ic7N}t@^rBiW4|S=8 z{x%@A7@s{?!=I{|Uhm5JVO8vv)ISEK>haktHT>~mwk!6F__7gjt{eX z{kmB1R@LU}6-kWG{-cOLQB%L#)>Tt&H{-LvD9SI4QQPK4wJ+yL{@rGSPWYGN`K5MI z)0CS-fgG=Q+vbl4aLoAZ--_#_!)(4?ZDGVyBcIf>`c1Le-u$811;OZt=+Ga0HnNAq zVD!kQVZ0n|)``hL6vA2MIx(4&E%h_R5Ew}r1)!a^= zoOk)^!{ya}d)T>L=g(=-4-OOW`DL|PfFFG!;M;Yv_w1#Rm&?8PrB|cB%l(t{LE&UT z_D|)pIqXZ2ZTNpPv3Re*f$aaD|!D6Sg6D&^hI?2<`B_|la9!MyC)^1vJIo=LqFXWAXsuIC7?;6DHZ3Vmm zuAlBGWt7jn%d6#a_Htiby(pR@u;&2I<;GhV)n-;&P0%-gyoLRnovG? zLg_tt!rYoLdGLhELng!%4t8IKJx4SKf*QwwhBFFBswKuz%3-G?CB*Qm%N0})KKK%j z;*dVu{jnF{*$8{aj`posIZoBU#P%h74C zUMRcGPp09c zLsFoL_W;Pv9^i{Mlewv=10bUx&4(q!JdePO_aVrLAf|0lC=3}oqtXJ|DHQ26BJeO% zX#`_<07-*ba?#|vqK78e9ep$*KERMZo;>i2HznnuN<{BORXBtyUB6?D$q$Gs zF=bQdAAy8jn5rN4EL|~*47zK<#sAx|j&|berp$P@9&ABAg?h#lf7otok-4hh%S9(&xERwX^4+sNq0P*d6WXqHDS*BL7Yx1IQY$gS{@|~ zoLvcWehA4hHN^EpNRCiL=!OfQJ1W&(34XvHhkf&wl#l>SPMZs7S1L3fiH@ylx04O+ zggc9yma4T4a9eGYSRcy#L@>~!5#B`%%x}s zGKABk_c=K+oZdomgJJ@1syM{dJ3XfV0`ZZzu8u%X0^KF4n{wypY!drI`3t@gaI8>sjU{S=ApV?4be;x%%)#m+p(Tt_~54NW+-N+ zM3Uu70R|9qpfgm%6q*nM{YS1!z#ABPAcew`-K~T%x_k^TC}>QNGD)D6@qKcb_E(ai zPj}lJ;x?lghM*b>ETHnFpSJ_SG!!ue1@IX4#0esN=~rgZIZnMI&H&aUAp#c{V(@O$ zZg5&88SfRyZ@DMM7)Re|dAs@E)$P#wx)-DyXPhP3^k~n55pB=n^zXaVxWxWEwKESs zt?3k;A~+0kOfq3FrWkMv&I&%zml9x>Y9ob0#E98A$b(D@j*k>>skkEk8&0JZNgf9x zgl1C|MG_iI)S~U7SxrhI4bG)!7&P3n7Gs-WXu3iW3O)u=aaq$p4B7+>7BB#sPzY%l zflb3GN<(EDP>@5a!k{g_;S`VQH_3t=dSEgIyEBM5&KDB9O-fLB&45M4@T%^oSu3e{a>_JJnr#a*mHAOL*H@!wa{5%lQucQZv(F)Vg9n z_F5i#2sM>_=ZT|bqvuM))_L$~+2~Qxuyvk4S~hz6Gi;s5kd}=eTImRbL(psjWS3{w w0`OfIXzVa*-VHqIpyx~z(*7dsFSIwBjV>@I;`b%AS2vy4B;0_}=)ds$KVrekP5=M^ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..8aaa76e4f63da95251235904d433cf152db81622 GIT binary patch literal 4188 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear_omni.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_linear_omni.bin new file mode 100644 index 0000000000000000000000000000000000000000..ab7abdb4e2b0ffa709d47bfeea15767330e0f545 GIT binary patch literal 6623 zcma)B-L4x+5w^Kt#bG6aK|+X|;bt|?o|u`Q|4nj~T}1(efQT#?Tn%&V@yTe%9&2W7 zpOYmLya5le7yAM$@d!KukATDr@CejTcTdlF?Bzr`j=QR>tH1iHx~uc*&9A=y>TlnC zHG!Ym-E0L z<)pukOj^yRFXZr#g2Hhm<=X8W|w+dBJQ zRd2HLmvx?RXVZU4A^2tp|CEAazAWl|iQ->xw+Q>!Qs-wX zC~cc>_Ze!u*;VcD_YjKN^dC~|gMGTJ$_hp-Ir3qXHgB_4b^L9%bDYU{F@)dwX!4(* zOeU)$yW3VxTP*Ery}q_q5Yz)$KIG|sTdV=eqJ5Y@y&CE@``f#^+VA>WS1)MLcJ_1Y z#ci=&0R*-X@a>S*mgxlnl-JfLR)bLG_0y}-$>GS{&-43sU*|Bl<$tAO^=$2l8?e!| z^?un}e`Mc3E34%f)|Xe7rRd_qtV6!^N&ngqh*JTfcskrM|AK6FLDrngDAyDz&WO!a zJfmVJ-Wio%nw`}da`24erz1o>RUM|osfLl6l(rW&ICn3qU;zO1Tx)u*r_=u_Abc;`&{L&2fQkETC!N}e)r!J2D5hu_M(#r?y( zr;tA^6Chhvt$kSZiX{aTHPL?;%81hU#`QV0V-x)G2^i=x^>f_g7PR?T$JEW0`5blYGV-rjqF4mTf_N?a!TsUVi6$A+^Y6Nw0#3@SX zIv|C)I_BWE^$V-N|VQpj%E`4Nm zvS)@2CxU!nALER6Th9E}}p>rTJ4j3XpZV;oGJcr-P$k{NR@J;pdy98m7Q~;*FhTuM?2Fe zzdwTKfd2j|{RPoq81&cXza;_0g#-ZE|A(hc0f8xSmc5F0BX}Z)m(qvGLU|(M4o|Ay zdY@d~g`<|?W75OGNji1uLc!DY1nYP|y{)S920U@8&i8+JJXIN-ibSmhL!6DCT>QOp zu6Ud-uFu-CMnf4;-?`v=E`G;}(r?V6LmK0#9HGLIM#c!O3g{hSVRW!pc5HedPda&1DH4m7U-3aB;xrv1Q}c3DI@as1d#LMI5M zz)OT1gmD}sUKj_VzzK|m^#qHS7r`fd__%$tr4)FVxW|r1KbOSxh&$+5HUH{uXqgLyu2T3H*>rVE|4j8sQb@|(&?*Ti*J zY7@~fX&XLs!usC8IiyS<4L@cqI1_@Cb5@RHcOf$bN&Iu0E|Pp$!zuu%I)vHTKpwAt zOaUa!Ib>3fpqo(%)a_2n5p=wG^L-VW`UGMZ;04^A<|8wDh7tc|)!20gj}zMlCi!s3 z?x`T`oDP@^fln?5!5psAwmEfEY;igi9kK#yNM={^+>iVu@&ng%=|-%KjL}r?2?JQ> z+q?EHE<4yTRV*9Hk8a?C(c<3vn3j$f4_Lm^AOe_Sh^6n;nEC|aV{21jw-SWvlHauX z&Q2Ic#zKMtN>sxDR7M8|IDrDH=)J3eR`%tIB9+l!oZTg1z-L@QX9aIOl0gZN32wZTDoSwy8O$71I!|b>=F_XpDgJviFQM zT&6EPU8kWv;LdOzd|p%~IK<@8nWKw|3?>pzrn5{RIOPPmCC?;RhyZgoa1tl>h2%#p zcSN7=!uLg(1dedw(Lj-0%^xYbZf5e4v>mlWdxug&)wLFm@6+Q2hw}h8CMF!EuQ#1I9$Y zg#(t%Mcs3UbbVC6xjYWusHm0Dx0?tqZb*6fq}vUA!s`tk)laYRm23@+*oiPue=d{}3{i{>+duoH% zuud)Lsr6nCOyB59nl2aYJ?{}}(2cQ8d;!;2Cc4dyy!;`~>OBqrt$F}zN7Wa4j#6Jd aQ;qrtog;M)*SqcD0TM$tnLL_4n*I;Mygk+c literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_omni.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_esm_omni.bin new file mode 100644 index 0000000000000000000000000000000000000000..400db79eb31ea97df56c25c35d52045cbf68ad03 GIT binary patch literal 6562 zcma)A-Hzi(6;8O=6~jsl0STeKF*hq`weP3>bL!{Sn_vCl)z|;{ zb^<@M$&dF*k>9>;Kil5qS=qj>j#)jM?j}4+eX>jIblb4m^syS7?UOcZ>-2Y3 zy-kZ>)>&50rvFw#h|LoIDJzQVIGg@QNq^LneqQXe+4R3k_P8heLk6)=rVqm9X`*O~9_fN7L5( zRqOmw#{PLxt-f@=dgM5oE1(K1@ zA=#je-IFNl+RrR`0VN1}buq6o2x#B~?AJaa0ZB5T2$?>vW39o^#Y{^2Rq zkCZWxt*h2OEPBn7l8KrazYlFh>j&fdGPPp{eB1yNJ*FoXc9}=5ayYWV#NmA7xaiM$j=+U;38sc1hDoiYE{r}IfV3))5)G$ zGBgDFz(3|0{rJwu&J%ADc=Y4@G4o;;#X@+|hL8eK04G>swvx<7D?nBopR*;RFykUZ z7aa-+(K{zAnv8g6DiWd9$YsstF8z*+Wc+Ku3e7+xwLA`8_Ci#j~1dz*F2 z?#?_tjoc;!Oq`-qS1y!1Lr?II=hK_2Dy|_CpZa|Nv*W3*;Dp6`CK!^{7^unLS^G*L z%f;tXTlHvY1NyscxPgz~(NM*WHFQWK991LKIFh9`LbJmDFYjgk;?9yGtLSi`g-6H@ z9v1ZX2Le(y?I47m6wdQ#-yHLH^_DIaU%^)gE-0IHU$md94Zy@hn@tj&bn8H|0VF4N zA1pDI!Lq}X_J*{)$ITKf?b=owqVpH0liPfx&C*1Lw1Ra!rwtevB7bh`Ed5e{m5DK$ zs{(F9Zg#h$$prx9;*ko7fwvubVRG#|)E826HFmM0g+*|PAu{3R2oD7EC-ed@3K{I# z{t}J|a@-feGFo~bkNi0FgiwMYX1)lcNW?)HiIAazM8bJOryIca0se&5@;RPR2+lc7 z+?_vEjo@-EO34ZdLPSGyieq&=apkEvf5;#QcpjD6Q7Xh=;7#wsWVs-sYB^qx`*&&J zfOTr+MB)qDbS6_XYkJFPk&%m!Y?Vrz+NkzCc1^NkMw-Be2o=){4jJ7?gTomT?PQs7 zb>Qr_N;MvL<%4|wxl3n3x!=Mp0I1$aWw1gWHhD;iB+PLdofmvvhucli_;DkOk1Ffb%0^uykc?Zd_w0M zvADWY^@hd8mcUdAQZ<19!+G$9P9=K@S7BqD5{~8JdeKxN(t0=}klbk+dP6&EZ!hOBzQw6gT`5Dm0Lw zMgTNZWK#EDZ@~rq3nMRvy_GK^Zn!0rComw-5S%;-A(oPh${ePkQ;PnS?Q!tTM7II? zrir1&i#wz|{JvMe;Qq4$#l>%HA+vVGL9>!)1gN( z^AKdede~a@>T52^gGZ~*S%5EWMs4tf)v58G+TcN}QxiS4-sRtpjb4@Ma3Q0YYlI$j zZ7mZYvCZj;4t67tcZjck62rgsF`jOe`U|}%=`XNDb!v3j0$ G@$`T8YAm$? literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard.bin new file mode 100644 index 0000000000000000000000000000000000000000..34fffb3492fdeb45cfa9b1278df02e1902f5c914 GIT binary patch literal 4043 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..d2bfd5fe4630c5a1b36ae723bd60484131b3b8d6 GIT binary patch literal 4112 zcmaJ^TW{k;6i#^HQdSEJydYkNmzC3Pjc0s`y}hW5s?{Qds8o11ZsMe79Xs+RNxM|y ziD!NSKY^dXPv9qU&Y7_@PSU1o-JIK;`Q|%kj^A9r{q*C-Z*P0>dEWb?4%1|ITfLs& zBym<<<*T?D^cTH8s(a7sa2{20kwoba(V%ZBapQEEOs91jE2ls9I86rq3nl(it#rMJ z$8{PN%ImK^Uge;FrNp1q;UX%cc_{|{&$nfK0BOoh2X$D^ucP@QO|sb)c?|mhD&=Qt z>8rdR3_eSs9kM(Ij8}7%eQT_aOrM!HeFX&wIT|63w!_tdg;jPp3z00uV1D@-hzV zEScuTJgM%6CkNYhWqmU%@_Ny=I=CRAVbw!+ag$^dfWQy}zAdAI=~)m!alu}(5}}HV zlY_m^-X7nd<8@URG5A*Uzfeq0r?xnU7-dz|Q$M4wt1IC)e?W_cXh=4h7^ye^}=|>L@$F!Ogf~0)MlH5j~Kq*L&ROv?Q-Z^ zJnTPsE)V`xvGANN!A(C_IBX!*>4NwgpR=3UbRE7aqS<9sMV7t>SWYuGkCH4*u%L`( zm;te)R2tcm3v8*1WSr+k_xM1yOyZSpJ|tG9aRoZg&brR#>I9f2l>(HopsYU%ZLaUw zw@5-k3xkp$VU!`1S>t7cR~e_!1q{oype{N6HKH^%z(Fv;qYW?|4%rLVs!lZ(x`A2` z?Z|{|cF2w`)3)ftc_6Gn_<`$M{!~lE#l4wr^_c5TjvlHy8@op(R{Am=0a#FyC@5D+ zHNK^u@E*Q0=rPl%PODc0Aqpf?KE`WG6E|tD5f@?J;lq;{3;{h1il1c43?s_!5D~wF zh}t&$owaHm6+)z49a4sL&j{isG-EeK9KCD4KByI?VOhlsT+?I6;OY*cYvz@qdXa2w zhTiK`zdG920C8(RMA&Q`&Rc#w%eH(^z`^hlFhI(=YmfYqWjQ_%Jj->J!VUy?J>Pc& z+w)ydpo0QI?g4jzzY^+zj&6i1MPUmh$A&D6(!4aH2U-q0_6h5Xf|-3hD7) z>Rw}TaKsO_ATsm5rmpT_ElNHkVu?%rRW6N6__C5f&9^t4Gl1(OPv0 zpaQO z-9Dn7IADfc<%-76$O%S{%WY1bs0jiIZaQ0cPk4Z7oXx6R+{)I5@x%-Rxs7Syx~{oq zFKKDlyo0U=J}$rvBB{M^WX%(lhism#F}l;VRx0X1rX;aYNx>KDOaQ7p84$?&5grO2 zSe%xz>L#r*r{coaLdKXc8MhTDkYlJtv8)Lp*WtbfZqfDo69zT5~blM5F}LETSXhGYpYBYh9ZRmi{TE&3pYg^L^6t6O1GsA|!R z&|VKsx1knWpP;s5cXYe4Clp(v3U`;j3Nji`pvkf`gl#X=Rqn1+cGkh+ydjW{#nDzy z+f3A9BH>gytMZB03jt|i^MDT*!o{a+1(xp!#Sf1#3~hRH({Y3sxR&5>G1<25z$Fx5 zUGG%0T9haa+oo9>6W6juZc`b?V>yEv5XL|fMK>k=B57@$RN&#ul17OG#SITvr3MO00-kK%(HWN8*Tm!=Hw$$4X+ZfU-+MXfz_*^r>x4JfaYIu8QYD7RAcJXUV#3F|Gwrp!s$Bp)S H|H04y)^eJg literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear_csm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_hard_linear_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..954e2d43dc4a43fb1e82f50b759b28eb9a1ae341 GIT binary patch literal 8312 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 VaDOXDeZQv{?=NPvNApMX{{aH37j^&u literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf.bin new file mode 100644 index 0000000000000000000000000000000000000000..923295cec44bd62e4b187bed07dfba83bc8ace9b GIT binary patch literal 13371 zcmche+m0hi5r(_DSYUPqsNn{2Q{1eomu^#;b>2B>7L8Vm5Mrc(Yg6qm_Y~`s>~bGw z8Hq>W5qJc610I1#;*ZFza@N^vOZI4{+!c|Tk(pmc{XGtU{qCDjf3*7BH)nYL9EzqQv7x8uojw!|Gv-}!7a-n>t4mk)nTR*rM_2`%UkK0o`9 zJUhG1lDoxnlV=lqIh|fvw^-tP^n9O=w~K7LT+g%o>GJury5DAdbGKe@S5>cPulc6! zY%i_XH`(GAOJGZhpYD^jWk$gZl&-BWtqm`({dcqFlLoQr2>7YPo2RI$FEvIY`WHuL)GJB`^F2k@h>!mudI7CGq)9+4X9qM znAh}`b#pg;9Dlt|?%pJM;+SK=bGoqRNwyegbfE0}@d98cGv(we7OZ=HNG8kWy1IQZ z-Dl~8>3+#n&C(n;VZF5OM+ISW^x-+UQYJ|zv)|Ff&gjC3Sk%$vQAdwY)^CYV$uYqw zuh3pz;sh35dT6ytXGjpXGjecb1^;U&vzd(su7#y4JGi{Ov_7{=(+k5y&0sdW_EkWh z^@Vlqj9iCbLd4REWfc3q6HSdk0-9SnZ83V>#TZgYHW}-CKl<>1-gg0F^=O6yapE>+ zy6Yt3Xv(Qvi;+K7UZLR?tC)>Nw0=YVs}qg|iAIk!LNt21vebgnziQf)l`uHbg8V^4 zZyvII@}3jeclgmlLYyYsS^g#OH{H;C&YM1t)qWcHX~!{Y+}ui`W{RoOK=jI{Sfym~ zMEfRWW#jbjSbw*6c60Z5=gOEYHH(+bLeaZr-K^8(+v3NMdQhG(5X#e)O#{cH57sr> z2bYB2ScpqJ1(vz3bE`_!wwb$i{=I5T=)9Q{UF^01%dK94<2q3wfs+Wqt-3FKH;h8Z z@gflij_+%O8%yB_QRK&N5cz?m26|1@glIbSS8oTMC7Kx-^({Im_Kq~>=Ze5?!$@fM zyEzh`0twe{l7a(BqQipF{RT?v0Fb4T7DUJk9d@u34X_kh11!1K&MOO_C7 z6{hfbn4;6eq;raJDV2;xV5A%Av{Ka$m82wrBi0R-bQDy$c0wgdntadnB-MG4q7Ic* zr(z6C11jkfRMKsS3N6hiOCv$S-VYV#u_sjQSwe+SD^MZ8V>6WWP7amS2}Z;Wl{BAp zk`7TbRkc6xBtKkxp$arqK@U{X0Z`Go03cx zsU&&spbBeH#YaQsIwyz9)d>c0QKpiSk*QpzM0Wa#aul9_?NqrZ}CNfkn^q$&h>Y^rjD(^I80 z4Co@NT+gJcuFBh=eD0tuceO6ZwG$`r0AcPaVeU4Rxu=ymEDfAImgZiEG)K$cBn5ka zlEOUp#ECt3IMuW{0z4Kc@ATT-)2YP`87I#%aPsORT_ve@sJuaq?rDvVYd2H}Xmn3$ zbg!Y&J+0AUX+p&s-RsckXxR_dkVg0R*68e6LWNK(ISK(D4b|y2x~CHi;G!JmnHt@% zYjg!w`-9IP)abs}=(u)5( z8XcA1FC=}de9-!(Xt<^A&HK8?3t<9v&>WowE`6a zJT_AWrdXSFh^Ej~=wVHvs}$9)rNTjh9%_M( zYd2E|2=q`1^sph&LoLu@X)?tEJ?s$ZXxY!ykU$Uj7U=9*GKEkp843X&&D7}ydZ_aY z*kYzkfgaTaI?>emKU2}5K##OQ$F&ox=m3EpDS;j}1bU6MQn<8#DnpHXnIeb&L`BotlPcx9!>T6KDavEHLcHkX#Dy*nXBn#7QDPnQ zq@pMk(*zQQEk^x|LnrXsR;6y)hZJq7icM{fu90y#bD&PEQh;c7LK%b#x!8fKO{>MJ zz`!VX6AtU}9(SYsO*nKA%D&rb3Drk}MXdbfEc$M9H{wQ37k#QI9Mb(}go427DHiiRbgORge0_7#28#<#XCS&W+Y_s`1TW}Zn)k$>)Pb%aBhWzqEFAhClxPprd%YG0k+=?Qu z>H^Td&eFwQ{+?%5o4u;IvFS5@3Wi5T_Ca3NZ=bkw5M_#3d)(A_Ka_XNH(X;l&mMV{ zs3@G|6cMZ7^y2U-;+i_3zDrZ?#H~zLxTLW^mtP_8C=vuSQLe=oQEqVCW7lv$cGk4m%n~t*^-u(DlY|U zVlLHop`l9T=2J_kA{D}LS5wE$K!R=aDwd0gzR>Av`C#v`C0_!TuK4W;b~QLXAB#KA z2tELZv#PFvWmj?$W^z+iFkE8V_|^cOc$!n0DvWOwj2^gz)LhGi{40I)0~+g8bYPZM z*E_G+nw{Tr=X! zN7gZFm<83q@X^5=h&}2BI$4**K7U3v^i!0+&+)~XqSoDhjW0j&cSN|Fxjgj7qwUJt z`Eb2`rBc!SqJ-hd-{xqkhrfPhIMEkC$_a3GY$?B|c^IXU^ka$UI>lE!7PX>&n&{ct H|M2Jk;9ko; literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_csm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..b76a6f4b39dcc5b98a335d13de88ad78a7f9bc9a GIT binary patch literal 50299 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 VBi+urXY2FlKRiD>`#=2W{{e9+|DgZ? literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..c899b5e345e83dad4d7e0bf2c9283259605ef0e6 GIT binary patch literal 13280 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear_csm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..c82887ea1d4aae85c3bdf94c9c5323b471458690 GIT binary patch literal 50166 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear_omni.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_pcf_linear_omni.bin new file mode 100644 index 0000000000000000000000000000000000000000..a013c25b528c30cf869f8a409c85b5413b65b729 GIT binary patch literal 15875 zcmc&*U5+D35pMIqieV*&h8M(3@v?F+J*Kk$YiD*eyIL(E1dN#FfhXhcuI{ncZMXc> z-80Kba03p&0~bKz2poYUa0HIP7ZI6NSwC6!v?bH4ow6$;Gb1Cvi2SM?`Q@u$eD}-0 z{Nry&_&YxO!Dc+0UcFv_c6~N2=IfV>yJC4fxH%e-_~^sU_*N7`g2F4i{rryefx)cq*ph^`DQj*>Q;a4Xtg>Xywtb9vl-t^mXqsMa6EXd z?;UT(>tel}{ARJdp3Hu}EQtC%+yAb0ery(Hy)NdP32D5#S*(A%!BQL#{;9P-*o@B?vjy&W`p$=|@#^*D zVsZED$&K$HeVdl>TOS>L@a*X5Vmi5+FIMa6`EYT0dFowYQE$=nZ86@=r7%CJYIAnATx@RYT901v&7r?J@m`!w=NE9nFbMGNcCz$rE7(EB()+|)k*kX3(?^|+ zla97u75D4SvOwFld>RKA&o0B@Ir>&xt6dfvd;5k%kVdm6nV$h-ZSqBi?s?Bg{Ygm!V zVcV-AvD>Rc0o<#AD6Y%jb;C~y{GRDpc<$YznGG&L4$yvf!%2a9oXp7PN980xgXO1x8snEjZRMa*6lc^ zugM7;PpR&9oY`(9AIR<8_Bh?1UV207&-;`dm!62njXRZ(QLUvP-BFuTDoau!19p2q zqx=>yn$WNE$ui}OX=OuNrd2V+E;IB;KJvcee}|LVjI2@01JuiIPGHqXUL|{G$*3XZ zjs9t=shkpZ}D~13wS4JdXWLPy@ffRhVOOE)hVj;9S$#)s|-!vcIW|yzVA) z(mSu1tqR7kalX=cmyyJivMefYu1mQxKw*7lN+%M2sBae}jGY;au1tR~#bB#61*>e1AI&m(uUL@{@BGmGTEJ1Ch zjDZ0mAAO^RxLd`ue{WPE7=lL*I;qTM~_-9{ioPvxE{Z zDi&>>qmc&8cS*QmK;NmMwwq!I*_iI?JDfPinRSOpEop=r-CHt2Rj9*LccFoVyRC=} z89|{&kk;4xiEwW`^O=Q+WN9K*MXI)hR)_}1N;KI+Bs3?ifW&lVGJiuX zA&P2AO)~-SPhKUr1Cd!mX%)p2=J6>zkR~F3XUk&pwfQQDEHzi_;%3MLD{#*zPIh|F^g) zxb=IYDV6|;EjFg@mM|DY(n3?r943w(XiB!ADcOQ1%wtD1v1XZ*U}`-l!NPrWQk)zf zO**3hRfMKEve880(?*kHhl@46YNILBXv*AZO6b+ed!i{}wmXjVW^PI(3P{pIQ^H$$ zg1y{i4||70%ii1sd4F!gJa$AAYgTB=8)$-s`=Tic4vwZoXOuW)G$p=;rbKv0#gr&3 zVXJe%DWP0JWUjf@C3vu)hEvL>;5AMsoU$!&%C^CY z^5RZg9cGLt2(#6})OvDC(*5C-9Ue|Pr2tlxoRY+XQ`#inj!iCg5${wJZ(N-?N*_SH zQz71Ii+HD+ctg^{QOd+Sbr5f~>`hCM_opSyV@DjZW{D%1TE`JA+&3+yhbP{t&Lv6C zI7;o8&S{f@OImWF$wk0ZO~7$=qv-(zJQV_-wg`Bp2{JEDm- zD>O9;I4s;3P5I#oc&;-FP(^6UZ33P*2)IU*W2ehq{5#kD8&@})9>BkI;oo_Sf9INi zL()bQ^Y7fjztOTEP22c)zBB)3%@R#8wVs<`;ofLEJpayhMggiAO*a2leuIEJaHM<} z0Y?w=Bu5{dP*VN_IJokKgk$jL)12}(4JTO(PiRQg3776CI%?euDN^XqP&A<(Q(Pzh~a}fhjAgwd%oUO`sZ2<-iDZ_>m+MKOfg|c zdq)maTPVAN!WM{eeaKEPrWC7IISdvzAO<`4&SC2C#9b+!cNDP35K}gHSE#h=%zM8YTcj3ps)pEToAMy z#8}mWSd+_Rp8G=#Wk3htCQ&LRSqxZXh@sSpUNpn#Y|M(!0Rv?~!~)e2#-xRJzQ=iW&y zI6T8wflfOLP!ojJNIusqSw8`~I2ac&b^ThSLPPTL!Hq4{AH9F}3N^_O+ay0UBpAi&ZOZ!QuwCVCUZ03jYrzKjef%dk9d*;0gmOjY3UL zQm-OcA%)_Tp%lnZ-xg>@rRfs;I@^VuN>E5vJ3L{fL;O^TTw@gIq)h!_4Uk|}r>l@D ze2+TUUhBcR&a3RZ>l}oTG^5V1#!TN`>XzMH76mU+-CE5;uHmYCMMb(ARo5}2CW{Za zRCTdNKo!oKa?(%SKN)i6w^Y~CP;jm(n>9uoRtbZs+KN{|e%CY_v;_7dsYudAxg|xk z22?UnHEe>~Cxn2A@?))Km^F*YBU+I2#cH^m;P}ye#qFAv>|A(sKEoj*E)7!{kZe^b zH$rLH&~AP`ol_Sfp17ndXi_~F-Z$`Hlty_P#VS->(O&igOT~JMU;V?bb^sUO%!>Kd z`Zagin7!2B45=L%!zxHX0KfkDhARVAOtpl#sqfOk3K)vJx?BuJk6<071sGngs2vkzMPQ0JyR|tp-3CVy0AUcil;%7gRk&ZQyYmM&C3ugbCC8WSD5JV*I`!N z-vsagWgPtB(Icj7?B{+K1sX7@g^|(ZgBnFqkmRu+D3p4JVHlyTGp8)j3Vky!V;xTB zLxNPTf{3__w&1p1YKIKKyN8=D1QieG($rgg1 zb10yy1PqRP0sSots_7)%B@Vz{2Ahx!uQ?JtDQ+JMYaFrGx zD=q8c8>iwbwUCbRm1@K*%h}jtMm4p@iMgt`xTdBzTYZ|;ngJhMBRz|M`L2eBpB`<_j;W`NC%g%Ai>msE(dD4kjF{ztCsW;B-D9oWZu!!e zSw;f!1AG7v`~VW4z$fqtd;*`qiO9^VtV@|gR7WuE|i>rM4vqe$Njt2kMLfB>re_u?e^V_4rf3);_HRP>!iJ)O)hU$c!zgMVq^clBgn&zF-@+p%4${2);Vdsxt_0nv&K>!4gRUMzO^2o&8Ks;c)I1I<#_ovKcC662Eb0wLzA47*+2jJAoUHDTpBy&z zmh02Y#e98T*E)Q`jYEHZ?7cXh%+BG0p_KS^lP^5m3U*Mj@ILjHxvEG6zIEB@5b`{=|v!)V~pi$u|8XQzf-n3wzRc?K>5y>5!Lko8Y2fou!d zi|ytL`8~4p9@(-j<5)AGaER?tbg0;Y=TNDInNz2UL5JdJ9YAcWHp8K1VtTIUA4^9kAk_OtnXabAb8C8$H#5(KWH!lvM6 zQrz119CPqYixox_-ZO7_Gcu7RNAJ8(Jbxsk3*-mSQ%Vv_)f7f|_wOoM0NMF`#bY#A zoHS{Y(i$u5)>rG_)gkKcKxpVvkGs`@jV|p3+E@AAkpAC{12Q%|KH;XDaYP^EV>X^r z-OV_)-AF!A&6(|SYMxwpLmJO}MvhC4mB)=cg^#;hOFz1$KBZJGNrep9?fsPUn`AU$ zT;Y>t!dIr19ch`C#T2{D&>#88`-1-t^XZhV5yAu1%VCaT)yG~Xduqw3BjkmMPZet57q|*@EY4H}P%k*wbawUSSq1EG8X~K^iJbJ_E2hhW z@oStfG~U&nlqc1)h^V{569(msu|o4?_`Zc|6)dKIt$uMsg?{m#5X}yc~q*zWY!|67OT9W#%!h13MMIO(o!0*Tf>uodKOFu z?gfLacfm>n$$9XI3^xZASq4qY4|Zfp&QtW)jN^*0a?u)#QyNnTf7s#A2K>V|{3XL* zTJSH2-w*(@CjcPZ&YwC2B!z$zy#{t2{v;pvg%5*;<3whaKRJJ!c?K%KOJQ!KcF}+q zPQ$4RmyiZ5;fW8#V^8Pv>2tD#6Mg+}g;Nv3J7;FBUB3>q*cHui$lGaL(ip3u}o-q3#T`$9=hx*i6}-=V+|3~XKqxLmzrKk(C7 zfk6 z=Y*0(CyGJ>c^8VpK%od%CyGL%9v_M#m3>1i?P?V1qzg$KMVxIzE88;nG$^TO)HaIh zS+$KK%wtOwv1W-PnA$*5ygQ1L{i8@{5}*m0WE@6TmI>8P(}a@)O_63kt(+8Q8cmrS zO%d^;4@6U>0wD66IVsYV2$B|>BIZJo#f5A%p=WPSg1kQ`VIEtei8V_!!PGjMVBxMg zDGK(ErbuU$Fl97F!a`G|cwiGvjvX%IEfqPsxx+<~LKCje+!Q4bKobQ5czfJJljd8H zw9%AO@{iJrvDDC%Z9r4D2~Ct1DW#b$&GQ^P9A*sWWp+52+CWpfJDRe+qbWAeQlUaq zVxcKkyrV)BWhHEN4mib>E4sG27(|ZN5LYLhV)`QL1Cvv%2xQ!PypB~Ej3H^kDQ2o1 zhuv^O&)(z&d4F=kJhp@rYnE_=sdYHP!d;V79PJ-YI;8+swAIDxYZyg9;wJHSY;v)S zc*mM}n=V6ai0K1U%6M9FjJgn1Ck^ z0*;>jXxc=;F^?^?5^I)df~oba1PgaY)BXu~qB9CmMOi7a33$>Z;0jHSJuY<-@I(`E zT%Bl2A3(rUMZnV*0Z%mnhopt3lnHq1AmHfPizdkXa}(yVC7M{XL=#M{qX`!7il%h` z1U%Il1*jr4r8WUi8w6Z|$;Fsb7XeQ-0ms#irUwx4R1xsBMZi-{z#(a)i3xb>AmHfP zkETroJl&drvu1^+CIN?qJELj;1U%Cj1*l>)*#tam5O9qq$4-~I_;;rHH?B@JWe?!r znd0ABi+^XDe?!tjQ^x!|bMSBU>_rpg{kaMA*fKYC`{&=8&L}_? zp((TZch=zFE*QD!cc$q#u5K7TfPM>K@$am~zlE;}I7BTVp&LC^;?n&nN1c1IL<$?g zv^5FOY9t)y*1<$Z?usUui!t{5{kQOSP64hMPc{!1euIds^yFYp!gmpIjHA9Epf^rr z3I73HT=Un%Q2;| z0be@V5YPxwqn$WfoW7P^`u($y+*tv5G6Z>cDg6mTN3gIih4yV`< z<6pXm)sM#-VvfyG2p44+LUVR{6$=Z2uHqn1Uq28fP(Kvv|R^HZ6#`5XR+5ok>h;9*+Tg z5Qdte4^Lt!9AbpY7MB-NlX(GIJBdlA^FliKJoWBJ7!)=nF-&M%gt2OcFj(A3Vz6`P zBqsMy>xI;5hoHs?lQy##sB5AuQ2tWm;$Wyr>i&raBj^nhZ`|2SK7`)uLM9>G{GN-M zD0@NH##W#Re&8bb=-rPkC~U&k)(l@@?soQq#SLu1&YiIpd<`6*3%a9c!vZ{^N6-Y27;}R=g0rl&((V!); z7fFPs9@=Qo8c?~qDqo|*tj83GA?3$fPZV$&ero#Cf}G8l!$ppxKeHwE3s9Y2H-Q%7 zY>ERsTn{Et*hA%D0yRdc2OHYmuO>4d0#96OC}>h~7ap4V6((VpgpmjYSCg0Hz*1#B z7bMm1PU|`?W|ynCJgesHnKTWl9~r}UMFIl&_1k+c2NWTA6E*5qI@CZ@NL95Ui|Osv zgv$O!n3!65-hnb@oOX`(4yh3*r)ya-DRh~c2)WLzR#t0w(Dj+rM9&s} zatpUy1;gXmjr`OC`W`-!p^u_4k*pP)2(CmS9deL9u=0sFl;l?S6slv6 z)pDUD4-nM0Emf|b~V!Fj2 zfr9`z&?@i2s?^E1p9EAn3|E-8&NouT)11mwVV!+Mh-y*k%bfIUWAg?LKbZmS<5d<2DWi5cLbqjn$O;H~@A&U7_zR2R1IwB%{f*ssju5yem$Vr34}IfBbd zbolEqEAFl(R+TaiUSN|ET_Zp9(@+|~@Ww-T<2PayhBD3~UkcQB20;*_mNTO)&H>Hq>yITkAVDY#MmqfljnpMCIc+w4fkTjdR+Oug%OJM4suQo$;S+C;Gia3- zAL%S>(e=Kk4^>)&1$2C_RBN11t40fJYK_xsm0DC&Yn)xH)cD9KQx`M}4*%m;pIDuZTGpd@xq;qsT49eRDz`K$`($<=lF zY;l>yX?c;YtQz)mWGgqFGkD|=0Nhy9(xqmayCa=YtBO&VIIb^kp zCm!n`8v?m6U=;V4w>*4@Z2Asau`grh*QB^ZY&OOnDrOtpq0%D#ojSW5yhHKX0V3|J z?zTf)uzo_!QbI{W3aI*z zT@N-l;%ksla$piV$MDjpHmj{%vMS;^O##au*wmK}|Fxp|+#&-h2#>}=zuy-RL?b#i zL@*<<>Dp5Xx#FQXu?McrFUJX_9msLu`}TNdB;sRlgQj~1n{AH69g(r=(T?aARu}=R za7-vtuVSHCC*|aths7KEDror3qH10~W^A#L%!Fk{>COJ0^~S`nq7j?><~=uVC^p4? z${-@JdR^vm^t%4~Rxhif1*B{ts9CmKaYBClK8i=xBK%h2kfDMQdfJ_PEMjs zZ8Rhm2X?B-rDx7cW8L3&KWOun#p6vpWloI-1Zd431%m|c1U4mt=3~s^uC9v&=w?-9 z-I3ZJpo36qilPxt;BG`rGR>TELj`RJ{3lsq+qzmolt_?$*(D`Qgczjd7NIA*T|~9 zVV9pb7RDpefC9CuVA|8C8z#O>&l)T#>21AMzmxExSR@+~yLSEPDav?h1u7+lg-(jT zpaJP^q$)$7RR5?c|5n8FBGxlutL(OvkuMguJ?MgCaD`>PaUI7qmg?tIb0{lJuDhU* zntrO;gknQNaQ5HtXW(xJ^;68K@jyF)?))FUexI|^=X40c(d*LD`egbHn03|Ng9 zxgmGUY|YxuDriUsJ|nJzKH4tW14sHq3esstJ!_JQYwkfkuC^1vxIv+Dv5}_VP1%}f zJc%0gBIp~gJ#ZY@)b{2HbJurEw(on&z7?wD!N!cjk2xbs>yWw|rY+o$Q?%mX@=_DX zLvu8p(+m?;Ob>+9?X24;-Yg|;9>arPj+8#$eLJwno>ctsqt-F4DNW$=T?2_5*@D~LhVew5Q7v*~fke?|!M`A_8!)7vr&^j;sAyo3 zr_U&mfXWWhOp{5wvj?8fKf|#dIKj{xQQma?V^736t%e}v;jY6XDD3f{nojzjJh*9x zBQ=-x^j|ejch2q9^!4=&Tk!`QHt`2I@!OgcS8AyF+*NId&`uSr!N(EIC{cy|X>*R_3Ico;?{$ z@CG~p7rX!xkH91FD!c*z_t&AT`mpiZtd*Tj)qkr0@YP>c^WxQSe)!_A|NQ%eett6f z>0!34FJCubug>dg-MrjfSG(h*?c@m4lTQw_RoPU#x?KLQJU$B4ux5H*FBXS=rI`LQ zz;tnZ^h^zZsx-aYR`bKM+$pZV4RGy`k6x-FVJ<~Tn3x0?KsQvGtXubXj#o5R+ndi0D3{oruoJv*=07vx7@2>QRPa_8AgVJ}xZ?@MnFe^WCOepHX!Z`5$|e1KEV561CqXw=v@sc z26*o?VBhQx^Tzw5OrKvbH}h}3H;+6|7hy<&yQ=0fhwRjv5d8_RhW>DiC-=-<+%vcD z&oP4O;vSi{0d9oEhO-e82fRjUx>zzo`1Jsw^hvw0=2E;JuDwtO{)qyDr`{E@*m3RRt+(Q-d7fDIK6&M2`Z-qO_ANk!s*Se z_bX(wVC!irgxc_g;8OEMjyPe9i(PS|FD`<($QGA4;v!pI>WYi{;u45UY;hTQ%H`50 z+lBYUT1zl3ihzHLBucY53ez}97bhnt-e;cSpo}o952is-$e%1r<6I=U2nujm?#L~L z@q-n{-h&kumcsPG3e$%u#12Q%S7|RZ8i}CBk^53(o^%jQciOX!p?^UL+E z%v9SGYPsH@Ju_{4gFRshqIk?gN zM3|&`o)l4HNl|zg$B69bJ;!u{n_Cwtqdy(t(K8CPA9+S-bY2;Tq|d zuoz|eNXKMRjC4()ka!0OvXX9>1(FYsRbq8rWP-vrvI$)mbn^Z%;!<5yvhyP9wty__2y#dZcVG0$_?F1- zE3vyTaA;(+|B{84$WAO)otP5e?Z#q0T;n$>$t+WeQiXs!GPc9+$}pge;A%H# zg;<`{F>feP?WCLbV!rUec8PO@>E6i~^2Dx=><;sHbZ&`T-3|`YoP9tV1;Rw_NXfmM zKpRK3@X-cNFFYM>;S9xS6Q_YN?X+{YV^ni1%|0?^q`ZsmoCi75=m8Ik%egWh`KEz6uGjFupw2=9(^(x5+}emb(=jK z0$W&Ax@60jnwF1u0v8N{y7!&XI6Js4OmfRq1BR*U`dT}r?u^wCWa{PVc5@a7){u;2 zriSDKlmH2~B9+woOifLz8ITkis{pHFL@na@3_3N0@`40w2nBQI%X{eht|C9+X4t;3 z%yiS{JPueQbj!x`c+hj-{|M9h0IF<2(%^7AMr~a-XGju5J9No!U;btqby@Ndb!&4j z!;(?q*v92>rR$A6kiL-3XRdDEyEmITF5a!1&0qL@f9ZV%f0Gt+sP5yX8*=!aoK1!x z|Jmm-Plqap)9t9_`qZiT;dC6bNVIi?jI;vXLP3%1fjZCjkCDO;v|ehzKYdC z$iVh$*VT&vF01ur^BQX11s8~z?_+0z8PH43sDuRi>y|+wFUZY=5_0xVkLgdE{M=jB zH;_)X3|VyH*i>7;kS0lAD5Ho-mQZd=jlzt87FSim*Fu(`>ghC|v zOoAfFV<9tygt8lHzu-T@X&j5RNCFY2qKKj>rgsy5-0D@d*2{TKYv&hiSZ|w*4Ci7r zH!qYBK2oVX-}8S+-2%HZ_ADVQ8$&tOIDJq{Xr}N-CeW91QmG4PI?g2gFU^A@EYdh5 z+jGi1g&TaXBKy=AW2Uz*JJibOO!Fa;vh&7En4q8X$-FS2cSoc@{=i!V|8XbrhJuEN z<^{bEujpGs`a#%#M&A(NFU0U8kf~Vyl7L*ysn^o*mr2a2sq;+Sl0|sCHe{VgYUucY(F literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..0c997f1f61054f488c3652b4e4b070dd14cabc32 GIT binary patch literal 4472 zcmb7I>u%#j6i)cTrL0&K_=ET}{8>4>t+B_K#M_IyXti2|5S0qQjhi^BS;vli$)(Fm zJOYovBk%}30#Cv-aL$<-XY8aEq-tExxy+gGeCNzeUtPcc_`~HduY2(Mr1x1Jrpf%a zda<}k;;g#L*KslEFME9y_a4>ZBC6sdiPG<)LEno7H73jea{|G#&IW^ILXr-MwlFVREFhkG|kuFM@!4mru zyo$p*OJ;eoNUH7d^r)*>);IGaua|ADqe~hzta`{UZ<1^Z5Ez`p+bSxU9t8mu7wkDJ z5vsU2JvwOYAF%x~-c)rFgKZ`L3ixKIUq;MVq_{_{7sfp*dKuiK(jxu6I$aLlqxj+g5%*QQ z<(;RRcPnVwciHjwIUNqmhj*v)*l311b_{AE-{mOck)&N8-$k}OQH zpo~?R0kNZ0C^>=)Y$c0ilIKM`eIQyT@mg0O606d<0-4Ru+s5Yl6qqH19E32Ts6TRT zZno@eBq67XL1-VNmm!pyvU0$xj8o_WhGkk%mo|MHQJNZHz!~7tI2aCx>kT0XtI#L7F*2!zl#!iHv`ItnoU;2JA8Mz>BdhBV$z<&4GR-SoIpBl{H7o+2Sx&%h z&mWJy!12eP&qtDZ!y)Vp%It3a-_7n>A#xBxa0H#2q`;8P0PoOtfzl%FC`4lXADEG} zi)cd$cFZk+jSF@OZFG$=jk+iyol(uE+<=V}7{hequS_JB zK^UMTIfCpzF+}%C?qYC;jYTg{8<&a|*V+BL{+Gudd4%&%!zu#DOQVS3 z1eKL&#KjWT+z!G%N#PV^AYoxD>I|U_jK5l z!eN;cIghUmsST?++m$-k9i)%weg%rQ6a?5Pd;Or=_1%)~`<{|-Le;g*jXn!) zblNPfvu<~qws3!*vNaFhffRvUERLpfnr0$VM8e5(mgN&~mK-vP%>zC*=N>*iE3n2c z7yNKtu~UktZMrV^1JB~N&jZJC+`zX2tn0mMmXoTp7+qN~a4lNoHkDyK5l3AE+!#or z=%%D!B&}-;NPSV#IKrX0;o->8K!Q}Zfo76S(w$|x9{u=ZE3gCK9YNf1iX=}!X{m;N z06g4x=0pm+^rh$|uiNIfJsqfdq$j^cJMA3*VJFbegziWj3gJnoLU`WEgW>5BUO;AW zZ&<*89n?j^xP+S{U9jl{+SD{%9@T|mr$d(&{ZK3REqTjiJ4Lz*AGl1MTxd#odv2nq fj(6bhf(U4r3VdytSj2EY&N??DTxhTNH~jnyy(#kg literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear_csm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..bf970d4059870bfdee9f078f896de394390b500d GIT binary patch literal 10003 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear_omni.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_linear_omni.bin new file mode 100644 index 0000000000000000000000000000000000000000..579fe02e907e3ecfcaaf82cce3012bbcb9d0f2ca GIT binary patch literal 6907 zcmbtZ-LB(E5l*-Oaaf5VZ~@}R+^n44bAsLei+5&@W>=#Dgn$vVTySN466cJyP8|6s zIcJuU;0<^HE_eYX9)U;T5qJdN0P3f^-FBSpN@O%~+*Ms&UG-IUb)8ple*T?TfBySl zC-9j~zTYNAe*d=lbbFU)yXJLy%&OURKbazV@un>O?sJcHf^2B zNq-udw4P00$l)KzmEP>LRa>N$ob{KHS@mrCS`L4^P4;P(Zfh}{K9OUyHfge^N`GBe z+qC#um1Vox^k0$)x*5dZXGKvSXVZU6>i2ro&x$siP5&clPkOZ9W}y3I%68CNxG>gf zQE%U*+kKJm?q8FRv*|x2@w;-fugf}b@)Gp>gQWaOo1tu8=2f;r@-KEfH2dEq&yST; znkL(|DRR8om(6claK&u;56ShdHd&QL2_u#q`Jhhfx9Pe({wm!&&g7fu!f$*y`R@-W zlXafn@5;K#S9ZDCTw7~!>H#DlvZUSR8?a>FJkFn94f*Q!?!GG9eV^;<1r6FxJGWlk z<-0YQz!n1D4ryhXT9ARV%KF5r(NtOW^lEf+I5PM1?4fC^4CXfcD-r8w8&BMVjJm1X zRb%~*b^oj=S6^6PURjociwm<3*~%yWYl9$831r37;STv1XzL5K`jkeora*CqY=+_) z7Ble9u=K+0EYA>wXBa;n0pcm^FdR-fjL4+0y~x3_dyxeL_#y*Dai9Kv9DXjt@0pB+ zTk8PROmG3@0NT&?6gAncb$7pcNM2Rx{mZmT9dixf-0ZAvn(vYv!`eP1J4#f{z;{f(mSyt;lgbhL;!Un-RC(0iZ4taJo^_f%f6j=k(T+Cmvp!#>C-#W7#OrdX9z*=WI-6f*2MxoVqyT6h(9$ zpu$}3b5Ps*DP}G~H~~_Odc~}lo`ycEvjR>J+gUh}&t3Yq)1p9CKrBF53z>sTA6gyl znL)#eKp)6QKcgJi`pCL*7M?>N*Nue}i)9=H&T>PR0;7PPV29a?k&Uy!vTE|VxdarU zMJ!Q7X9YCTdn+sIjBu$e?@EC4N^D2=iQ7XsQ>0q}f_=AWBO-XZMTPQ=rXyTnAIdl4 z)HiNG`;e$H+=?c-UZCeGtsvqaWWx+LzgC7~OURsQx{@Oal#Nvcbruzzm6R{M&RJ?fAu-#roP?5a zanr(8U^m30eJ(f*gr5y4pj~vBRuGK`77^Z82Nh}toR}TV$P$#K@LS0_=X&k5fpfGn zeenAu_8h?9KZU;__zMI6TKrc8fVdCK?3lp!E61kR#Y!EVH!Xv0h4Ltvpe5zEe= zl)d#nIlBu-EyKs8hmMnQ>cWMbr{M|Gu|B;k%ito)m z-qNMzOL(>560}L%qWMG~GHTC08Bbjvz&GA<@j&Y>7mxG=U(vYX!aha6^an=3 zjm_7M{9Ojpu+TSyB%mV&qOf-pMQvC_K-gDw>^k(D6yRDTZUf2}7r2f14=9r;-mx1c zpFvU&m1Vd)HFEznbY`Ci&OkYIRo@zcJgPW11ZN8T04sc%GY~vKv8l-BLIzd=gDMC~ zWo4}s1ms?_IXjr?AsXHEN)StzN;(=HFC|>dV?5k|??MOA)SCvCOMfETe^u6Yl|tiY zSHq;h8?d0+R|Pa*Y)nm|ODcw9j%YKdZu1>Z=h_{dbpvIk`(cs@;eN<2i6{a2 zY;HLj(ZzROosw}16p^+~22=I|F(7VV9*J9xMhHWguq2D~q91ny&cYP|fWl1O#0gV4 z4@x!UDWx-j(Q(GW#f^;8j+E+6>!rwVng=nCwo&uV{@74q2V1WSKoJIqjvSp#q!kfxGMr`jWDk1*o5$nWJpG#Dy z&wc?7XzJ5bb*W>NdeE%Lwbk)Zw^4W4%yyE=MeTImeHe5DJ7FHSE;ZYrH`uZHJ+?uo zuwx5)Y`w0EsT;NHskmV6d5@5TZjEi?UkB)pgFSnyxkkF8=o-~)#NX{{j9Efr|hD literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_omni.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_color_lighting_vsm_omni.bin new file mode 100644 index 0000000000000000000000000000000000000000..5856b2da46aa80af8671b7b07c40ad29c86376a4 GIT binary patch literal 6846 zcmb7J-LB(E5l*-OF|5Q8xBziuZdN|K=LEa`lXz$5Xm&LkKnNHy%LP})CvnbL>%@`m zaI5KG>z}tj+5pD}R|y#-1A1La&O|YS-jS z=uZPe%gOkq8vcQr>FqXO?8>ZGQhyncY9`}1YWUl`beq-Lx)GD{Q#Cf(rET8U*{`d5 zos~bU^L#TI|638sHjDWCyezA`$@o8t`n?|YvvQYD#{X5cr#;$lbFzIjmVPi+_%zm8 z(X8KQ>up(VZr`wtlkqpwfi;C>~gQEP%xS?ua6?MJ<`4^iF-2OMk^J5*9 zw#_%Y3>-PhvNFyE?rb*MI(+H`JhRgciFPK`&G8}ywNui!f$*y`qvLf zqh*oZZmOm&7H+j#T{=q&>Yg<3^K`cYQX-`70I6=c_QOqSr60Un8V6UPTR8_GI!6iAc4;^P!{*;?}y>%OZYuk zxp3|5Nz4WpL5`sPe9KvrUpqIqtNZkIo!!35+RU@(AkNjsS!cy2Es)mkKHYGkl1za_ zq_a=Asy5idmo!dbUsP4S>_gZh^dW2!f>Wx(L&Cnu?`(T6IC;vvC2hX*g1)tN)BA_V zXOusZCWyAIT6aI~6-y2#IAOm}WkmA_!~8O|LjvKj00KS49u2co*oU}d;$CO>F8=nZ zfU&{FB@gY>5UfsPiMA=uqHV?x1EXMV&%Bd=e&U9;tT0a?Sh0RwSqdmgNP>j z9#Kiw#GK4_eu~N^7$-zZU{@mTGGd5Plb5u6xZc#GdhYYLo0TO@A+-cyqvV22`q1fU z&n+4RiGH9TafTk>`N+BQrh&&F-%o^>hgC3;`b0PDJm=k!G2hb69JxXQlTSb=zt5YL&ruO z$HtF%9SSv8SmBa$@rlpGCw9)n#~25X!O1g<&?zTNKOjWpxq}$Z*>d{UN=}AZ1&P%l zJuQ#O33`z-1_Jk_nC%exkMlW0_jQQQZzyAkO)7D=kq8D;&~K{nL2h{&=JarJ>GqNu~SQwkP9h%+HYzr zCx?;$(=aecEclpK_5ZmY0LBrJB2JS$kmK_C-nk6Bn3`5;igRP%2zobX{yf z_xN}~!MdW8q38MX@a~1PFqwssANYLW*GkC1?h4U24FN3k&29S*YWoY05i!?Ajf5Fs zpoDc8_w?(5ksk|kGYv`VqaM>wB7Wqo3tYxxI-1ElOw;CDH<2chQu2i|ieBWQCF1=F ziBDnX!zFKPy^~JIY_>pV#vF)imxQt0MWeVwW31+htRcO7nXXV{V?73ZWD%6nMh%H& z@m4_ufWQG~NFG|eE8ssAo_I#y0Q5)-!l87x66P(9udSw1LxckDy6iCRFH%G5w$&Y9 za?L1UNCLQ<>PbKD2E3^+A_4{R81>9aA|ZQUnlY0b7B=ytrZEy13mK%{aj7Sg@m>ag zTQx8a-)MQe#dWB=M?2QdcYmHSjg#rUJqz!4)-1g)+2J&O;_*BUuR%sHnWB5DtHlh- zVKT=Q6Xit!PNlO-pZtC+Xz?f>^zns=@Ql2~n}K@fyV z>?O$Sqij}_>XR8aJ7KtGEwIgLXfE-j#s!G7n}+`YT8ch^I*VjVW5lQAriW0b5ry|q zf|&x7>Irz$Fyepl+)Ml<4rgRHbr4t+?Vr5&Qsh;upL{8?Xj%$0K0E7gSrHCeaC}pe z{a%GNpVq+0 zQouIjBIQCb<#gJETuN0O;;7-`8j>5y2j$f>-SGC#h&pod+`#&8Z)d(mjC)5TZ+|*K1T>f`dQ-#Nc~m zNcBm$@Clg`vIypwYQz8(yv{RK=qv!m&?%ws&qr<{0y{@PG^$oXz5Q@J>4SKWE_{K` zJ2-g4D|#g@ypZO5VPy7n?k~t<8qO%0YJQrFbR>#(#%YW xR&SYTMsJ-J&KdqNQkbbfF=Cj7(c{|$&LYQ}reoK~#IPN@cSc&1v8)fc{{uJ1HBJBk literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_hblur.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_hblur.bin new file mode 100644 index 0000000000000000000000000000000000000000..a42f409fb090497ef0bb3e01e046bdc5cf0a470d GIT binary patch literal 2767 zcmdT`&5oNe5T-r!K>H9rRi@1%d;Ejx{wRlP)k{y?J0by6qy!>D*kr4Hm%dkzz4i@y zsrd;I%J!746dw}X^UdIy4>RBG-KW<-e*XSt=<&jMv+*`x{UE*n?5_ziUX{Bq-x}Xd z!w6!3k))eEp5ru%CMXEAxbXA12)%6*M`^Z-^SyOx4so09Y>}ng^)bqvR-2e?Ei|3Q zNf0Ls44_wqpP~LK?)=qy8D{7M+SId4bJSUm_aNPsf_4X%;j%sBjb18E8L1-vCb; z*i#1HH(2PKiO@34QGu>el=<@<_HOD@ z7a8~K-qda~Mn*p;QpO}U00%07xu7HmaKPnmWNF}`keJw{9+EJkB)CARqfc7zQ^6eN z5W*F8B@v=A=y+5}rG(3*5)w*>DiI64M<>dF+Pi&|gg%kW9DNqyIEru~1%K8gPMXET z{rP7BEf*9Rqlzh)=(n0O;wpMJT!4Mx;+(T!Ef<6nCX~bVg`m;_phQ0J6eFZ`L3+OLcf59sPvrsF#WWZxt+)}C<#vgUa6q^75 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_hblur_vsm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_hblur_vsm.bin new file mode 100644 index 0000000000000000000000000000000000000000..441bee7d2d7eaf09fbe32d0b4c0d4bf4070eddd2 GIT binary patch literal 3383 zcmb`KPj8zr7{=KS)0A!B!KVqfH1c0CYghF!RlDre-4P9tAvF*YLeozBq&x1qZ?MZ= z0|^eLYHE=SF@9g$zt`~i;qvP1o8N!_{k7ot!g{+7)<421zx@`jFt%Q)yD#5cuisf# zl!l8eUzh3J&XZ({qPR$_uuQ8s*koyv7t6G~b51Ayxb^0GQRJJ|VbtWJzG>r)gD$Sq zEK0M5O)0dhut54MuEOQ&CN9t?v~K>LP6m_Rf!y!$w%imk~ zSO~ytJ#?_6`Qx-@`MEA)N?UO5rnC3YU8DkdPTp90wkjI_LiO_#AC| zIu0y>HMhK&cs}!pV8Zhx=E4 zT^h3!JPthDZ#?Fh3F&co(~0X*O0atv@%8{I;oFv(5|hD)SU{9Fzizih_cgrtJ`z5U0Chd_hCJM+l8@%(RyyT3*!f2 zJ@0#Rj=D(o-2j`~)TFk>!xmlDW#`w4-k^Ge=?z{#Pelx04q5NRKowVg5?R)NukOtd literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth.bin new file mode 100644 index 0000000000000000000000000000000000000000..e521cb580782d376de33a49a1aa57b0db30fcebe GIT binary patch literal 568 zcmb7C%TB{E5UeuvRAz6Z^Mo55f$S*i5S$^vU49$?Llbj(V}^IA!v%~sk&FhPCXu3nW! z*VQ!&IcBC+(}B-nRf>JSG^~7KmJxUc$BU<_NaFbfA)#Q)q{^jI++deidMB;astXI? z0|9Kf1qU+_h7}g$OA{QWG>eiE4T&e7QWCePn6`W5^8wre_BEIG;SnC8bA3M{NJu^M zzTE?_7W&+0fE^5d2>1KL(U<(PAkBCmNivQjnr0atCuv60c;spQFCUzSeL|Ea) z*qV7W^WO9B<>~t4=K1XP=kv<*3du@UAC1g$EyNuZTuaN0v^;B-6t%9TIgu5b;*RaU z)OFkZMj^}ey6GqI6!xX)vYlq-BQwm02e3T9UyCSAR|p9O6_YBHN^y;CR`ABWI*cn5 zctZdOZot9@gl4(H_@@^KF-?MKLFc~X8&f|VULhUsz~u?t!uLqx$itM%2C#*h3-hi! zoiE^#8TR|JF8a|j3}~DrbQ#47jl+do_rE;3EPqF6>ok-VS7ua=w}(1+F4qeCEg7kf c>SrlT>La_}n7_955;ZriRuiR{^}}a>0cWd|G5`Po literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_vsm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_vsm.bin new file mode 100644 index 0000000000000000000000000000000000000000..b0fd8c0908454c1b3118639e122403fb9fa9fc83 GIT binary patch literal 693 zcmbVK%TB{E5Ue@Sy0}BJ z$+Rl+OO$7+p5=81wt!8>%Vec#_DBs4-~lX4qZtp$V(NKZ!k!A52q~FHHp$gN7@=ev z=EJK8uww=+%mJYm48On~oLTtUhZ_iR%ze0R>hwfShK|fNO^s{7Qd0i_kvPVI8+hpM zifes0<+oTuDmm+jgSz0dtPnrkpk}%|2q$D1kH+J85{}04h}?6(-6#BuGO~?)OFwG# z!$v>+hknQV`Pq9n7r|xUnMd%kDpB)_aFz3$=PjLA*`7&r$_OoYDs?-dBnk?@<@#k- cg9UVer?~4Fe@(ldSu;~;*;$wBE6tjI0Y7TVH~;_u literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_vsm_linear.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_packdepth_vsm_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..48d1d07be889c35b632d8db72e1f29db6efa13e7 GIT binary patch literal 625 zcmbVKJx{|h5Um)^Phh#xL2Z;cq_p%y9Z*GQCML^G?O>^OD%Y`65dVfBisLpVgazT@ zEbH#wy?f8g=cnt>o7G#-pO>p%ZzEZ*ii43EE`;dAhHGh=k(Sd^Nm1yXG{<0qx^;(g zo$I39|Exlm>FM5g;B#2#qM}R9@<(P^1P@?&b~hCXnNJWB3U*8?DwX0ITe{(U^Xh6` zI)HZsu;m6U%s^|y}7aK;9XIE`(K8*Idw%$GR9L zV-lys(I_1!!%;dU_abQbAb**CA>N|V;*oeBlz1kT{DVtJ!`ZinZgd=0eYbub9_uSP zy^^r@>jR;MQ!d|eWg4yVVq0X++d|=}3>w`U%?ESnx_s|RswDJYBg^QY#EgJ!CB^y+AEG5IZe z*II#-=x3;sAP?np5aA2BBdkY!5kXqWKG|Ddd~(OPsP9DfvM8m7iYuKct%YUXkWFTc z&1YRO>OADw;^>3%2bew?NJdi1!Z6M(nHaP2#i!M0(t(1+p(UlTvl{=qmzF`C zP)I4gU+124?;pOrlJAl|f^~ylc4@;Dt6Tc^8A9;Fdfle&50=ZvudE>iy%_Fp-lO6< zLV3kXAzNK#jx35b&bg|3rmLQ(ou~?_>PkPkyVbQ{+Z{_KyXJqd)xlgkq;v7%Sc$w6 zr9&zF^-SS8iU(FVC$8{E+}hJ_wHO>N#D3#v-6;;S+MZIH?~8yYkfYVA%QXIOv41+r z>?i)c!gyi@qI#a)8vpg`&vI4YR^5*jB)EsLc}}PV9qk)K7Ekc8EY9h@V&!M18JX7r z&qCmuRU)l~;L7P!K%Ggc^3jhPEUtlh;u`mZVTv?>zVi-jn_O z8jTGE2V0T$cQS61xK&E?Z4uK1dNfA2nZdst_iqQ4 z{lWh{j8CdSRmZc>Hhjg2kMs3+Qly@Pqyl zHhAVxNEn1+d`+X}YQ0`w$E)>nMZbXWQ4khB_>8fmK!HLRoKy??|DhN{wR#}XG`7^? zNYMc5Cf~xHB6Ntj$@M>z3Sf?QK%Y41hx|AgNW>bD;^bVe9!vPe) literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_vblur.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_vblur.bin new file mode 100644 index 0000000000000000000000000000000000000000..a42f409fb090497ef0bb3e01e046bdc5cf0a470d GIT binary patch literal 2767 zcmdT`&5oNe5T-r!K>H9rRi@1%d;Ejx{wRlP)k{y?J0by6qy!>D*kr4Hm%dkzz4i@y zsrd;I%J!746dw}X^UdIy4>RBG-KW<-e*XSt=<&jMv+*`x{UE*n?5_ziUX{Bq-x}Xd z!w6!3k))eEp5ru%CMXEAxbXA12)%6*M`^Z-^SyOx4so09Y>}ng^)bqvR-2e?Ei|3Q zNf0Ls44_wqpP~LK?)=qy8D{7M+SId4bJSUm_aNPsf_4X%;j%sBjb18E8L1-vCb; z*i#1HH(2PKiO@34QGu>el=<@<_HOD@ z7a8~K-qda~Mn*p;QpO}U00%07xu7HmaKPnmWNF}`keJw{9+EJkB)CARqfc7zQ^6eN z5W*F8B@v=A=y+5}rG(3*5)w*>DiI64M<>dF+Pi&|gg%kW9DNqyIEru~1%K8gPMXET z{rP7BEf*9Rqlzh)=(n0O;wpMJT!4Mx;+(T!Ef<6nCX~bVg`m;_phQ0J6eFZ`L3+OLcf59sPvrsF#WWZxt+)}C<#vgUa6q^75 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowmaps_vblur_vsm.bin b/examples/runtime/shaders/wgsl/fs_shadowmaps_vblur_vsm.bin new file mode 100644 index 0000000000000000000000000000000000000000..441bee7d2d7eaf09fbe32d0b4c0d4bf4070eddd2 GIT binary patch literal 3383 zcmb`KPj8zr7{=KS)0A!B!KVqfH1c0CYghF!RlDre-4P9tAvF*YLeozBq&x1qZ?MZ= z0|^eLYHE=SF@9g$zt`~i;qvP1o8N!_{k7ot!g{+7)<421zx@`jFt%Q)yD#5cuisf# zl!l8eUzh3J&XZ({qPR$_uuQ8s*koyv7t6G~b51Ayxb^0GQRJJ|VbtWJzG>r)gD$Sq zEK0M5O)0dhut54MuEOQ&CN9t?v~K>LP6m_Rf!y!$w%imk~ zSO~ytJ#?_6`Qx-@`MEA)N?UO5rnC3YU8DkdPTp90wkjI_LiO_#AC| zIu0y>HMhK&cs}!pV8Zhx=E4 zT^h3!JPthDZ#?Fh3F&co(~0X*O0atv@%8{I;oFv(5|hD)SU{9Fzizih_cgrtJ`z5U0Chd_hCJM+l8@%(RyyT3*!f2 zJ@0#Rj=D(o-2j`~)TFk>!xmlDW#`w4-k^Ge=?z{#Pelx04q5NRKowVg5?R)NukOtd literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowvolume_color_lighting.bin b/examples/runtime/shaders/wgsl/fs_shadowvolume_color_lighting.bin new file mode 100644 index 0000000000000000000000000000000000000000..44fcacf5782b44a01fe134134a0f5d900889bb8e GIT binary patch literal 2762 zcma)8TaM#I6m@t{Waap+L`5X!a{ z{n-#du6dHL2E9Mc`=>Qu!7==>?M zi{$t4_t@<6e>vX=s{3$dKygjBpmtnks6X`iYNH?|uE~6rH2ifDufB_`*th+FWRgL# zWyU2Ah`UOa;J0~REN#Id+42lf7^j*V=#~K$=hvors>i9QfJe#K#NCc+ZhA3l9(Uvm zf)w4)Q3IGJL`yS});{D;xUD}+AOL|2*A_wNo+S~21X@S>!SL8nyZt!uC%|`I@EBrn zEgs>0JZdoU@#sn{P2G-myE3vWI;CGWhxVBED zyi?zD}Nq#|2Y_mIW}RUo=<(MJzJzQF7{rm%0&0Z1P-%zU2pLo6P)( zMw4&~zGofKF@;~4HwNgk4XQ1`|F=b}RSa=lic~BrGf$Wp^dDn|P^TWb!i?dH^fe8q z!E`nqvutJ3g}DE2{a|7LLvdXo0m0 z8Guiz0QStiU5A%_JgpKqVAk+G)t)Hs&AgUrB{O%Em$H(1<`H`gy2r~6d?LX2PM)cc zmUj8u2g{HgWYjTu=IFV&wuJEOXP<#OmELpEVLEzgGNpVq+0 zQouIjBIQCb<#gJETuN0O;;7-`8j>5y2j$f>-SGC#h&pod+`#&8Z)d(mjC)5TZ+|*K1T>f`dQ-#Nc~m zNcBm$@Clg`vIypwYQz8(yv{RK=qv!m&?%ws&qr<{0y{@PG^$oXz5Q@J>4SKWE_{K` zJ2-g4D|#g@ypZO5VPy7n?k~t<8qO%0YJQrFbR>#(#%YW xR&SYTMsJ-J&KdqNQkbbfF=Cj7(c{|$&LYQ}reoK~#IPN@cSc&1v8)fc{{uJ1HBJBk literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowvolume_svbackblank.bin b/examples/runtime/shaders/wgsl/fs_shadowvolume_svbackblank.bin new file mode 100644 index 0000000000000000000000000000000000000000..59c1b1918b6ab13b65891ffb4ff86d1ab8b16286 GIT binary patch literal 294 zcmZ9I%L>9U5Jl@Yg5Qv33o7-ovbA&}#l0U;(wYeYJ1J=r6!G7U6|HvG_ndo~;&hw_ z-;4GOy)frib3SdspTuaA{biA}ELFq=CTa=J-uCtZU%C`S0;+Rg`-oP_j3AmPp zX5zpMi|LL!UT;&_th0m=K-w^gr9|X9jOd-vF|Z$iaJ7uV&v+1$gEuxD%}3$kMMm?B cs{L+-VQixT?7hE5iSNhZk8c3d>5Zf)+Hs_CL>G2rueb^eqOpx<}QIF zdTK<^@=gk_bR*0wS))0x?TSjP?)aO9 zdaASIsKB;RRQx61Yg#>0Lp^wao|UVN2mW@A5SP$UA#))m)3~ZFQAx9>rI3}S7E09w z-Vi{|4D_&pmes5@czN$xo9=Yn%pMZ!6y|$3r@a_|sd%HxB!X$tV%&oZ!<`Vwz`}OY zY2sBJ#7P|b19m%NLFzBVC`rOJh>|e!V@?+Em-gKSwO#Np==(p~HjQ_LcHCB=VbXkO zj(0^TY9l1(L*_XjLnm;i1nw4gwJL2XmBe00PH~R?INPGJ3!0fu%ULA`ThlN21kuaa AegFUf literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowvolume_svbacktex2.bin b/examples/runtime/shaders/wgsl/fs_shadowvolume_svbacktex2.bin new file mode 100644 index 0000000000000000000000000000000000000000..4ab1479c246e394e0e595e355d1f0802c6a15af6 GIT binary patch literal 785 zcmcIj(N2Rf6kU9*KXH9)br=R?fMW{}X7Sw*AceK032T>9h{pKgzFCU8NHSl{?n9gA zo}PQsbGmzex}N>i$JK1M7qphDHKM|b^EvF97CkkhXGJFkSNb5#D_Nr{uI@=+(si8hRK+mdW#=~H{MuwfAOqXB zm5voJ<1kL*C>VOTt{0}kB3dO$l!mJ$S_LsDbNGwC}zsg`m97hzP#t?ESXP)TiSW$$4`rn=S@mC>&GSCNjJxakQZfufSP zJTtsHa?2U)p%djUmfKAd5h4+4t}s`K!q5;N1f~mzVS%z0^XbNY?I%9ilaN$;k6NJp jLOpJoKzh}szeFQtE*wz3)7U!l&PG^ga1!7R|2*pjs;gc2 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowvolume_svfrontcolor.bin b/examples/runtime/shaders/wgsl/fs_shadowvolume_svfrontcolor.bin new file mode 100644 index 0000000000000000000000000000000000000000..79e1ff23bc6af072ceb6764db5620ec33125de1f GIT binary patch literal 479 zcmZ9IQA@)x5XZA8A-;&8;2vA3rQL>hZk8c3d>5Zf)+Hs_CL>G2rueb^eqOpx<}QIF zNj|~ z^L=OCdAobQot@_6W;WXkT1nL!QDVjU9QI6$o*L1!ypw_}-3aqaR_Kz~c15LCcbKwJ zPxbmRD6kZYiofJrO{*trs0)wKvvRrSzL%~L;u0DvWG}AfgU!{vYM3!JBtU``W(;cHER5l`42p!n8Z2xl87Eps zeiTQ6$1Qd@V1D8)f-sJQ#1G>j^de5?@R#=e6}27k>}#&&`#;(?jdz4HZu4)LG~a>a ztms5-gv9(9c+Q8!2~49rHNZ(Bt5sGJdAYddoFaxofh1g)fMj3|lXd<+|=g{4MVmbX%HrFX)-`EzgR zYucjHs@jV0+&jZv_W(MNa*G??f*=K+xsl@Bjy3b;DdpFQMT2 zsMXAX%|rCtt~Hn%yT_>sX;{rlLngNq{8XX45?V9_&j}%L9UNc*Xuz8FmENUsnx#p^ zQM-0pJd46)nq|o>o@U83O1VFVzteBdnjS!eZ*#uc|C5djJb2!UBSEP1Lv|0|p>4xrqvu{Cs B^N0Wd literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_shadowvolume_svsideblank.bin b/examples/runtime/shaders/wgsl/fs_shadowvolume_svsideblank.bin new file mode 100644 index 0000000000000000000000000000000000000000..81890747d0ac505b3938dedf3d452c28bf5c29a1 GIT binary patch literal 294 zcmZ9Iy$*sf6oqlEiOz&3jnJ80ACRv0^1(&7xR$088?Jd=8QE3 k{Z%-4mf-XxOSfBsADW;CJMV8%zE+kNzb%96MJm2=VnzN6JcAG<;XhHEo`#p~<-ic5(?V6|xdiG93;( znl&@vsuUi;#YeINA$vMlJ+X$^9q%GP6z>n;TLeiw87Dr{NphEu#ZSA-OmA}Qgv3tbr1>C}CG=i;HnJlb5l0HLY`T>FT|Mp3>b)bm zVPn(wQdS0o=gqt~9=$ny`TY9n$InxM=Pn>kR<{>s*tvdt=K}8BzY2n*WTn!zl?By8 zL~!Irw#>?wXN{6Vo3peJ;hGHd>LxFZZZ7>SQd`p$7QS|+pDJCP;5z|$mWPkf@?y3T zNxX~5BO!awLnloL`&_D{R3)9_N6XCScMCgcvFw&~O^CxUzFEG5ycFNEgJI=8vutv! zftfh6P51v(b(pj3M%XA*Q z7TH7 Ck~x_s|RswDJYBg^QY#EgJ!CB^y+AEG5IZe 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 LjnH228~pnZRM=>@ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sms_mesh_pd.bin b/examples/runtime/shaders/wgsl/fs_sms_mesh_pd.bin new file mode 100644 index 0000000000000000000000000000000000000000..68ef5c52d53511dd56456e985c168f0425c42f26 GIT binary patch literal 8103 zcmchcU2oeq6o$QC4e8CWKQLYma_e}a_#vrHgJ2kn-V7Mf?b=XcIn|ojhAlfEUH|*u zLsGUP%JP-$He_Ow$9#Csc@ye<{QT+lkIR2Q4e)w3INMC_irX*cUyJq6KMV%=kJsz< zWc?+ZE*}2OmLVqL_3GEb^q0Y4T4cBL#kwqRg2ik$V$*z8Y_qc1=9A65m@QWKMfo&* zf7YD0-dx|V7MtbES!Y+~%^=(i+0}J1pBD4mfG7BAo2^)F6Q8sDx+%eK5_`jfXdKSaZzp0nWN*<&L)td4 z*;ZJ1pFIXR`^X@}fEckLSeN-S2w{L$h#|}@7Y_kVt=^O{#xVi5->`5jVuf!pduPdR zkOFKw(Ksi>0@1G@it^@*2}KG4hR~j6o4fLzIX!yAo==Rey*U2y11;ZANH780wFzV# zgo9(h)poF*#I*g`?u1qrGq7dzCpxHvA%J$fwJ1aOAKMLI)P{%j+U<}Tqz{I_+7x5g zt33N!{rLUGUQ@Hz-G|`}L!K(ZBOID>QEZ&DhvVVP73X|hO--9qDb`*d1bMs4CXDcK z{AfHMj-N*G6?v7~{kgcHrI^HY-aKkfF-V3u#il)Dnk87JeqA3H1<4hct0pVl-eWzoD zl>y<&fN;LYhz}x+09369(v$(~m=2tyDj=K+pzp@9Dj+-+5YF`&X~8l1FI?;4G*!Uj z91b&aR0V`n0rZ_X(yD;)R6x1_z=)3{jS5t46Gt{wz|wSNjXbIX(y0LYZXBxu(o+HH z0stc|I41w4YdxHX3OJm@!6uK2fOH~&z8lAifb>K_x&XjP3yw*D>DnfaYKXvL4s}!m zl+yt8ogB()fbujzInQIn=TJris@CIZXn=Lg;ha%NB|td|K;KPcB|v!+pq%3|(n4dB zU%A$!X-EKZbpEDMMe~50S@PItm&f?pq&Ju z@5ZqbpgjrDE&wpnf@6|jyVk>LNPxxZpgF1l+9?3~ZW^lq+EW1S{Ev|q8k76lwN0A1 zp#X<-CO)bFu~Pu_ogA@MfY?)j*f|~}K1Xa6plbIVbOpp;W{sD*Wzyf_V*Jd`=}r>L z)Vz`;i6oCw9^%@A#~--=y2lFk5k*jYXyKkbj9MOKn7`yHdhE^AK3||KtbOTFgo%#Q zDCDud6XAWXM4ZIfNy1YdD#~hFAkv5{og^w1I#D{J1=XeTE!&aAeUeb*^h!d{2`ZF` z_lN@Hr$kYGqR{V-(|INB6NP?noD4@)3Q{FEqt zroB9A+N(a(9>!1T71d|j!}tkNbf0Mt4IGc}`9nSVM7Q`}T!9B~b!W_OLkC!R~!%0aPvYJwg&K-9DM+d|p;1(%=deTNIxcb5pi!FO}}+m@@5)dPlvu%k~pZ6}hF1dVX1( nL^bQ(?o9=*rD{tUwI}%Wqp7!&r&c-Y((^_wm_P@EpYZR0>YZ<> literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sms_shadow.bin b/examples/runtime/shaders/wgsl/fs_sms_shadow.bin new file mode 100644 index 0000000000000000000000000000000000000000..d2a864a695a7c373d52632a600d54b0fa0e095a4 GIT binary patch literal 290 zcmZ9IK@Ng25JhoYFVSU5G$HCrkgzbsy$2u#+GY}&lF~LBz!mDjLc_F_E7}SJo?GyuatKnJ4(u&X$vii>S{d#7{}l1uWc_FmIjxnvR;A(U z$SqIko_f*jGP&L4DIpSR#{nxq6o$q0PUsvsOaKcL9)uJ!*gApsg9mV()8e9=uvsHZ XTs%Re^S2}o9Y$DZa8~t_zu)o%U}jk@ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sms_shadow_pd.bin b/examples/runtime/shaders/wgsl/fs_sms_shadow_pd.bin new file mode 100644 index 0000000000000000000000000000000000000000..1baa653041e111eb708ef58c25a6401dab3eae82 GIT binary patch literal 754 zcmb7CO;dv~5Jiu8ar^~)3~CXmAX?k$I8Mi#2gfs$LV_9Fz=VKp9sh-Y$N%NgCAHcQ zFNPTc*|)oI-^=LX?x1{EpBAn?>!?mLR_dpRlup<^=M~dOdu^ayAN!V-37X5I(jp}V z=ckY{B^s(l!;)GGUZ|e`79YJn%`1Q zz4ac5;v}kp<_08Hk&Wn z(ko$!XK3Qv>s|(a7{zgT*^S~b3NDcT|IQ78)+p2@pE9Xef|4QnjCZDx#=YM`H-+sC cU<j;)@*dt9%R0p83n-xFng9R* literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sss_deferred_combine.bin b/examples/runtime/shaders/wgsl/fs_sss_deferred_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..298b713bd5b99ed08a464dc79a3dd4cd9f79c985 GIT binary patch literal 3098 zcmb7G-EQMV6t)%+OZSckKy!sAY-&8?f0~UdgjU=yT%pQx6FX~>*pcnHNl_&ph6mx% zIOoiaW4mG1b*t8%IX~Zg=WpJB`1MWo-Ev{U^Og1bknGbs-8J97wk-IC=j$d}Rokj| ztXKH?>U-;Tlay7xOSg{oge>jQvBzQWvz>JQ&vq| ztaz2@bGFXvqD$MN%aTJ`rA6)>X6*L9DAz@~;Ua>s zF0GkH{vqA%w^_}8VvTycxw@z)$7;W2$M#TXpw_ClM6MUPE0_PHF5+Ha(eqNj?nLi% z9ZNjDIxhv`rGCA!+Go2Jy}pk0OC9@D#ZS3z+WN3++3zYje%@BAKiOYbjG0V@_@s56 zo)%rU@+dxYCgfo`zk0eHW(|9x({0H*FflX_@dY*)drHh~$?iA#F?nC7n_tp4bwIfH z1d@5lc4<*2MOkJw?-IzBRaMn%Ehh=lj1X_LmUW3>?@U4|zPL_PO~QPVwsX+wjY45C zrtCk$Y*2%v!zR1brz+7mW!Nm z?$}Pw7Kqe-m?`AOr*{Fn%Jl*GQSv`WZ*2Ks3xInFoc+M0?}J|gXCwk8;oB$J2ULOd z#{wY;?23}_(j(^_j;`3o_r$l4pd|t{%HFbk3qgV9U{p4aKBrB4v@oY;t=-Xk2E z{5g&nMZSo`$ctmoldca@sDscw<`2PPGhg5kCG65OoBf6y?K|=OwQkf z5yCzliM+E!lWj9#nrMN#1gk(l;9|>n+6UzOWtsRaV@}Da%>hJjh@OZOLh%M7unoaS ziiK-9?lt}An%+PYlTB;tK#)N!HZbQa$tRX=n~Z82g9;mZUt@S0#9Ck$tCA=lGdQ}C zqa+uY#2iw%^^U52@y<5A?GLZGgW#RN{mFMQ`3{RaOkUvM*h-)Tj+6j_ebWCQ=bHN& z7T+k}Fg2mu;Na`K6AhI?fe(iaT0D0r!?x~pl+tJLvbY=ik}9{6k{ECx?13q$S=xAf zpaUf$8qp>%wNX8W22jU?=~G}OhHyx|Tij7=qI%aowM(R<*o6OzO{m7vp{PXG6*d*sf1sZ5iPaN&p&Lfwq@77@ud6NGQMfW7!ucq5z!WqaEKOBPW6#)7%|Jl!Kq%i8 z&>7*~!w>2rKO!WTx*#@OSVtWc!M+$swPrdF_GcUdZy9dPw0l<{LpXlyIK=FLYD!880qv|v;(_(3S;@g9I}-foWMpfmi4#w Guk{~y*>b@E literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sss_gbuffer.bin b/examples/runtime/shaders/wgsl/fs_sss_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..0b71b17b227fe3a965e55b37063268711dfc57a7 GIT binary patch literal 3018 zcma)8+m53~5Vew*$oms5trWqIhwTg3?5s5p(JJqgcZ4xmNEjTz1SZ-)$d~3TQq|pt z2G2zCNMm<*T~3|4bbovK?L+$UpJ4-^A2vU=aZ(<#V@+X!J3r%ARX69Pq?;f0*54mC zn`4ojs=Dop)T;A*M~+!j^hsCrS$wUE95jkAB{^TptRcUUR{i?2eN&OI^nTBV?%HIa*QsAIKR)Gx@88j9(PTh{ z{(l{dmEM0jhQOXKlCx}24ySyGzctC}*Q84*0PVBXy+M3mlC323iky?8ii@hs8mrfd zQ$j+T+mSv764JVEj@l2uJ6M>t$zNMS%B&+j`ARPJpH^~cEls2%#=0d)$Gcl+Y~j^* zhVj*gtt?fTEbeeBKW^ZMB4A#~sbIMc<)b~v41B9x6tCG7nIXVIU=2zs7@!u}T!KPZ zSZjSOOuoSCj8nP;0cXJNm^;I)<*v12ArE8M8MX8{hvUJP1!1_r1^Gm{Lvx!vqAQgR zi{XwDo-b{9rpI9IapF_s3^Y!E_8V$55{e2pTAPUj1w7Kg!&#kCsUHDqV-s`J{?T-n zL=9ma>keXL6d7jJR&gkAjIZ5IsQcJQg-~iS9RmZBrB8`M+qlb6%(%kLga&QI%v@=J z$$ZErowb6Def#ktFMxLi*dFq?T*a28mVCEANA3B3g9tiF*wF7xGYl@3Ijqy%nTxcMbMb&3b zo4sJh&&gn^Y;%r?IETj88$xafoqk0;N8;x`2K`P9dI}&=E`f3vtl(12O9;qTQMe04 zm@5mzW*FqT7%b|9k^BTcOcLgD8b+ZDR}}UXU~(WN5T%Z^>QZ6`%1VL_+jgjjkp z^7IuD!8n*JRA8m#B@A&0JuTrfwA!r9Qfxa84Fr5FCkZsA_8K}P6ag|hNodta#gFd43prk?=#$=TK-SOzfE3t=lWgCS})? ze||_K7Wr<#nICHH)r$g{y1gh68B{2y1-?i9{i^yydS2*CmQ7u_v!o7OZ2B8?A<;OD zzHhf}*Id(%bVb$0?RY-arF=j->wtxY*_x>*CH{N2%)a1ups0**j X;GtTXhO8w~yCrd`^?i%a^3CR7tD{>V literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sss_linear_depth.bin b/examples/runtime/shaders/wgsl/fs_sss_linear_depth.bin new file mode 100644 index 0000000000000000000000000000000000000000..21e50dc2b431fd75a335df1f51ab2c4e71081097 GIT binary patch literal 785 zcmZuv!A^rf5GB26@a6}YIT=W3E$G2mN*ZH~_v*NOO^CSEq2Nr6J z-2>TK=FPnKW*(PMXW}9XEj%OZw2n(6Nl~4Tny@)1Rh-gNy-!U%y0m`qN6JXfMWtBc zh%ECUrIKl)n5J>fStew`)YhHZ!@R0qi;1N1H+h)7Ac zp{B`A3-Z7Z>d3Rdj`#LW@38YA0*xj1%VSfN6qc=9G=f#0ZQ@5s@&}^G6q9$IFf-#& z5XNK1IhBr%Q9vSuOuM|GW#qPu*HnRyeVF$ujayFVU1x$f@X|xfuBbcN%uu_j6ksJs zPkJL>efBolz}3IEEsUGKE{+<8V&;EhkbKZI+xsA*F)>5!1?8$2>nv~zxJZJx+px#a gnA3|MM=;3jN7VXp+_#pcq__`!K(--cSzvuzzY#|IIsgCw literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_sss_unlit.bin b/examples/runtime/shaders/wgsl/fs_sss_unlit.bin new file mode 100644 index 0000000000000000000000000000000000000000..23f93142debfb691136053e022d3cf97dd08cedc GIT binary patch literal 1297 zcmaJ>%Z{5c6wRV5`V*GAF;hZ$KblN5i)z$;Kfof4iI516jG>Tfez$?|x#u4H^8Dlb$MVzfaiy+5A6BcEx;V6~6LpDMRXON|@_HylJy6oOb;bCx7L&cP z?r~keKXBHcmMCi|`1Yh2=nm}<)kvOsarjn(V$S#+31&rP(uY8&?D0E`b@7_&_9QX4}ifvn}q-t@ZgRUdO+BBy$XFn z7#I6aF52ib(yxz1_)o&? zvfLo7>Rfb{ z!z7E7AYI7Iq5g^e)W_s1Lp!9*y)s3yx|7Vy{XB`%z)!N7>TW#1tIK$Ry4)S*uH^2d zA7{s$two|b&^L*hPRw*-=0c*Ix(Dzp0~GfyllW( NHsnLrtEE4Ie*qRSa>D=s literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_stencil_color_black.bin b/examples/runtime/shaders/wgsl/fs_stencil_color_black.bin new file mode 100644 index 0000000000000000000000000000000000000000..d2a864a695a7c373d52632a600d54b0fa0e095a4 GIT binary patch literal 290 zcmZ9IK@Ng25JhoYFVSU5G$HCrkgzbsy$2u#+GY}&lF~LBz!mDjLc_F_E7}SJo?GyuatKnJ4(u&X$vii>S{d#7{}l1uWc_FmIjxnvR;A(U z$SqIko_f*jGP&L4DIpSR#{nxq6o$q0PUsvsOaKcL9)uJ!*gApsg9mV()8e9=uvsHZ XTs%Re^S2}o9Y$DZa8~t_zu)o%U}jk@ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_stencil_color_lighting.bin b/examples/runtime/shaders/wgsl/fs_stencil_color_lighting.bin new file mode 100644 index 0000000000000000000000000000000000000000..3e19d79db5f23b3e1acbd0b57a37b1f77799d840 GIT binary patch literal 2597 zcmb7GOK;mo5T<~-P1H*v1U>JOY$Sn8y%Sq7iXupEfs0;R6x)@wloz2$f-lPs4D=`T zC-zt5oSA)4q^KS$!=^d&&FnnBnbo^r-+zDi`OA+Ed|o);maLNE;Z@IZzCnreL&+k! zzb`%}`5oWMG9O(1<6J4#tCHoZ*p?B`Sbi^K8H+q0^!|3h7(Opcwv%C4=3>zM%gC&^ zyZz=v9Eb0`~Y5Wjp)0QZIdX;2EEiset+pWJIVKP zk{5F8CSf=vJCVtX7qSwpjAfW)2U$FNZ~N!Cyxi=wq)gkWeqLndwjjT0)1RYc`-xFT z$>%;Hxw2hZR3#!O>~_}rRdp|d8#XsC_qQa4bfKeNz@*o z?}TVT0DzI(gdp3!24VsTw;I=E93LN_$WH_%y1(P2LPJ_`;ItVD9)k=aSQk*v&Xu45 z;SKUb=i@3@7C#5PoCN3wk#j)$Qolt>k{aI@z36(kSuXJmHrJ+BxKhHI70QsfP@yHc zCNt^jBI3CgPJP6mvVO9L_Iyeq03iQKZd`)pn$WQyw!C6SU;@QO6&aDd5Ge#e{ULh6 zP(0lS9mO*dQ7-D7QD_|GA`;ue^})?hoiik^^+0Y~L7UDRkE*Wtzaa~f0ezk_Fbd=V zrjFd`D5pl*9<)Co{y#fdY_^MKrW53lT?;6fj*mk;eL8+L&nKM?R6%iW1X@MTj#nf` zlfranXw=AU0hnD<;7Q8;ybD2=AVkFn;kf}e2Et@?0jD)u>plhty1SRUOq;aQY z0aEF}kEUhH|9Mh@qK4vxZmdEkSwrrOwB)V#n#SAw#)D33npkWz_cwgLOC1z*} zL0@Ry_yKeytU%Lm#juWGx+1T!kx(iyH*4E&1{U}ps!?^J9AW-o$7{&+f5Kl7!(qO19I5zzS(m(6QM7GoUzPwUnhtrxw@Fxs=*3(DP?=wPNN8lGyR z;RzFsq|g~ZKr!$t4dM1Xz_%QG-MP2$^#Z=CB(b_*FJF5njJkF&T!N!DIf3w^u47Ye ZzHqVPWY-HO6GfTDXBlF^j^p?I-d7{Z$Lat8 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_stencil_color_texture.bin b/examples/runtime/shaders/wgsl/fs_stencil_color_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..f0a81406e18f7e2b94ad169c907e2cc010c6099a GIT binary patch literal 1019 zcmZuw+m4$s5T)CPO7x}b2UPP^ftp3wKrRhM(Y9LkecNY5z#yxM9hu9Lt@h9QaUGkG z%_gytY|zY^bLI^94?o|_Pf2Xyy0PB1X)ZTXeSBkC_~5eZv|;^s{n5t&TsNPse{U_T z;8`VP-SFIzWjTR@Dc)rb?^xOjUP`s)&E8$w=W%tru9R$ducPdh`RMqq3#&C31s9b= z=J?iS3SKxoWZT__DfkNYa9i3}Q|U$KFV;7$Vwj0~^ev@DTn02jgt}2}-oWpH_uWS3 zf8ehTaOei+bSw`|^u&I?UXctHGNpVq+0 zQouIjBIQCb<#gJETuN0O;;7-`8j>5y2j$f>-SGC#h&pod+`#&8Z)d(mjC)5TZ+|*K1T>f`dQ-#Nc~m zNcBm$@Clg`vIypwYQz8(yv{RK=qv!m&?%ws&qr<{0y{@PG^$oXz5Q@J>4SKWE_{K` zJ2-g4D|#g@ypZO5VPy7n?k~t<8qO%0YJQrFbR>#(#%YW xR&SYTMsJ-J&KdqNQkbbfF=Cj7(c{|$&LYQ}reoK~#IPN@cSc&1v8)fc{{uJ1HBJBk literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_stencil_texture.bin b/examples/runtime/shaders/wgsl/fs_stencil_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..11d53d0a48519724ce76a8db03dd88f186cdd399 GIT binary patch literal 560 zcmZvaPfNrw5XIwqi{C-!Bq>x_s|RswDJYBg^QY#EgJ!CB^y+AEG5IZe z*II#-=x3;sAP?np5aA2BBdkY!5kXqWKG|Ddd~(OPsP9DfvM8m7iYuKct%YUXkWFTc z&1YRO>OAfQeSo=IIc#cqCb5&yHmU%vKmuvig)4*xCmE-sb?nH0O^b?n z1m1}k;X%0IoSE@o94<)JI6mh)XU@+zXXfquZ$JC}hkw4e;PcY@xZtG}53dH6^$|*} z&kG*O-F^Np$?k%!EV9wXpVoy^y()Ni5St#Y%eQt(X@CFy8zFp^=$ zb8-9{g|77iSAOx@`fF%eTN&))B+KQ-PQq|Pwjz~fkjql=B9>v2?q&Wsz8aq5vSPhU zlj6`t4R4juc8f8&UCVeY<^Jh$(JP4zpjR7Oq~rc7N;V%j<&^w3Bt*9i%=SS(JI<8JM9FpWKvRlMTW$*7 zSD1$N6{_Zaalik4OqV{O57IPvylz4wUa`{gDrn7(|AaoDuPD_Oy*ABVkrF(dRt#zh z{klFVDu@+X@4_R0n+CgYf;@2B(E~D!p{6qC61i%ZJO<7Lkp@k5ok@x8+ayW4HP)sQ8-nh}EyNTMcInjn#yLJdkuL~JbmN_) zLL)y*K5IvU%OG`#B5%pPQza-sc!R{ziQ39lh4%q3rwrX7(g&m~^;?uA2jja!&->o1 zEEl*2_qAyyTq>bg31vuZsL+C36HktH5pmrLPF=(|SwB^V)%uh|0I-o7xp4`WD?%MN z?0ChDzyykmDsoA(TpS<(>Q2xLhBDTD&`~@S5oMyz8HL6{CL*!PZ5P~3)H)MlS02bs zCuq}I<5ATWe;cwO8PI2wfl(j_Fm>ccPdPKn?hgDJ;{TG4sG&Ha8>>(d%^`WPJGKiI5?!{* zVm3E6)Mg$!Xjw)g-sSgL2@g#n=rgTz9zb`A6=?e{Io1(Om*fpL5=sT;W}a7*firiE zYE+#mhnXLoQ7Eb&B;ARusDsXwnlq-Kl(i$-Byld|LR59@Z4aD9NatmRAY`42;6wEa z<6Un9;|UJh*5)#EiO(xI?l$BZNA`Bi|L$t3+7I#>7|L$OkRCtLte~m zL3pYy2v698NFL?C6*?AT6T!v9wyO-lUTta4ym2QI*O__h&tJGpy7XsrM*RiO!Z&sL zxcL9H?yS*y(UTUVJvnuO4XuI0d_8dBsk8MlTjZ>|g#iDrhIj=C;nd#4eX%;G?OV7O z!Tm0Y)g|rxaou3lb)o5$KBKC`yMd{Dni_BIQw)aAiZmd+6xJyyvYxp&bclg3^~_8K QT=(LWs$i0qAt3Wx9jn&j&}UB&4RA2e`t@wXq_2M^v5Ed3uRf8%%F3%Z$2(EIT3yP$_#2!k-%4wEGDc9TS#b#zZX zAEF?nhW;I)12rHO;c86o9$rOmniAX%ThAoDOfab;t2*ZzKu4at6egwh8@sZo7pt0a SnUnyMs8;etF~9MLgZ}_Vg`_M1 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_terrain_render.bin b/examples/runtime/shaders/wgsl/fs_terrain_render.bin new file mode 100644 index 0000000000000000000000000000000000000000..179300882150b84253fdc9e939833bd829716c3d GIT binary patch literal 884 zcmZuvU5lJB6iv4;#ZoB!0p&iGxVU0;wqN7QP|DKxX`f1wj7AC7C^3q&rT@KmqHcEv zgGdtYJ?GqWa=-ufvU!`t1lJXL(WfofyzbsSBLqKOuljUf^LEecwh}rZ&rg?E?+C+9 zE_tb%&d7{5Md3j%v>dpRgGhTNi$>Sd9Nn#RS=aT4Qa62jUghlUB@KEPb_c0)sY=Q| z;c4I+&ScDL;4^fSuC24$9j!Hg7o+L5z-BY;(lC#UC`=HfGrG?V{Fu~#shaFJ{BZ!; zCtt9MYt4`GAhL~Z@*wOJ&-uG9fK3A8*^UGTM0kphoH$+FTH{0lhq4&cd(F$Q-0%R4 zABnKCP*8KJQmK^CbVyNu)-*bw>q0BYwSp^QU`QF}o94F2N9&p`h2M;G%2nCL>JqgjQKP=(?1N-rBK z1h|{eND%lD`xvo+ZP@Mm2!FTXhiFq+nhSUC{=0+V;R$;AS@f-qr9d}pq0C|*-C?Zw oN*iUL+LI9{yB8a861b>bGPe$|Ct+o3fe%bwWO))p$ZG=RANi9Mr2qf` literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_terrain_render_normal.bin b/examples/runtime/shaders/wgsl/fs_terrain_render_normal.bin new file mode 100644 index 0000000000000000000000000000000000000000..b7238e8eb478989a0643aa3a1cb994704005c449 GIT binary patch literal 846 zcmZvaQH#_t5Xa;BB0U801IRo{D!tNnebMceMda{(^+}{;+q49?NlBB^J@LCcO}gjp z(vXKF%zx%TzsbY?+pT(68a5Rk_(Jzm2ZS8o@#{g zbb=2s#%C5k6Y(paLYyyvFPC9Cb{MF{$+M$)!?-7aCEE#TH>qh{l^tJj3W&=6Z_D9|6>C-6yq3%@hN z7TT@G>CZ4T=X`U{cYe6L|NQFrV)RSHc&_!Tpiag5i-^jLGfl%6<7E}B%5=G$i;J^2 z&0cR6lw$KSpXY_8os-o0TkW;nyjQZ8_N>{ye4%M^8qTsDFp-`oNuR}{Nb9gnYY|jg zn&ibIEw{!^?^teCO=m@3Ef1x7w{larDudll(=1N2na(||>abv~Y4_m*Ru}9YTdAj; z-bq#aiRM?aDXT(26K>K|V8`Rcu_u2);C>gPq2Pb7cTVX3%Yao`R8h&kDdIlN^XNPK z(POL)9_+3~G>{hevP?_{osj}4gd`T0iCuPepg?kl zVQwT)$4nq2zMYMo!G1EJIc%(efKSQASe&k+u!zZF#tMO|$msb2KgI9>oT%ugJF$;+ zhqU3500pvhJi@Ua%~7g)oR@G(L@GhxuqEB4|7(tg0cLQ+fLyn+#!M>MLBRf@MkG*3 zhxk{Z3hfFj&V4ythr6zC`QDK8q+^~-<}LHJ9!^)d$p+aw0^46_o3XZhS84P2X#JorZ-M?IkH6H*vCOtfR(HuH{V z2ddPB67-IR$jZlNq2HpZ;q{Pbvd5op8m)|MSWjC>Do9(maMkYq|1N|*fcnQoo1aI&x$ReeAUFVKwD*1OobUN(N> z(X|$-kzo2N&50uMfonA2&tpP{ApH74V6$jRa&FvT^~(u zj4dYJX3+WY?ZI-+>%4hn;3uZZTJVoDfV26OQXB-eiO)2a{9kMi0@QHH^k* dLk}@5lrz-e^)eIf1h7bP=><)1rvD3!{Q~ULwX6UD literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_update_3d.bin b/examples/runtime/shaders/wgsl/fs_update_3d.bin new file mode 100644 index 0000000000000000000000000000000000000000..48232e18913f0e33466fec72eff83fbe7ac9f649 GIT binary patch literal 829 zcmZ{iQBQ*~5XaGnJ>ZM+1DJaT`VX{*=oQ=+03!@g*a0zY$sTrx z%su4qwi%5JEb4m=F5qkHqKT4mQhNrS*El^FrnciXZTUg}PkY9gF=+Gk9%#7bo*}M+ ra<$__=D1aO<^7EgN39`AibsVH%(iAM>m09NjRXT^ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_update_cmp.bin b/examples/runtime/shaders/wgsl/fs_update_cmp.bin new file mode 100644 index 0000000000000000000000000000000000000000..f22c6d94340778001e42a5ba7f00d10d1d5a11e3 GIT binary patch literal 592 zcmZ`%-%GIj(8bLaVm^i*jSzB!25boC=u>S&)ZkymeH=QNxZ_b;&fmKy#=z?%C1cWb%{s zrqv85(a%sNK_2pT5a9;o2x}{!MUWP}PqvyC@6=Eq@g2(^CnT3pQ6Uo{CDWuEvdNUv z`G{LvoCjYn%=f%byax;9=xJ28Jhiz5@|$DT@8K5w)f4yNZjcpNI$}E>X8ny}a8zC~ rY1~mNiA$B?yC`YH{a5mR1T*Ah+qyaL8aV+p!#L&4?;vLQEspa8^Krh? literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_upsample.bin b/examples/runtime/shaders/wgsl/fs_upsample.bin new file mode 100644 index 0000000000000000000000000000000000000000..763adbe9d54e2d51da9ede7e943e254a626b2374 GIT binary patch literal 1609 zcmcIkO>d(x5OuriCB0Pr0joJx(9#G$WGC>M%~oU51Xv#Tb0 zk%x+wE;+AK&Tq*31tAHKQjz6~$5zIe0|}K}M~Z727J{=(?h(RXPLA{PVw=jWI1IBU zYZJ8G!iM#hi-e2R^1kDnjwG1lH_`sEqY{2VUayvulU07d=r=7@At@GN1Jx?@lNFo! z0T$;<7O{dqHQS%NEPjU92|!O6tkX1}n+nHlb?OYa-cEDzYA&lrkpMK7^$$cE*x>45 zw4(uRQ&xsgGD;sK6}kO0Fp~+`M_k~91eKPqW)f$aOqx93(6mhtJE}m39z1}a_WD_3 z5A~K`ZH3;n{0Pl3bdRt;POVLwH)$^)p+%E6H)%(NAHeFKM)7)XmYHEQ4ree?2L`>| zRg%}eV0`9)J9U|D+i;63&tEVb?!X!Wyux)*g!uq`EOgZI1og4dTkeZb;*PTGumg9$ zRkDx8-3+xS``GBH`zLZY=-nstU)*~)xBjYYb#KjG?F?pG;svXGg`pknsZj0xx7KJ? p=(L$IcG*L#{i5}O`v8tITPrgbaoS4ErIr+}QXH94MTQW--#l4ZfF@#Nq67yg1@;OtUL zZMzUM%f6X;@6FB^k0*n#-yaLtk#$^0C6T14&IXo+FD|=^6kXkmT*wh3a2=gn-xwr} zWL#8=#g0f*4-zU_LlkRhRCAUJSupkHj_qAsRWCCs>heFzo|&J{sCHqtWISO!bNn0J zHAF(sVL^&ArxI?VYNN4zFg4iAe4;B=ONyDOM@LbROwy|$#0r&?b*$jI<$afn_ys;} zfX)s~YG{0I;GX??xTW8=oUGM{&|unjNo<5-CZ+L-hOo@iRWz3*dmxI8wtFBlr%}>0MiE_x6qSFmqEHrv=bf3$R)~%f;+~@o>gm1C-^di c9;t83W-!K!!=4#olH%0)jtWi2vQF{&1C0#%+5i9m literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_vectordisplay_blur.bin b/examples/runtime/shaders/wgsl/fs_vectordisplay_blur.bin new file mode 100644 index 0000000000000000000000000000000000000000..ad41bcc05662868bfe1fb6d57c6d381ecdab37bc GIT binary patch literal 2046 zcmcgt&5qMB5YFxe6fTG-@ChYsx3Zmox>OaQ7581vQQA6HM4MF34_y!^-ivqP6?g*1 zc9S@5B@SEGt)fik=bJyz+}?e9aq;udZv)Py@w|?=2~RfVs|&+`KOD1+E4KSktP74o z0?y@Ys**wdaS-!GJ2vn1B)cbIkY_@C0(OXoiw~2XDl^$u{vt3nl2AU9$c#G-sCUxi( zER+?m7Zv)f{C>YK7GKbJ6QMR8pwzI1E5%3VkJFGuLEh}6pP~lTbdvxC!Q5E)VLsEG-B2hUDyyqiD( zibVx$+yB3{|VRZu6 z!(NEJ$d6JRT_NjCuz?O6cCe8`b-ci*LFk9RM^kX=e7KR0OK=NJNF-0-kRXU~6ncc5 z7nth6UWdESGvpV$zUu~o=RO9vza*-T#8YwkE_DJ*9OAg)W9$$6=Sp6zeg6pJzr}To z+Z9saK2;$FR@b?Lc%se~P~Alp#6K>oHl4`9g#0Fk-NAT%R_k;|O QGuU+bK`6o*!*~h5zayVyrT_o{ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_vectordisplay_fb.bin b/examples/runtime/shaders/wgsl/fs_vectordisplay_fb.bin new file mode 100644 index 0000000000000000000000000000000000000000..d83ee091dfadc64088e86f2b89b6fa6f1219406f GIT binary patch literal 811 zcmZ{i&rX9t5XPw|gBRly%*iYbHne&$wvt9oyd509M(nr-goS}G3}c#h7kZ@fgD zCPL<#heXD)3lUSiq?(s3CruM!rFII_?MYgN5=jKo16%Nc-Ttr+XWPFWZ zB~{S&u%v0WW(sZ~uWwVkH*|6k`NTH5Pz)o{Pjw3>(Ja24_?RKrst7ea*L~luW%vT` zHb8>|gGv@&8M$kJ^p_mhC1+drK9m^NO^Joj%q%mUm=CKY-UJIplLxA)*R6rdSU^g- z2)GbTkunI)1iB&@%4#&Blq%XrPfUl7>3uKzEs!?LuwhW+BrV@9CHD~dPC3VcVT*)} zM;>lK_g#(}cB5AZx1eGcqt%oN-FPE&1dSUbg&BLl$5vzb{^$6@hgMlF(ciobj2@J` Uex^8W#c(ae-dL*EE$bAYUw(W9%>V!Z literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_vt_mip.bin b/examples/runtime/shaders/wgsl/fs_vt_mip.bin new file mode 100644 index 0000000000000000000000000000000000000000..a2d6bab9ec51b58c1321ab03ab6ec7ca7eaa3ffe GIT binary patch literal 1052 zcmZuwO^=%}5M|pNJ#@7{pqisuB@|2`q)Aa!tyaBPJtG1(LM3)Y3?i-iAN!L!Hi_ya zB?rs%-h90A%j>tV@8pMU8$fc5ivdeph$0KU}liqw4xn!S^ZkODoGC@XH0b zo-Tw>FtBp5;StSdcQCz%f4lD1^ddp;!FJb(3N?}tFGJC7&SPdUV4B@{?YbI27(pz9 zUCqb*wJYkELKT7C1DRaFzGy_=2*ElsZw7%Ma1Z8p(@~u63~M&EIxn&Fxu?BB zRER6Ecq#JOc+jg!tndoM7+S(d?T%^Xcu#ek)XonB&73+RGcu2Z%#}ZC?#e&uBk?>G z{0~P#LA0V_oTO>Iijp)==#o!$Z@hs|d$A{$4TGsJo~AIKKW7l?{j6Q>PL8J9Godan tB3m>*{)wb8mbG_bjDK;{JcAqNrK>U8{|#vt)-lz0;>OZ?7{>wp{RQr&JKO*O literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_vt_unlit.bin b/examples/runtime/shaders/wgsl/fs_vt_unlit.bin new file mode 100644 index 0000000000000000000000000000000000000000..02e138e1678ac710955cdaa7d7e8b960f8ae802c GIT binary patch literal 1629 zcma)6!ET#C5G84QaSyHX0o9zUB_Whuha_%X%c`oVhu+ej(Ha(niot?~;8gw5eobe0 zu?)nniZ9-oc{B6g&g}ie*Vo0n#oWU0rS+x`8W~hV$}~@^fSsMZwN8|4?4f69?mU&k zY>hgiFH<>8mBUI+! z-Q*yi9fp55q!7NN$D(;WWs4(e=&YY-htZP!Zzt2E8UEEwCCfUL@WaUYIV-}S@M{7v zyl9F<8WCP;3eGb(8@hiVmWrAN=iSvUpg~x_FlvK0G2iG*77JJzG?T$H2Z|q$%KR^pzsL>ap%yuBbsiD(*$4u3<1$5Y7sy)t;m)N2C2pXmkzF=nq3a>s~$rdtf?rq0aUH_?cUjFzGs zBQAJhPuTS0@bXk&}Wx(Tj(jm)qS(QX(qLK2L zxImeFl&OcIo}y=JsbZsAGgV`T2+T5;le$m+L~2H!hde5sM#DIg%P7?;Xr8j6SOZtL z(x}&fX1g8m-0RgbM(#)t*Vhm$*JuFsq~b7$WC@ckD*{rT&w39e5jpY4kKvMpDeSD#KMc;oux^U36< zE^nLlW?Nrp>*exH+*EDdmD{?jid|DL*X^p_9%kp$=eW)8>b70)?%zjEH`{i1y%j(9 zUBA6sU;i%NO@$aAF1`_E+m?rmuDUiCORW}XLhlx5)5q!bG9}DtHxrjvb#qfUx0%GB zu52#`E(_5i!)f;O=`^?fLu0WRn|>WH%--MU2%2Y z1N6Y8D;f;AygQA~692nuE4o68*P=(%4;A|NzoCv0JwO2fSiV1o^bk56LuLp)977hN zY`DO1i3Qmh>MOHEE%HMUr*L5Yplj?jmFK=Q9d7P~P!QdS1i zR_mZG2rkjq6>1hSDyM`!vOpi|FB=>NXpG0GmNUSg@ui%s4Fp2gd#9b3>}?t^S?82D z+8Ynr+8D!;EIPOl@YY_D)zYAoib8>&Eg0hAUW2WF7WVfD28zeXMv;q8gZaCT|GEfHkNeO8gDmoZA+99^c zpbf#&FtyiCTXq9$3Qoi2HW}A3OONp+LuB)RK)ZJa6}2bGqQlU_tjL%ELd*o+3Ca%!)e{4mViO$bp}t^=LtBLrDfY_2p2PBaSuHct ziuaGQ!6e0c1*bWb9m7^bhe0h#arS~`tP^Dw>K(;$mpq4s%wQ9+o(bOMz@u6i7)pRb z`9Ly&Fb^S$go;;~q!L)o1^%h@5B2CotXPDxg+NPpTK8kPUW)9?3%40Gri%z5Q*ot?o}M z`s@tDEw47&&Hc?jZEeY>L*$UnhgceTR|MeW{+ITyr|fZmTh&b#KiI}7-$xYghXluu zhoM6hD`NM+#>d$R^!R$(ySjp7tpA#&{tP1PX~@A&Izlk*^UQ;>=FkS9DdeKI)!|A tKsdIigULsa3-g6I!s21(iBcNYvja%vb#jbotL?6Bo((IKolFR?zW^(Oaftu` literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/fs_wf_wireframe.bin b/examples/runtime/shaders/wgsl/fs_wf_wireframe.bin new file mode 100644 index 0000000000000000000000000000000000000000..694528f318da09bd932d5ba99817748f20b64e3f GIT binary patch literal 918 zcmZWn!H%0S5T)v+qPKp*9L<)X5Rx34EQ+cs>b>fzS|LMhYAx8v7#gt;q%IS(`60Sv~J(M_B{OJ^N6pLprur;5d~44hj3zA z^wfx+Wt|jU=~|c}*!go@+vTNJU2}`_Tcf+ez}NBU$4V8C@Y4sF#Nh)_t?97uS+U;p zWR-@HbZO{6`~JZZl4TdbAs6x_WJzND(^I{_cuAp0hX2`jzHj@DbInr7OMcFdnwFoa zp-Ti`g%HUl)Kth!NXazmv%DAq$;C-o;ZY^ckrpV9y89m9Q9(k;%*nI7^^R0i3(oovS4Xal&7_&VxE3Nym#4ld!@_JlJU S7lUS|({i?m*1YE}@$(n9%^6q# literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_albedo_output.bin b/examples/runtime/shaders/wgsl/vs_albedo_output.bin new file mode 100644 index 0000000000000000000000000000000000000000..6ccf2ff433f6e3ae27519de25904179db2193caf GIT binary patch literal 1394 zcmaJ>-LBF=5MGWLll8_&*vq0wpe>;1AR%6PX=3!on5Mv%td?D}-L0TGiBID5_#8fo zvp=NW9t4sp-TCI5*_m(n^x@r81fSP`e*e8ePjt2yTUz#eE7Ui~2^_ zAHH~u(3a&pE-J+~ktm8G*;2{sT(O#FnzKU4JyWN_9q!^Pz1~To4$3%eBbPEiE!u7}(SW(fcx5w2V?7|NHRD^x zclM>u<-!-cBsFk!)8AoiFb8`z3K*#9meh3P3V7&_ojbAhJ#;76-RX7r)VbsTkk771 z&pYmdLoXT680S<*d3F#LQ%vwSY)JA<(c?x4xgEE&5A0w{s-PvW$Qu&XBQKrLWA=qS zZ+g^X9vuzeInU@6y!{xG$!J^*Kr+Pk*^{2t7jQySLuMYpVji9F7;1tsxj95*Aa?Xa zVt)G^$pugY^`JBWnGzjGz%&I=t5fa@vmnyb&AW#nPp^H&xXP;2el1Gd-PKyN5)Pwt z#|F@uy_-U_04rD(SUbUuq7C3IQFnK!@dWL?%_aFSlo5}zH literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_assao.bin b/examples/runtime/shaders/wgsl/vs_assao.bin new file mode 100644 index 0000000000000000000000000000000000000000..896db3288ec9207f0ccbacbcc59bba7c6ad22fc4 GIT binary patch literal 775 zcmZvZzfQw25XN29$qeuW$YX*+)PzoLi6SOOBt%y$f1JvY*p=gi7SxC2jW{Qba02#Z z-`#iL{cij6bcx`|n`kpbR}HOX&dM!kAJ0m@&1VSBO&EP&Ae8fDCuFU8=E$P(NX`^* z6U|#j8^H^yDz1<28c*};CfzC7?8jNS)~d-gdF@LdOPRgXfCl6X6Eg8ZR-{Vw^03?# z_hIDW6UK2T=`0$T#3>g!7rXA!CTeqb6Ok4Qr}}G*P0qga&L9U`u1L$WUi@!3?89N# z8^VPEGh9$E1XE5z_p;`iOJS>cB%zueGAUKQurR*P!-q6QC zj$WT03H(Lj0(b($gdlA7UK>_t(wYlR>tmJ5vU3rq4KLx-8I)a6s77PJM+}RBB}-xO znuLK@52Rm4%M^?|pm9bumi3Xgr5wN(Ez@IQcM+L7|Cj%Wc}GJr-6&yKJ3!tulpub> L=wgPhQ4IG7A6)i0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_assao_gbuffer.bin b/examples/runtime/shaders/wgsl/vs_assao_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..679d0f6a014725f1d829d83c6dbc55d88367230c GIT binary patch literal 1176 zcmZ`&OODe(5Osz~NM->?sHGh;mOn`rlS~w`Vug?pvq8vm;&#;FbVr@GNrI5L0yp6h z9E_@NM|M0jj%2H=UcY)(_44rP{VNBbKYwTcZk*Rux|2C8A2|E*QOR$^f#VD*?YwL< z!@;VFe85D`v#pQ^%{QJbiZSF&@jBDIW@#mOA=QrSlRtO+xI?wxDp~EXQSL#jYNO$^ zz51?{o9}6qM)1=G=qZCc*kyWhoGgkYUXEJ;CNib6)1sS(s6xyy*Ik*iURe3CT62+e zu{DP}Q;SCN5^Ch=YnZz(VfLm!h8UD}2Q}MR0guzMO(#a*<8)%v@g-dd?1zh#3&E6^ zr2=P{m0gZ8Wa(ZWxaLxHOH*94<3>uAhh0|R%&lY^#ZKTJygKL)anyEzH81SJv0E!R zU7gNjh=Q>2ajO89d`jf4<`KjMfVV_$`}c19cV^~}?UJ9F=e6p-g#0UXmDTB#B+&=8 z&<90?MuZ<6PiG&|VKD8LG!dhcc6CofAjx$ao5Rc=64KEf;0U4_QP0UPjUhD`Iz60r zYgw9^uGSSVG3Z?;<|Fa$YAG04p?~qeAO$&$02j;HnUH5&NYp?Y+gM*%%hpWce%;0) zUVDdJ{IpYA4Dvqfn-&!t)H5!+T|$2VPgu2Uk}FG^6)2`FCAvHwZiSW^(O^?$s5KY-4L^!}t@G)I=t9-QVSE(va9FY)vLC8wmq%x#-^wLZfPY)_B=no@yzqxhj%X=`2GI#_ve}OvY;!mNU}SY+`pINOSdz1x)^qz znMk+u-K;z>DB~p}yB)`@{d(#+3l=ZA*yL>Pi8Sq#MIu=l=d4U8ns9k&^%j#8Sq) zvAv%J1&}C}-hbO|r|C5he;grL5F%I?PiS%O1p(t@?E9jG$uEmDsOmKTMuII^iE`(h8 zI-oW6R6(*Nhg4saH+8B&Ul9$qHtk^7nC<%{82BkP1|gc}5@@_~&}vC?jwe{KD?F`2 zee&7on&Db8(5s_8fsc_o^K%m7+2jIs>l%1Ujde~Cz#e^5Y@c|ZS8C#_rZ5kDOi_Iy zIrW9Ke5CI62HV}`raIt>=4;C6U91V_^$pmLEe5&FD_1O{T9q}#Fy2@S-!seUbLmdHRFj?!;I znMi1T*O04`bAKmY&$ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_bokeh_screenquad.bin b/examples/runtime/shaders/wgsl/vs_bokeh_screenquad.bin new file mode 100644 index 0000000000000000000000000000000000000000..896db3288ec9207f0ccbacbcc59bba7c6ad22fc4 GIT binary patch literal 775 zcmZvZzfQw25XN29$qeuW$YX*+)PzoLi6SOOBt%y$f1JvY*p=gi7SxC2jW{Qba02#Z z-`#iL{cij6bcx`|n`kpbR}HOX&dM!kAJ0m@&1VSBO&EP&Ae8fDCuFU8=E$P(NX`^* z6U|#j8^H^yDz1<28c*};CfzC7?8jNS)~d-gdF@LdOPRgXfCl6X6Eg8ZR-{Vw^03?# z_hIDW6UK2T=`0$T#3>g!7rXA!CTeqb6Ok4Qr}}G*P0qga&L9U`u1L$WUi@!3?89N# z8^VPEGh9$E1XE5z_p;`iOJS>cB%zueGAUKQurR*P!-q6QC zj$WT03H(Lj0(b($gdlA7UK>_t(wYlR>tmJ5vU3rq4KLx-8I)a6s77PJM+}RBB}-xO znuLK@52Rm4%M^?|pm9bumi3Xgr5wN(Ez@IQcM+L7|Cj%Wc}GJr-6&yKJ3!tulpub> L=wgPhQ4IG7A6)i0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_bump.bin b/examples/runtime/shaders/wgsl/vs_bump.bin new file mode 100644 index 0000000000000000000000000000000000000000..8f7ce907fd678a206ba3e40638485a9c80a880e9 GIT binary patch literal 1965 zcma)6&2G~`5O!!pC3E2s_GnjWA$M>%s___M^7j=h$SH+;e#k|kb zt|dM6NZ1dSJ}hDtE(|agz3Ojw4-IXovjBr?|6A!azNg(F0ZPXrM;N1S*#(I(H@R%^ zK424DpQ>^H<&=PvnG1W!Jnx`8u#XY;MgP@=K?cTw?uCz~H#;);cevPwi~A;Ad?MTs zOPWiO=Rhn>G>w6e{iI>szi(z9>FS|?>gjk$(Gab^x@G8XhvRGh*i{+^7#7}kyfse? z6ApC3q5dXj@}Px8@C|X|CB;F3G&B;90Hnl7*jtbWM#9#>R#)q5lvp4@Mn=LKKnliq zQtTa5j4PV&HZ!r-OFo?yYz<1U+EX8RY+A1b6jL~Ra6$#gD};dRteE2P=GBnULRzP# z4T&tIbza(#*h1`yF%Pp1Ni4*knPXfA7ScL3=ERnngzmZas(3Yjyt>D)OO1gV8*jUP zYibmfi8DHOd1??8+8kv24qZ;j{=|;lz~*IX+&cYlwIF)AWu^+rn;~&8aUmo8#Q4$A ZLa(ac)Dbv7xlZ?m({aw6*UnG){R4(3J^TOw literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_bump_instanced.bin b/examples/runtime/shaders/wgsl/vs_bump_instanced.bin new file mode 100644 index 0000000000000000000000000000000000000000..93926f3150e81c363eba57bf088b279438386c49 GIT binary patch literal 2283 zcma)7OK#gR5LMEk2-HoFz@-#8f# z4zoQ-`;K%!B7x_x+}3r05BJq{>h1RTjgugdUcBZ-b=*n(NFDN%BG@v5qA6R3!0WBoh@$ z(u)K;?<|VEETM(LSf(^_v9>gby}Nc_WSqfaQ`ojv-z{hKW zbfTSl+<1}M(EtLI&J&$Q;@!JaaRF-^2(^^@NCP7Ps`&vQD#-xnrl#0#&|N4A8wt`_ zNxCr;C1F3{MVhCllvr;#FjbPSpMPZo9cq3Rj0;-sxAS}>AJc4Ju?;94Gwm+KvF*HY zP|Sdif!cG942l3liK-aL#SJ9TkPa<&A)$tJsId!)G(^**CY6q(v4&`h9Ev5@kPc0b zupYBIE1-I|W<;lnAHNvG%-CQc#}-3$d9p!4n%JWu)@(qKXuFYJ4sBqN>@cG?5J*-- zdi>fzk^`j2whd%*fb_Wc{D$t|7csM$JUYc#(Ho4)xRg}$@&MaK%r&; literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_bunnylod.bin b/examples/runtime/shaders/wgsl/vs_bunnylod.bin new file mode 100644 index 0000000000000000000000000000000000000000..a7dfdea3eee83dbeabbbbad681a344d42723ce0f GIT binary patch literal 1019 zcmaKq!H&}~5Qg1S2`LqNeHYVOy$*6Gx;KdqK!bTcJ6YzI<@&9no}i;Qo1J+fz{mnwI#@MH6H>^U2A-opgiUeT>s&UV=>+yEIpjCTx>& z%U_v4c-XbUF5JgC`-B}6C8zG*@- zI7ka-J!RpAfxQ1T^z{ahD|=!%d=srJk}55^e>H^u$I$+T`D6e+1ZX-%6Z9S4Kall1 A`v3p{ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_callback.bin b/examples/runtime/shaders/wgsl/vs_callback.bin new file mode 100644 index 0000000000000000000000000000000000000000..9495c0b40b6d481d2ab7fa0c189d7002490c203c GIT binary patch literal 976 zcmaJ<%Z}4P5S%PQNanyV^wCDfisS4aHX*V&aYRDw1)-7SjH3a2CK}I}c+pB6IPf3* z7N5d_9zWy+!$&(IQ zF5)ip{ShHYo}7d%HBVicWj-94;#Hz~#i$WHld9ml_O{NPSDM2~NpqgEoKh>3YIxU{ zzRG3#iH0fPOj$E9Y zpi0!PQ@n=?d(1U#9mjIc&3p_wDC-s~mbL=^gxCLvqZW=D`B`)|}3M&4s3AT^wZIj20gZ z&oSxt(|Fjpn5+g9F#%E8rEs_b%s#NqqUHw=7}S- z%p)mNyoxlh7&U@tQWae9+&S*ol_p**X*S&|Txw+!O`e+8+gv6uG@t=_$At8JkQpf= zJ>5hnG4hjY%&JnqoH|C>A+ZXp=r4*VwqbDVQhE~LFYKch4!Me0t7-h37l7o z8f;zACDojvVoI|uK0t9gJ-=Q$$}Qahu6NqBi|Tqw`nLbU-lkz8D5i}P?N$eXdo>)$ N?=d<%M*|eX{{unH@?!u1 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_deferred_combine.bin b/examples/runtime/shaders/wgsl/vs_deferred_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hd=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hd#%E8rEs_b%s#NqqUHw=7}S- z%p)mNyoxlh7&U@tQWae9+&S*ol_p**X*S&|Txw+!O`e+8+gv6uG@t=_$At8JkQpf= zJ>5hnG4hjY%&JnqoH|C>A+ZXp=r4*VwqbDVQhE~LFYKch4!Me0t7-h37l7o z8f;zACDojvVoI|uK0t9gJ-=Q$$}Qahu6NqBi|Tqw`nLbU-lkz8D5i}P?N$eXdo>)$ N?=d<%M*|eX{{unH@?!u1 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_deferred_geom.bin b/examples/runtime/shaders/wgsl/vs_deferred_geom.bin new file mode 100644 index 0000000000000000000000000000000000000000..d754797eb3dc8f9315e0b318cd6994215e916637 GIT binary patch literal 2120 zcma)7%Wl&^6m@7sC9~lZW@%Tc<#$M1qKFksBm^6TEGKcIfn;3SV>b?}#Fy|bEcp(; zfKTAwnQ{H78)&6T=H4@N&wb3v$M_#OqCnem`r**CCh`ALhCx8K_SENiWsmBaRrfGTup$sy&IL+cc+~rmTH< z0(Ks=ZNhjT&XdC`O|!Kv9g?aky1Pp_)bAB}O-f76<0qSbzJ>-%*9=?+A}*Q=1FxEa zb-=g}yQ;H0PKaaK8xsbxzRs~RR5Y^=Et{ikRmP^dWh=EugaZ+@R{)6OW9s4)k`|wkuH8>JR1xdW{8z~76CpztGPGpK z&>9L^HxrB0DjqgcP7^&Qh5 z<_uP%H%YRuq6WYS` zUqO@t4si(-q@#jT{mUeScIZm*jD|n{APfs%gMl1dveT8p1_fzi(}zT{0YRee$>>Vt z<(%|8HXzS!(QC=D_*ze#nBOenMaJ4!;_!)4$Hl|N$0fie#AONx?{#hbOdDxu+Dq*x G{Qm_CuV;1u literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_deferred_light.bin b/examples/runtime/shaders/wgsl/vs_deferred_light.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hdOK#gR5T#oKX_ZBL1TN*kF-(2z{9$y}Wr3pE1c4yia=_Lm4O&v|6ajjK_C`HH zuh6S>hNLY@j-v$ya^5`7kMH*L$72HD-{1eHZSt;27IK=+Z+Z6plagQCtr2OXnY<~I zWvbG}>ecZdqCLow1-Dy2E$D5La8aUjyG88T^${Uco<0b<%K5~Xvssr;GsVj^=Vg`@ zg3qK{@O;y`^qRO;F@8|8Sk_VADp$oMr(cZghq;`5OIX6_50BDa1oVO~(mYy6SF1tCgw}SvMq)MfmE7za0!jhOW>_BBUu~$$QBIe2SMmlQ0Uv%hb%*B+82fZm%b!8L2 zp(Ri>Q@Hdz#4L4rGQdDq7j$>UzBw@FP$#)>4vjfDV2)lUk6$(q8s?dRigN)YATs5r ziGaSQa|1E~c4?X{<%;KA3fCFW^K3nlQce5DU_$Qbp3buzDlw$jRV9FaOVnGtw7pGj z_t>SZ*Pp>`QEF(;fW|L-jX|d;c!L8w2bj};?O{597xMcqMFzW%8vD4hAMksJnDq}c z4;!9mjs1CJ&-!(0h9%mjb_d2PZ5HUf6UO#ZWg)t4$JmFN3$Uj857pHF{W`M95T0v3 z7P=|MXsRaQga+6HdWyH0N$_=7T%Q5>n2F(!neSs5I#f5V*v1uOmjMv>Ag(@gcRIcG z=F#QDanW6~iiBbAxX{OVZr3Uv;04z*Im6{G2ln1xumF^>~9wPFb@#7a&jyA>p~keck&St1LmNsrOg zGE<-to>dvYqD7f~UTrE2BydoBDiq}4cDJrXr#G}&>1X85RiB!y>Dg3SUMS)6;GE+u b2e^c|M7YGb48Z5fBd=eP7I{yWtzWJG%ko8s literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_denoise_screenquad.bin b/examples/runtime/shaders/wgsl/vs_denoise_screenquad.bin new file mode 100644 index 0000000000000000000000000000000000000000..896db3288ec9207f0ccbacbcc59bba7c6ad22fc4 GIT binary patch literal 775 zcmZvZzfQw25XN29$qeuW$YX*+)PzoLi6SOOBt%y$f1JvY*p=gi7SxC2jW{Qba02#Z z-`#iL{cij6bcx`|n`kpbR}HOX&dM!kAJ0m@&1VSBO&EP&Ae8fDCuFU8=E$P(NX`^* z6U|#j8^H^yDz1<28c*};CfzC7?8jNS)~d-gdF@LdOPRgXfCl6X6Eg8ZR-{Vw^03?# z_hIDW6UK2T=`0$T#3>g!7rXA!CTeqb6Ok4Qr}}G*P0qga&L9U`u1L$WUi@!3?89N# z8^VPEGh9$E1XE5z_p;`iOJS>cB%zueGAUKQurR*P!-q6QC zj$WT03H(Lj0(b($gdlA7UK>_t(wYlR>tmJ5vU3rq4KLx-8I)a6s77PJM+}RBB}-xO znuLK@52Rm4%M^?|pm9bumi3Xgr5wN(Ez@IQcM+L7|Cj%Wc}GJr-6&yKJ3!tulpub> L=wgPhQ4IG7A6)i0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_fsr_forward.bin b/examples/runtime/shaders/wgsl/vs_fsr_forward.bin new file mode 100644 index 0000000000000000000000000000000000000000..4b72f85dc6f691be6ffbd8373ed66193fd5b1c00 GIT binary patch literal 1521 zcmaJ>%Z}496itUBL|E_(UM8bXlt;@^Q~kHCr{G>Stf#&v1DaJ3(nG9teM=qcXk)I zE#@nc7n?T9-bzs{B>A9S-(>mX3k_&MzS)EvGa$EQ9n0ZvI7y>$I#8xoA!h+#h=qvv zlcqlj3Ltr~?U~BR@e7yC=8P{HU#U$Qi-{>_N=o49rgvxCh}o#p6Tm>mx1>xKI>S?Q zsLhco;M5#xb9lx){6G1qV@^4=i*cAAPlOXw4nv8vW(ETi(@nl*lI6VV?5e(JiG+$? zk=J!az*6D8UDMm!w|0jC2|PcA`4ggPu7SoWz0S=eml&Y|yTND`>Z8v-)eK|BKyOZb z0v|1PftMu2*yIZH)~$9_HjOwz06w}Q?2tH)Q)=RBbg&P6EKz--IQ50He57_=Z?``* z>B0`3D%A)F6F%~yzh z1c_?s5FL*xs1R7u7^jAx=D12a>Y#(rG$Pb^*w+pqAERB#xTM?tdY)(M`po79%iz$d zZj1{>tee*i6+8o}!?TfdR2%{-3F*PLA%TGy8R<&fkkCMkl!?OSY literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_fsr_screenquad.bin b/examples/runtime/shaders/wgsl/vs_fsr_screenquad.bin new file mode 100644 index 0000000000000000000000000000000000000000..896db3288ec9207f0ccbacbcc59bba7c6ad22fc4 GIT binary patch literal 775 zcmZvZzfQw25XN29$qeuW$YX*+)PzoLi6SOOBt%y$f1JvY*p=gi7SxC2jW{Qba02#Z z-`#iL{cij6bcx`|n`kpbR}HOX&dM!kAJ0m@&1VSBO&EP&Ae8fDCuFU8=E$P(NX`^* z6U|#j8^H^yDz1<28c*};CfzC7?8jNS)~d-gdF@LdOPRgXfCl6X6Eg8ZR-{Vw^03?# z_hIDW6UK2T=`0$T#3>g!7rXA!CTeqb6Ok4Qr}}G*P0qga&L9U`u1L$WUi@!3?89N# z8^VPEGh9$E1XE5z_p;`iOJS>cB%zueGAUKQurR*P!-q6QC zj$WT03H(Lj0(b($gdlA7UK>_t(wYlR>tmJ5vU3rq4KLx-8I)a6s77PJM+}RBB}-xO znuLK@52Rm4%M^?|pm9bumi3Xgr5wN(Ez@IQcM+L7|Cj%Wc}GJr-6&yKJ3!tulpub> L=wgPhQ4IG7A6)i0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_fullscreen.bin b/examples/runtime/shaders/wgsl/vs_fullscreen.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hdc?4+uU*f3R= zA#Ax8O<_dC^ID2h>4PxmU`eOAs$TE3s*jf_S{Yq$4E*d$zwOoLIgj%gUMYZ=0C#XG z%;L1TFVkcd(l<)8mW@Sq0NGl|t&qF+(iHl>7qWr|3#ZgeN-gHt%I1i{Zg9uy#Y8DlhLE|Cl51AvM^y8K5 z3apur=5h;cG#EC}uwKOc<=Z?%m6<(71GL*Cf( z2Dku#lTA>tQ}VL3w)K7+Ax&PL4{Nn=-NHRbs=6XmvKqgju$YOv@ tjQ_HN>8!4w;4-T@3*Otb(1 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_gdr_render_occlusion.bin b/examples/runtime/shaders/wgsl/vs_gdr_render_occlusion.bin new file mode 100644 index 0000000000000000000000000000000000000000..7978169d4e67148a5d3c6be544beccd11d6923e6 GIT binary patch literal 851 zcmZvayH3L}6hK{37V`@X9-S&gd30(^6)`a)Ay}g{aVkS=SB`C35Z?~Yt4^YL^5gjW z-gEu_`g{l4F#}K~nv$;kW78bdXwGWSHp)%Wm5+5LANnq8yq};898y!Ft$9n$$3Q>M=muTnX8x47M_9&=hN@=;!pSdhE4- z&`X!1WRr3s+n^!N%EP&x0R)e!lX&B`sErZzWv>yeuQMB!a3!QblmhXvxKz%6<6Y_j%iTz7o9N zxGaAwMZJ*dvyr~9_~I*0aDu-32w63tw@8si{#a(|G-@EHaDdl^%y%8(hwsmtY{94w z(QHoHlCo9vpbGKW7CJ==g#FYHzOOl(=2!$cP>q%S6iyACHpQL7*|0hvhR4J3qz9J_ z8bKMRj1dtOc*D0;QqBx5GyOvamSnf!Tr5WhFtvwG*DE67%(v(r3RK)15OjUK1}l2J ziy&r~E8aU#FA+-OQ5nKaAY_8yL2#>vcz1;Ed(i#}B_qIeNr%adZ8T{r#=yEpsZMAq zQwz&_SY}~)hv`d)WcXGGQCRD(g3YED9)>bd_%4Eu;d^wWM`jd8@YijrP3T#M}LP&Z}lbX7id>uo-k$9zvJa_9$wP z&cMv@V&F{sP7^vKnQ3z=NlR(X)EU{1lC~7bP;Qj0r8uT?DS1nAj1}p_&J+>g3%~VH z;M8x;x9g=N3yxq9iR-MJDe8Cezed&8IheDV7eQn#n5~8>OZ0T5ddc*X>t(E$Npo=? LytA*oC;0vYo4CP@ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_hdr_bright.bin b/examples/runtime/shaders/wgsl/vs_hdr_bright.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 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 Uq0KRVO`UaKzwg1{OfTvE1816EkpKVy literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_ibl_skybox.bin b/examples/runtime/shaders/wgsl/vs_ibl_skybox.bin new file mode 100644 index 0000000000000000000000000000000000000000..50473586e3ad2392c0770c4a16ada8ce8e11eab3 GIT binary patch literal 1177 zcmZ`(!H&}~5KWgJP&m*}m}9c)hQ>)L&~8;Yaa@7e3tB~K>Qsitt{f-Z7VSUqNqib( zyP-*ds8ThaH{&<+UUL8W;|m9$U&Z_BGv{TM6k8yM0_) zt+!HC`!32Ym8>!aUu@}zoyfi?VG_a*7vRDQ-a$>Xc#%hBIX0QjB$zHz6(8CF%N;YR zl<9GCDTk0$*yPD|SB8)`seD+i8Q(CzH9?)q#d($`)YziWZtl7ovp17d#311o!@twS zrXw=|rgM&j8BZAJRC;N$7bR0n@HT7=X`<*M6GCn#HbG3iZDGS$^ zb+x(&2i>!|D>!zd(-^{FlKUtffNdV@<{mb<(6|PoL2#oluyj0IX74;7d6OUxV-iNw z*R!`X626HDnN8yyL56MPw%`P>K-2$o@aX$v_)m44+thGtsc!mO(Z5dE!`QSv$6+rf zy*OeIerIQO66s0J&M3B8 zS8RueUZa4IZHl&Ww6$0G3gGJ`xVEAOG~Tl2vBs^bL`@nSd7YY;#9cdGP$4?Lt*Y^E oW3HPe^qK$Ds~vwD*GQ@=$=lT)Zb`3^VE)N<@Z&OaembMUZ-01WX8-^I literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_instancing.bin b/examples/runtime/shaders/wgsl/vs_instancing.bin new file mode 100644 index 0000000000000000000000000000000000000000..f266843f7e6ca6f06187837be1f426b372f2ed05 GIT binary patch literal 1147 zcmZuvOK#gR5T$_x1=vf>k}_1o`m~EAHH56%U4f$A60%GgOl;DiDAi8U6Z9IrUysm^ zzLXSeBXZ_(=FPnK{p+W<1iwGO|9)N&TJlPYA76}qx>*o%Q)ftmznx6?N*7jUOy{`| zJ7Hv%T3HERDw%6@l=kA?(>bmvw|k?@(-cJuYs$>RxAy7dL1)iA-~s%k0FDCO!7;V* zIey5aaO2ZolqO9zwk|zLwo>h++BcUfH4hz;4OIAWUizNW8gpuB3&dczJE%m~7Jr=% zXX#ua8L7BbN*I>%Odqsak3l}9{GY9KK6QIM~*i$(jDn!&(aUCQYATy~QBpx6$;T`1t0GZjqK|TzS znJM0FV7}!mP97`S+hE-vt~jJm)p7zDVN0XNeHi-CuT9X%P2Sv+1^G982}#I*+}3N6 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_mesh.bin b/examples/runtime/shaders/wgsl/vs_mesh.bin new file mode 100644 index 0000000000000000000000000000000000000000..f3f8aaabaf880a2848d18122066f8d7aff7320c6 GIT binary patch literal 1678 zcma)7!ET#C5G84p13B~;_6VtiSXgXmQp>7TsmDrHb6sH@yW8R=f`!_tBJ~q`>9Jqh zOJ{bm0Vj=$rN!QP^Y+c`%=q@>`wI)6U%%h|d10N`T!~F~dh)|M!CmWR%{Rp|%Wp;Y z?L%37IXjtIXWDYnvz!6g?9y|~T8eZni%N-wQ><1avdl`+q)IdyuccTOPHmPD;cC!kD>1b#~=}!SLSlDl} z#oq0~wr5&}7-o3MWlHjG$JX#D=MKxA^ZET&UKzCh-ggS5U24>op@Vv zNtoxa;5G>{fC&PeN=V0nL-uqU83qU?uaL%d!PWO7{ae2~ida)DifTx)1CRfuNPq%v z)uhg8_+$i!#v_ok|(-xg(vLiz;5>je0o zA0_&U$59+75leyyVjmC&Mzg6zq@vyyWy5>dzVAmw>*#VtLzICRGU!t+f(CuP4C(v0 z9!Z2GPM*oN`V1#)^}fe^^F+zmXJf`DlZdtVH8z$Yj2VriNkV-(HdTN{4+n7?B7egl zMHT5-4(lPFhU-u;aAuO%Wx{VW;kTLaJ;($k6*K5t|brR=-nt>V20xP-VcTq1x!*w*PO{N4P7&tE-4-8}#R literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_oit.bin b/examples/runtime/shaders/wgsl/vs_oit.bin new file mode 100644 index 0000000000000000000000000000000000000000..d31941f8a8281b2cfa37ecca802b3919cf627cc3 GIT binary patch literal 948 zcmZuv%Wm5+5Tp^1^Q`S zQgST0kq#1fcZRb&`|b0mw*;R*U!E5iZQyGQ z{aC8?PnNI*9w|V3J={W-nfZRcEN0Wy_$BVNzLxWyVItEyJ1qN9NG#%?C{4YRaAG4! zb0IfEZvCOj^s;MW1r2hX%UV$CYIeS5jy0(C78<^8#r>b2o}~+k%?Qbalw5}y+o@U@ zp=4V&^DRcc`H~x?pTP$Ro4E7q`$YVJcc=S$1o3_hC%X7BI6aIZi6=#bwg9xmb0mJz z9pXifzi#SbU?8xOc{ z0ZAV{^@p2=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hdBE!fC$ya`pMeo8-~*Y@YO z&vqbz!U4m3GcV(Llg}SNybR#;@apfMXTkG=7|tGhognDhYVe{Ud#dOz?{Lc;>6Kf-X~ zMBsiAp~aGmH5VKA$51t^_0N%k373kdVQ4XXcUuM+5P6SIPx!w*@a>_K4ed<8J-8rT z2&OP4dzo|1rSPzUza8RaO*QSeM@P<#Ez|JKA$o@}Hc4&G>qY>snMoNRha^?=^AMvn z>1RsAxbD>FI?Ur)u*0@*}d<#W< zTz>>ZckOlCgfHMdfOkp?n@tNihRv_UC)qHiS$WJAKI639JkM8yO5qi_nzpxdbgBAk ga8FluaZpSbO0=1fgc5OqS};2t<~-J@NlmOp7i+bF7p#1RS6>&i*i(SoxZIct*?RpKXb;n-iw zg_*UD*J-GPBiY)SH?wbM-sJAnhcgSFUytv9zp!4HbR$@JtpPt`6>%eT>_c zi*+H(Z69UtR8cM!`CNzI=5qO!1~eewZ9)uE_hD&EJ}SrpF3eJ9p(3V`InUa@5x z_F&s{&BF0Zm&_MjthiX~LzNcSO#w4fLD(^+E89lQR+q~F11yc?Pu=13?x=Q0x}vAi z@$>HF$ejsj5EqmS!3rm(0tS)hCTL7jx|KVwxD=+{)xFM{f{Naf8{%})=Opy}%q17t z!k#%)u)%|vw> z0>4e6=MItW+#TPW`1%QgY3NVG$uvp)35fUq9bNf2e;`9ANTH&kJ_LS!ija#_(J3)` zK!dR@_h_aRXO>4|%6<62g%P;75E zI(E97aZ^w0xx)avf2#XpMvnV)VpB|cYP}Uqm4z@vVVnU@EyP!ZuNYqmz#nXDID|jR HpYZzw8eEyG literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_pom.bin b/examples/runtime/shaders/wgsl/vs_pom.bin new file mode 100644 index 0000000000000000000000000000000000000000..c168dfe3ab25d39ebd7b4adae9237ee91511edee GIT binary patch literal 1857 zcmb7F$&S-N5Ou%;$#dZo`e=_bk(UgUFd>RKaU2Q31)-LcIHAGmj@oUL44Qv{58}ds zD|`}F-FCc8!s19?x?WYiTJz@B%QFkEZ{NTEu&u{A-H2t9+PyE9jmMUg(}E?RZlw5N z_ipM#F64%8)Xwf%<>6UQQ?`Du=vHJ8dNT_IaQ%E_SxXkLxyTe-xMH>HlVu`V5i3?C zH0NvumYCXm*G?Cg<@2=^`L>O6G9~kcBCn0=i&QK=(trl!vqMNuD`Mms*~DtN8%|bH zIPGiMfgcEqWYH8=K^{}nDFHz&WxSs>t&$)I(|3+D(?nfA_sDF{_>%Fp{wQKODPx?H z0&H|yUpo$BwmKsTU?7kNx%=YKh(jILeQ{*O(FyVJ&*ICDc*P-!j8n#WBHftInTq*3 z;i`%2lNf8x6cfCAegdwN-9iYt^bOtw$7*{ye=6qsT>Y= zP4|O+>+7~pf`PyCptlGyhOa8ahk`flf@3s@53q!fBPK>@0w`3mos$rqkP9Se67P21 zj!T_7f&Zcv_@K6sBFo%@j*!r}5lRq%6mwLyd>v&Ff(RNl+Le3|5~u7oaa}M4n(e4Z zChC!idW2E?I&t1$x4-rJvl}p~ViZg=a7UC_!+YoP;0KaoA+lD{4ht?D87yNz$*Pbbb literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_raymarching.bin b/examples/runtime/shaders/wgsl/vs_raymarching.bin new file mode 100644 index 0000000000000000000000000000000000000000..c7fd30e90ea552ac0422c155909ced36167e1188 GIT binary patch literal 934 zcmaJ<%T9wp6rD!hj0^pQS%Sf)g|1p{h%1*S#%>9Pp&5mlW*D&5xbjQ=1;4;MGf)8^ zkPx_Y?z!il!|ML_6u~um|NI!Cvnnb?O7j(?&v#Nh9*+<@*2jn+A(XOs!$qlB;)pEs zNJ=HEW5sG3Rh(r)7EJBk1s>wcYQ2%7+V)YnRI*AGd9bZFxk#R(X*4CTn2>=EGABi> zX1m!{7WhjKzhN92N@r5JBwRC|GQKe%bu6zMHA_-M422N#g?~kGostIhZTEVRX#;7jw=US&Ybrri>$20MJ?zjM z-Wd(Ne|rDT)qZ2ej I=O~2x3)IXduK)l5 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_rsm_combine.bin b/examples/runtime/shaders/wgsl/vs_rsm_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hdakMQy|k4Tz(H;k8#zu&Sgq9e=-ce8 z?2B~lfD+P$LuAiC<8S7lhcBPr5&XS8f9GTJzG8*i@%%yX-=DSmIT;Z$v0?J|9GQ%g z^UdEkgzQARm#Q>kOI4OlVaK(oQzL55Dk(Ch3t<|6=?!&dwb^S`9j;YgX>_$U@U>0- zn5*qC7O@B(J%9lj+(D6=`EkC=X7PI32{4dqoi?j}7@`U_Po9^!XK7gZkZgq93AuNN zI@PN)@fvEZF=SYJp4A*&e;hT4bq6)ywgCT!<2F2Vd>GCo0t?B6lw8x4NgPg^_eE1k z*+G@U2qpXXzUx2d1|OZlJdo$L8dtIt&(rC*6&s zv@^fAL$Js-i``+dw7#A<#|UXy*%TXCaAES*hp8x;= literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_rsm_lbuffer.bin b/examples/runtime/shaders/wgsl/vs_rsm_lbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..cd573e472edfc96cd8cfd71f4749ad009b6221de GIT binary patch literal 1951 zcma)7+iuf95Ou0nNGak2c-klA6xVodr%7n3BA!5^Ql$c~D<@gE3yB^1mJ8w^c;lmZ z;Fp-$UDq2otwH+Ru2T^)9=twU+(maGzdb)BW(4#8C|9_K8Vepk_wsI`Mv)=|!~d_k-u421WW z&n#;uqT3|R3o*6RICjX4XQGMie|8ZE{^cVOKE20) z-T!amz8UmX%Dl+RX+gdyvfj_r>32pMB|o}^G}1t|i>L_Kp{&%Awnk>KR(xvOOs(6o zKlf9mS-#M+U6Kj{+hqYqpv1*eip;?WDm9WnH2Y7RgO)i?V4os^UQKvrM{Jqqq7Z4K z+yc4#p5$iE3&4O60zzLh|u*(LX18tBkvo1-(IWl#0F-wqht? zv!RNOG$kGq0_c*L5Cnj^qK8=_l7i)%#U!1}vpSxXVh)RTeVlvHLkqKJoM>a1eemT- z6CD5Ousd6JU0^6nm!0|IU=8DnXV7q6Jxc5ySn}9NIlUz9s`m~e*=QMuFGykrV6Pw% PK3)PzhSljU%qPfb27@w#D&RC5Sfg~`Ss-k zAzM-Gq-u=VP*s)*Y`GS;Fv4=yN>M6Z3v-N@(Gb_P>z!8ZzK@C;quY&v?_KKWN^O3z z8JofH2q5494^S6oaacT-^K6y$gO2(T@ES$A??8=;~oG?|hVp-vquRn3YB7<4Vz$k;Av)mQE_)HsOGE oqsf%%J~m+}tR*t+m6#P5KXHhf%k!5@ME%cqb4nTVVA1nX_PDFp9=Lj8Z5jKy1g^UGa7jI z>#K@wlOoB>XgK)g!Do0##WJz^sz2)8XzI8i)y9mmp1f6rdHor#3K5GQ0g>G-_bnLv)$}2oyPO= zp%Xct0(1mU`7B{@)qK@ueIjIGn)D}CKo?6P*FtWLQ76Tn+#R>>sbTcoJ^g?5>?k^wFd!kBkdhaE!X#WolDRp?G+|p+3N4g$g99_`jB9B5 zEq&k51G04ZaOXyc&4INa({|EcDSIXxzSVl!L?o7op! dSA}##VZ0FvCC1kjUo${H5pOtzKgr+l`vc{Cp?3fP literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_csm.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..9fa20c229e90736e6cb33683d5d798faba5a130a GIT binary patch literal 2239 zcmai0U2fAr5Vk8z1@{4tu#ZkjBd_iJl!hwe0r66)5~42%t(?Ru3yB^1uSrlPxB&;? z3fzGs^b*{Ine{qeCvKXDjqLg6o0)HBC%O6X{zQY%yPto4Khs`hY!OX^`3(>5uH)#d zp^r2J&Dx1#F?3D7eV(zUANz}h9_fEIcnzOpi8S;d5(TWu7k?VvUHQwabY&a*L$ie% z`b)itx8vg&`gOC#HS}N7^6yyFrrf^`qa@`ME1J#PWE#Xg_fwt+EDQN8iWfXxw=T?G zT#}7%<0xC!QD&0H*(4<&3)i>vX!4CwM#*=R5JeI4nk@X(TY1Bo>s+?$MilZ<02ur@ z_SZwzpU_N_NOb{~2NRXOCTJ783ZPE`oTmWpF5uoYM?x^m&RS$N=HZlwx8fo9edWst?Jo?-|UM-f+LdrBN6B4eA#byn+*8q34{DjCQts7f%bH%JRv$a~aTw^Y9_=BNhs zWKa*a0}8Lxpjr>3ZA<%P^UoNB(XL9}-=*$J>Yk+THBk>rYW4Qo1$|$o#|aQQs6e_8 zbha&4fkJFXRYphj7^_l&uF41{Vo{9R*vg!V4m0W&PuSCKBTF%IhOGgYK>-qiGkRV; zp^!i$>4aj;p@mH-QSqG@O}{W<@5r5;@-St|dNGdX;%bb>8K1*TtGo>@$Z}D;TJT~7 zD;$0fq7YXV0?OS}Tv1%z6@*HN+&|U+tssts)OJvv#g&lS9;!n;390R(I;1NhwS82F z^dv;?q_QGh)p-!7!OE2D$Exzj?cKbFDh$Z*=u$enB)g4hSa9kh5@Q?(X%>g7EA|@i foP&pphlfWOj~*UZ)!(J@Mq&ef6)H}iW7|L literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..cabd48cecc93cf685fddff19a76721981a9d869c GIT binary patch literal 1477 zcmaJ>&2F1O5XP1(wdBxO*drtk@`Cf%q?XlFE|nrx&2@$C#oZJZ3opdDiquEzBlM9v zvn*wC++vCK?0hrx%^#0n?oS+e-fo`mN6!0_W%-JykAgox6#3I=Fn30%c1|qKXyBOJ zcO~1zMVxKvaPZ54Yk1s}rDFX}eO9~C;HLpTym6eBh}SaTDzWtPBpH(xFGLk9QE^sE zk>o`tRPEoohq!IISQmM@>7(4OD$1oIUmMd;X}~n@rn~7~5{0vI zUx_&$1GEVo)0u=pRqaEfu0l6xVZ#3UKLpV(=9s12o~%LVI9{~5~3S&Zc)&V zEt6{`XgltL-hisfTI{*!c@?`R5V7qp$XA#K9>5KYd00A*-CZm~3OqfxMd7>)V>lknY z|IUE_g)hfZAK!)!1EK%98|O1}nEa7Fv-d%Fvf!#Lq-_f2r8ssWz9M{00r}!O!y$Zff5Yz& DTRgQO literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear_csm.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear_csm.bin new file mode 100644 index 0000000000000000000000000000000000000000..99ea7f95d518d0876926b4d7f823ef48c680344a GIT binary patch literal 2551 zcmai0-EPw`6i%i}Kz0EyfaJ?`>#EpE|Jax+E)X}9CLwl%kd>|JFtkaPCRtlF3EqGQ z;1zfW9$}BfIkwx{UAFbYZE`+;KIc0>?#0Is`wo2G|N8sqx%0B*(`=MXE<|#3o@d`0 z?$BwV+1WQN4cF0cUzB_n=kat-_uPLDyoS#+jcm9-H40egU*l1Ba~99eibc?H@9HhI z;l6U!c{_Vp!#%IJgbnw%w!D7fI3p2Xr`fy^SAI4gx5y~TMHLsKN_d%yah6X-v1}fD zySRCId7WqF%tm?hA}_BB@=0xdH_5KPbIK|C;SpjeLf(*RTttiLWE`^7mTg2K9|V9Q z&hvPAV(urj)FfJ6Kvl_=$!-Z+$8G}XQvmi9AlwDqdfre9<_Bey3@=4G66v*ksN(!Y zYkf*8*to0SvF9OXCNq-&1_U(%yl+PLApTIQd*6)CZRELcjvhC69yfO%H}@Vl_mz3$ z`8b6_5h)jGn&f`WQz*!IVsf-d%xBqL6e3H_%}rTzlcWH-2ITEFU|?C}+Y57dductb zT7 z??VAF0;jG^9A8ijMt(yW@*4sO@Z4szy;!cyvm*3wD+4)%s3gO3g|y&>?xXgyY3}Qw zkLIC~J~Tq@fFf$wsMf{PHlckE#1}k-(~e2q+okSm>aM2l)=~G@)MobvioR#kV+BYb zOd!1vWSbP5Kq)q-CL@zM#;8nSXfi_2LYPc9qZ&pSC8vGNEt=XZ=@-0#Ux$#cj#+OE z^NuhHS8P^uDz<@U1MxN6pq5Q$kF&^Nvzk>M7HBrmTd}dAmQ5y%v#!CWo7aexQO$<& zVFoy(wQRCOIn%Z9Ymg4LqqblHf~}{XwBuSeSwUOA zfohgx59YPL%LAsW)nG5hL@$7z)OEUMVgSzsWp<|#SpGOxJI)SM?3=7Gh2-| zyz;gXsv%aX*bt^6*6g++p@vu`VnZSgv1Ygp>1c>m8aAY>A$pdtBf=}LO7bFEczSI6 z+Ys^As~_K649M`{Fh4payNRf|7|a1K+dof=GEdE|m}{I>43`j>2$v2nU0iy&^kMg{ O=j`plpR_yo&ixN9GTHC| literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear_omni.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_color_lighting_linear_omni.bin new file mode 100644 index 0000000000000000000000000000000000000000..23b1c9c3ca6f5803601867fa1ccd7662adb9e6c2 GIT binary patch literal 2463 zcmai0&2HL25Vj)@sdH!_VUKn~EY?3jnjfJas$L>Rs+y~1z>sahM#d&U6{&rLK0sfg zFVQE+BXwqX4ZDs@I4pSQn{Q{nnH_Wg`O}F3pN~KP{603`meD*LC$oE&Jl^Hm*Ooaj zT4**-6idrA`v*B!H}h6mQMM@D$cK@#y4aIj&;>8 zEekOVUXcVaAf%G~OEZQC+W1`6mu3uZC*4bPaM&CkHg^x3dxy<^VctbPNufbl8nHA@ zayyPvXvBD?aAP8A%PB_>p1RuvsKRuFuuJER7Loxn3tkM>nYxM@J|b<`dMCpfW- z6+x4`AtB)`a7i{uEieV+#dXmlCvGp3+u=c>_DQwyW6>NRU27JVQ-v|8$rKti;Et3yHw(Q2qex)LG> zZLPJM-=Ar`&%2bgIDj@#o(^FO}DYzfKlmbW6kgn>6{VsZ&Km zw{j|YG*#iduL^$?q`^9~Pt+d@Y{RD)eneMy`E|b4)ZZKkiL<+4k=$Pg8*ubB^|9My zYw8=dI8RWDK{UWBzBwf>dXI|=U zTvp6hX;N%tl%C~jG0(}DD)d8?%)j}zZQgrsccAX6+dJ+a9Cr_oyGO^}O-l(AcMO9HvI# z$1sRNBL%3KpLfSwa4v_>y&f;>2 zBpNcr;}A(WWXOO+B=L|TLk{5rQg?*9T83#JZgs8|MpHjZZMSAL7@*<53UWRn?ThG8 uBT+Tj^rm56q_G%^ca0Ci!NtYJ!)1WW5SI}yV~Bpxm6H?rQ}C!hs{a6@?RHZD literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_color_texture.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_color_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hd8=;~oG?|hVp-vquRn3YB7<4Vz$k;Av)mQE_)HsOGE oqsf%%J~m+}tR*tPeS`K z1ec5^Tx7J^k8kWDFE3YH!ONY=vhzZe>jHglq#shg{)T<*qwh9Cz0%P;RFQRbn}osK zRgh64z*$^Gb)PUipqb)_Z7)2O zZ?C>XIB4KNm466_$JNnsczPV34d8@9t0=>iF(RB8?|4oN%2`7Tn+~HG7o=WuE;f?} zXlfs;dr3(FXMT&`Bd79um*myx0?Ej*_1+^41VWAO3Us~nUfn_018Cnt{zPpDyI!Ec zn$ry7RV)(OC*=6TxROxEcin>x4yvlANRW0TL1t6 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_packdepth.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_packdepth.bin new file mode 100644 index 0000000000000000000000000000000000000000..45a9dad5cee99c57120c588384ead55d111d94fd GIT binary patch literal 705 zcmZuuO;3YB5M4}9>%qS;M=(fQ+Ec$mJb5%R_Dc9znpM~(%Yv<@Kf#+n)}zBxQ$XP~ zJ8#~+_h$F>a82+lztp!yZtAd*Da&`9y*(=VGO-Amv~BWvMM%n{y^xjWi7m6tg_J4Y zM4C4&tOd`cD!4v6D>}wib-Y)yE{7;uX;mj0p1aZeTqdvKES$jy1sLgoB@~ff92V)cUMu3k?pA`B#*-n9^uxh{2UhXjsyb|84uDb|z2^ z7aFS#iy!=wNdr(J?M^rjdRQ8?YO1Z0Yv0vq$0`T)0qr$3gY(!pxgy4rUBS z_ok)q3Lm$a0<$?MtGUo&bu40;8#zH-^Bf=TU&Rj66n%FtJ_L9OJgO9JoGoCOPZxf} tlx7Edj=~me*pTo-+2H4 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_packdepth_linear.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_packdepth_linear.bin new file mode 100644 index 0000000000000000000000000000000000000000..3f930e9ac008ac9c1915b0354c55fd0b7deaa0d6 GIT binary patch literal 713 zcmZuu%TB{E5Oh&b=D-JV*<(^d)U@T&mm*GZLqhZ#C9P8#61#Hj&=&PG_yazajnk@4 zAU;Ivot>Q-FJ7On34TAf&-)I!F;Om8EL(8)`J&`|w?jy`YLo9PLRLIp3t4EsbYz-( zuwsgrvF0UQF zJDR4$!Q7(le?n=6*;wriF}QLJC0o|yf7=6W z<63N_0%dR!aUqy;;%FlauDKNT{LqSXt^SN@Bp$*HoYHTb>7BP-koa2<&XoSHQSChl z{C?_Ux?mO0D*Cz@R9hS@{XO)c??0q2+|~a{mDDk3&4rGNU7pCyN(>XjGrV+8E?lI} zFQf4ABE)CGCzhfLw*uI-Fpl~WN~Sd1o`P{2=nFT^fbQqe7V~ec)~sUMC~-M}Rs#?1 N53qlrq|+fGo?l&E-p&93 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_texture.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hddh(5XGrah%*0NALQL5bfr+erO zA7UYiErE9D&6_tfkNfX;rxyJFeEs+3#Cl)TQf92U=j``4C4Vj#v9-job!tSG3#-5V z3&D&hJ0UC0Q%C0cieyajCegfMv=%&?oRd07n*83^SuC%ICO@4H#p9`7( zqCWM>qfLmRfn1X^(a|Bg&BI``ng&t&9Pnh@aa+$>*Di^-Tx4AA+C!75+g|F1G>|wi zeq-B+*|&``z<{1>(y+9v{xTeN;jk6=G8}f{;EixJ%gzP#$_3>@Fy$mvz)X|ERInlm z-OGw=E`^zl_nIA2DOI*Mi@NPR3#Or$kL1(X3(yZl-od2xj+4{Fium3-hrJTg(OdwH z(|E>?+BKYE1p{`8u(63V5+DsZHzc&gM#>cmG>Ne&?f|aoMRy2V+J;^cC^#&}Y3L<( zfiIAcFVMZlg0AZwjt^aK2)V|by35EUgbsQ<*r<1?=0elzSZ-y}4l~}?ynst*n4b$O z%gL7DA_hal#~}qe4*`RfIgd(pzd^LAN(d!S3zeJag<-na}7I8=J10*tIo)V!Bqs~xXJ(@AwD8NKH1j06Ki38 Iu%6-nAIb7~umAu6 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowmaps_unpackdepth.bin b/examples/runtime/shaders/wgsl/vs_shadowmaps_unpackdepth.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hdsN*{Jzw*=3ii;>5Ai!d^|pN}q`b1nPv+;O%v*)d*7x*78{_0X0GS|yTJ z1ec7aT;x<9CwFe2SCs3W;N{+CxrG$vMxu|k^j*d`UvPi}^vy-6lRA2XDzb_1(#BeY#5&R;FLkDD8rO7BE|{c^MXpsSxt-T4xU1isj_cH>(ywp? zn{D6<-+0hBe2cDC6DJ<5&CV;mV`9YvvS50mgDoSR4GDu&VbBQYL&ES>7%Cwc$#_^& zCUJ4h*F4i>vRs!mgUxZ%y9u--?~bE#@)9f$uMf_Y_Y|QqQ$2AuB`_3YsMhXnl+aKt zQ`u1>L$QoyQ({B0%;l+KmlYA<4cGW++@7pnB<-Nserj1zLU%-LcU><~zl;AhtD3=o m2G!Rth%5!`s$s?gHC&-uBDKV7nW<&2FV2BKgiGfWeE$Lh#MoH? literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowvolume_color_lighting.bin b/examples/runtime/shaders/wgsl/vs_shadowvolume_color_lighting.bin new file mode 100644 index 0000000000000000000000000000000000000000..c21229d06c670b70eb0adff495a70ddd24a40831 GIT binary patch literal 1070 zcmZuvL2sKd7Ss21>x^~-}n69d-(D79KrAV)4xw==tE0uxnWl%gX7NuUlThVQ`Wv1VZ&lcR0u)gOFz_Y*;Md zddMgN5w__wOlfw&z1hL22kd>z^Z}DXXa`Hj5x88D>CN7VlW)5-MKRqf;kSa$iIq3C Ue;I(DF`B=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hdntaHlnTg zat158_wJs1FZ0LyGiQHV&V`CK2&t0t0g7ii<5f&+DO3fV-9aT=ZsfRDeXimq&uBRZ zx}FLC(#Fqi8~JECP6kQAcqJkAd7gJjMg{0Zf~K)zkaMvFxe3PJsjgCsLU6S@R(Ta7 zq>?=CQg2J1zQ+ByPu@I2PB_RlStfE+k0$wWFzr~uuOnfCrfDO8_q@mw_&pVnXaOt( zR@fJvh{+y)N;IaO;*34dXjXPqiW($5D30NrAsnz67^A{Z;uWtzqP08O&>{zRs**~~ zACMbzD7zv)L+_Fjw$wiibcqiCSY23ewn0EH|Djw5xEf;lvA?N&v}#kMam+`^u3LzE)RbM&a9_DSPm@mK%= literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_shadowvolume_svfront.bin b/examples/runtime/shaders/wgsl/vs_shadowvolume_svfront.bin new file mode 100644 index 0000000000000000000000000000000000000000..07fbaac3db4afb6b94a89629b3f3f8c3d1907bde GIT binary patch literal 546 zcmZvYv2KGf5Qag@8=;~oG?|hVp-vquRn3YB7<4Vz$k;Av)mQE_)HsOGE oqsf%%J~m+}tR*t$U+np6p;|ut{i(Ema})G^{&qj%6C!m5q!+` zH@l7xCmW%Pa{#n&r*zOt2{&m1Rb>5hw9vCI=i5kO8QYf{A;N;GGMkQGy% zzjQBgwchTe(ED?gTcd?c!RMa(t`ylFiAV(BT!0H7@D{36E!xFRF^|`Q1^jg+Bs4S| z;78X@tOIYReMq*9=Zx>{pC*+zC-ZA)kalTj>AD89x1&^)@8uZF=n@MBN7sxK z#yOQt67PU-mniJeN_F%hX4U27*CA4;3hQ&U}J!H4vcitP>IJFF7BP7(aIn_zGE=b tj4+lX!{<4;Uc;s5KgKE;OV}Gos=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hddh(5XGrah%*0NALQL5bfr+erO zA7UYiErE9D&6_tfkNfX;rxyJFeEs+3#Cl)TQf92U=j``4C4Vj#v9-job!tSG3#-5V z3&D&hJ0UC0Q%C0cieyajCegfMv=%&?oRd07n*83^SuC%ICO@4H#p9`7( zqCWM>qfLmRfn1X^(a|Bg&BI``ng&t&9Pnh@aa+$>*Di^-Tx4AA+C!75+g|F1G>|wi zeq-B+*|&``z<{1>(y+9v{xTeN;jk6=G8}f{;EixJ%gzP#$_3>@Fy$mvz)X|ERInlm z-OGw=E`^zl_nIA2DOI*Mi@NPR3#Or$kL1(X3(yZl-od2xj+4{Fium3-hrJTg(OdwH z(|E>?+BKYE1p{`8u(63V5+DsZHzc&gM#>cmG>Ne&?f|aoMRy2V+J;^cC^#&}Y3L<( zfiIAcFVMZlg0AZwjt^aK2)V|by35EUgbsQ<*r<1?=0elzSZ-y}4l~}?ynst*n4b$O z%gL7DA_hal#~}qe4*`RfIgd(pzd^LAN(d!S3zeJag<-na}7I8=J10*tIo)V!Bqs~xXJ(@AwD8NKH1j06Ki38 Iu%6-nAIb7~umAu6 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_sky.bin b/examples/runtime/shaders/wgsl/vs_sky.bin new file mode 100644 index 0000000000000000000000000000000000000000..aabe8e6c491ce2b1cd8615484b19053898cc97a2 GIT binary patch literal 2915 zcmb7G-EQkd5O%858}lQ0gT0J7Ic9%tFD+FBNN~Xg65@y-Au}2x@G86lGrLZ_cG?TvHjQV#nVp|+cK7x7-@NC+^VgqW|9kCy(56MXe_iBnzpJa? zUQGV*UZB$ZuuXSu`BhQp%ciKxtBL2qFFfzJ={B$P$1kgVwYs{d-n9{b4EQ(4Z`(~# zX5}*f@u#1!CLcK_S)Fb2Ca-r_6Vi$Q@jdUp$R5gS*A&ZXwOY-{eO?#)tSR<++Lpzt zsy9V*3~u}}Zr3gz>Z;uiQU0!}+hs$3u%=(EtL2-NrHuUU6EaMQd`9;9Qr@lvznfX@ zF#Jov_MF2Lx^qcDm(_K4yzSi+)plz*r3Tz4Yvkb+!aLueo0O)s4aj^^l=nsXU|#lF zecM&zj_kp3oZpS_BW7!Amjeb;cJjMabF1bi{Y$m5YVnL(j?}9XQYlIxQkmD&EZtVS z0!ib-0@H(a-av4Qd`|Y^fOt310;`Nb*}Di2y(S)Nj=d%U%@qB9(l-^}qZup~&&Vql zQs5ST2Ee7$N*cpBalnB)=pM|dvqq{NH;kd5Gzs52Xl`VT4uk@PB~UtB7mxWA9_SM# zpALdx9D^Qy20;)Wj*sLOL6c-`!HmV=v$JrsWfE4;7CT&2gg8@#0BLYB+T*Hy<0Kt7h?L2uj@~-d7Ep8BVe|09Mja zYn|YqkTjxElxV305cL^_>(`7>%Hq(O0&YfUSz(L0bkW!ypiaKD6FoJPKwjd^umpxC zKWq&dHGDTpq*%%Y&?pE{_OvZj|7^<{dAcbqbbH>RT5QwgE_Jw>%vv80z3cA zk{99Hq5i*7CQn3Zc8`>+VU*&;u+iz}ZcO4turbDIjzE54k-_0hD3o9U{s+R1joe8Q zNI16?)&X`$aNrQWGSe*cYTcSX#DVRhyHg2dBVfcJcuOS^I>RUIh=b5g!O*B@k;%sP zRw%oih#)9fK|yHnU~^#C0)Y(d{|M=XfHU3*aPH2hYdENY*(=V>HB)qc6CsyWD#>)D zxz>V3Fi0FG2zGoWVkQz9aTu&fQK35x4W&+$V3IPXVi9YG%9V{9=W@6NPANE#l!o!9 zI^k5QD3azlN#Y3RKaNqt@SEhgIBW}&febc=m}(_Nq?v?m!BpmQ1%Lxs3IY27lQEN0 zusFgbXvnFgT*1B|sgNp;Btr$1RmGeu&SRmJRxuTftMdY8lwh(=vo#JJ%pknDr>bcy z^uZD$u^>wi7Tx%88R@Q4O;I-K?zmZ0Yjc9n7j3Zy;q-LK2jG8W50KMUhLAbjyxLILybe9slM-3sogA6VvGYoUS&+8^X_}v|3+PlSTRG+eY!~qxY m$T+blZ!o5mb>6gf=^DV;nd8=+)dKs9+wD8wn@qgF;pabb;U*XW literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_sky_landscape.bin b/examples/runtime/shaders/wgsl/vs_sky_landscape.bin new file mode 100644 index 0000000000000000000000000000000000000000..8b603f02cd5fdaf6bf9262836dc38a7a3cb50396 GIT binary patch literal 1129 zcmZ`%&2F1O5XPycO7zgaLFWjOgZOcLh#d>{)MKQoxl|Rxuvpu|uC*-GP8F%I&^PHr z4u0TgGciGlv(&400l9n@ZY}q+zt+qN4KPF6}X{ZZ=!No839euBB))313a= zr;=wslOPG;w+%321~*Wpa=xFhiYQ#qdH^O;A=1NYn1-N1%%g3`daUC&F2ozka>}+k zXj8H37_Xtl9%Bwm+g6yJz8^sh(z=0`WQM@=bZF9%=Jz}unRIwe7Yy%1Swa~j!buZ` zyGzUAh#92Gj@MLD&W63!xg`6HbCLVQuCCr&NhFe;!!0I(?C$M{v%JGu z^e}_K^9vVM1u)I8Rr3>PZ-01zO9&MRuG9dt17}>e&}Ao5-+cNV>rN|m+T>a>Q9q=h zemL9Lvt2br5l}MRs{5HB)WO085e9?RES3J9!z5)gsSnkLmwHL@rlBPsI>!~b*tGLoRH#v} u*y3sp;|09ny`k!79@EMTA{)VmeNeAJ$rP$jgrG;;dUIh-tPj>7eE$Pj(prK5 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_sms_mesh.bin b/examples/runtime/shaders/wgsl/vs_sms_mesh.bin new file mode 100644 index 0000000000000000000000000000000000000000..71cc24f3f377b670df84d9be87b5db68c128b5a0 GIT binary patch literal 1364 zcmaJ=!EW0y40XC32KBIC(9!PFz_Q(@X}ciUsh0r*hV?2qiJYl(q`;BABt?OJ+Wu)j zFjBT>CC%ml5hy;AkJRJimxpr?zPIbAhd184lCShavA4rkpJc zU9JyNWMhhQZs^xK^kc5)-#O!qJ`+kEV)T}-Qj=_x`z($ogF`3wa|+NlaO`^_WNNwi zVHwcrOsa)cOKVhVao@Btp%nxk6T2e>F>Bkj01R-wrInc1%wD^r+8tZsuif$gqm!fP zOu-za;!-J5_$gN~?=*LF3~0*NdLxb0$_))@iOGjb9C&XRdg)NGiJg!eBO)!G9D#YEM}0V z8=;~oG?|hVp-vquRn3YB7<4Vz$k;Av)mQE_)HsOGE oqsf%%J~m+}tR*t%qS;M=(fQ+Ec$mJb5%R_Dc9znpM~(%Yv<@Kf#+n)}zBxQ$XP~ zJ8#~+_h$F>a82+lztp!yZtAd*Da&`9y*(=VGO-Amv~BWvMM%n{y^xjWi7m6tg_J4Y zM4C4&tOd`cD!4v6D>}wib-Y)yE{7;uX;mj0p1aZeTqdvKES$jy1sLgoB@~ff92V)cUMu3k?pA`B#*-n9^uxh{2UhXjsyb|84uDb|z2^ z7aFS#iy!=wNdr(J?M^rjdRQ8?YO1Z0Yv0vq$0`T)0qr$3gY(!pxgy4rUBS z_ok)q3Lm$a0<$?MtGUo&bu40;8#zH-^Bf=TU&Rj66n%FtJ_L9OJgO9JoGoCOPZxf} tlx7Edj=~me*pTo-+2H4 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_sss_gbuffer.bin b/examples/runtime/shaders/wgsl/vs_sss_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..dc844ae70a533905980b2eb7b04a3b617cc27f82 GIT binary patch literal 1316 zcmZ`&+lt#T5OubJg8R^Zf}k(^NP_@@LZ}L*T?YAAL0(>daGo)@1y*KR%NEiH~aKc zA+ujJrZM^L6Eet*+>%|Y=k!{ z#M3B;@e*RgTtb+jnhr;Gjtma$3SnIl=On=}8`z;Bf?>iBTEmb;fJ&997wVez2-vG!*REkg&E9hUGf4hgLW1n@b7w)g^LyJ2<)2_ zsA2@Pvb24~z33ou18JmbwbzFv4WyB0yIr_B6;q%izfoe)g~erhUXdLJs9)4)hXQuD ypMAAnEXlA(&#Z*2(4O?om=)8d5^fxjM~tdS@H4~D9FUK`_v*|WdGEYG@c$2m1C6i% literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_sss_screenquad.bin b/examples/runtime/shaders/wgsl/vs_sss_screenquad.bin new file mode 100644 index 0000000000000000000000000000000000000000..896db3288ec9207f0ccbacbcc59bba7c6ad22fc4 GIT binary patch literal 775 zcmZvZzfQw25XN29$qeuW$YX*+)PzoLi6SOOBt%y$f1JvY*p=gi7SxC2jW{Qba02#Z z-`#iL{cij6bcx`|n`kpbR}HOX&dM!kAJ0m@&1VSBO&EP&Ae8fDCuFU8=E$P(NX`^* z6U|#j8^H^yDz1<28c*};CfzC7?8jNS)~d-gdF@LdOPRgXfCl6X6Eg8ZR-{Vw^03?# z_hIDW6UK2T=`0$T#3>g!7rXA!CTeqb6Ok4Qr}}G*P0qga&L9U`u1L$WUi@!3?89N# z8^VPEGh9$E1XE5z_p;`iOJS>cB%zueGAUKQurR*P!-q6QC zj$WT03H(Lj0(b($gdlA7UK>_t(wYlR>tmJ5vU3rq4KLx-8I)a6s77PJM+}RBB}-xO znuLK@52Rm4%M^?|pm9bumi3Xgr5wN(Ez@IQcM+L7|Cj%Wc}GJr-6&yKJ3!tulpub> L=wgPhQ4IG7A6)i0 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_stencil_color.bin b/examples/runtime/shaders/wgsl/vs_stencil_color.bin new file mode 100644 index 0000000000000000000000000000000000000000..07fbaac3db4afb6b94a89629b3f3f8c3d1907bde GIT binary patch literal 546 zcmZvYv2KGf5Qag@8=;~oG?|hVp-vquRn3YB7<4Vz$k;Av)mQE_)HsOGE oqsf%%J~m+}tR*t4CFu(F)MM4ExmxV5S-Ay!1%~b>iqtRdXY||| z!wN%EkU;jlnR)Z(J%0OqLE!oN{P)8ddDrk#Z$@fk-R#FGTAQlb81}tO{Z#19 zPag4zJyXUU4(yJVnOPo|4|x)=f^iV3PXRBKrnaBAXndBgrP@lhvxhdT9(t-P)ajBH3yo@UlEi2p>0n7Ma*V0I> z++^SCQV0W_mh9ue396j%;la%gkE7F5z@l)G!+sd+%3MPkuMHiot(=$G!GYZ%Y~Xsy zVl2b1916CulX8m$-NM)uwS;Sa-5p|Ew&k}B8lD99T7H95;1B5I4|p%Iq3?%><5QQL zxVb>K55eYpQyHlYuaD(g7go1)-N*tiy^~Zv5GqHy!$k@n1V3wqWxXyOc_prc!Py=p3QEF@6#N Py-;#~MrPza`3>(s!O=x2 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_stencil_color_texture.bin b/examples/runtime/shaders/wgsl/vs_stencil_color_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..97f97d2e22761fc9fcddea92461a6d6efee07370 GIT binary patch literal 775 zcmZvZ%~FFf6ou1HS8<_F;A9C7GKF^4R)%rq(iz8Y8Gb@13P~p<*y{8leIsw6SU_Qw z+;h)8_sjO>=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hd=?cLoZiCGPUF)b687;PqemqO@Hk%+cGiCHWMJQwOj*CjM)Dn5_kc>)J z$BNZ7(wyZ&mP{S(H6H6Ko$RF0`=JU~O6pXR*S7Vs5b1m5MIQOWgp6{K6)9u2JS;c) z!VesL!Z>U!t+}>Im@u9(zH1J3EH~#g0jZ&J?7zm?X!cEZ3K|%>A~j80^S@=kE&I)E zDCZo)Fdi|^skGu~FDj;(;H_-YMkH~h=phwCX7hf(-K=M3J`k&R$9vvgg7lo-g9Cou z9QQaleLBQ*=eZ5w2`uA-ac}n8usV}gjH{?RmWe2u6k(!S0hddh(5XGrah%*0NALQL5bfr+erO zA7UYiErE9D&6_tfkNfX;rxyJFeEs+3#Cl)TQf92U=j``4C4Vj#v9-job!tSG3#-5V z3&D&hJ0UC0Q%C0cieyajCegfMv=%&?oRd07n*83^SuC%ICO@4H#p9`7( zqCWM>qfLmRfn1X^(a|Bg&BI``ng&t&9Pnh@aa+$>*Di^-Tx4AA+C!75+g|F1G>|wi zeq-B+*|&``z<{1>(y+9v{xTeN;jk6=G8}f{;EixJ%gzP#$_3>@Fy$mvz)X|ERInlm z-OGw=E`^zl_nIA2DOI*Mi@NPR3#Or$kL1(X3(yZl-od2xj+4{Fium3-hrJTg(OdwH z(|E>?+BKYE1p{`8u(63V5+DsZHzc&gM#>cmG>Ne&?f|aoMRy2V+J;^cC^#&}Y3L<( zfiIAcFVMZlg0AZwjt^aK2)V|by35EUgbsQ<*r<1?=0elzSZ-y}4l~}?ynst*n4b$O z%gL7DA_hal#~}qe4*`RfIgd(pzd^LAN(d!S3zeJag<-na}7I8=J10*tIo)V!Bqs~xXJ(@AwD8NKH1j06Ki38 Iu%6-nAIb7~umAu6 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_terrain.bin b/examples/runtime/shaders/wgsl/vs_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..6f06ad29225d7f4310e9f86baf8c02f89e2b32c8 GIT binary patch literal 866 zcmZ`%!A^rf5Z$V$^`Lhza|DB=Ej?Lnh$oLG#$E}9rCBYz&9Y#t@h|)@?|zN5EJ#Zg z5|Z6{^XAQa%pdPh2|i!n7oP)iRz|r@*=o+&>w}WdCj&xGOqqDcgrq!P3R!5LI5NvT zNSWeQta-(vQt(Wwoa?PSrF~pcE|yA`>wOe0v?>z~Pqy`LC6kwE6pi4W0`zpiHRQ3L zY$i8ZFrInzgVM03bcUr1;ev~li)DSNVs+D~nL&k(ef}w>2D7fUGsNJ?Yp7Ua$q&n8 zTMp{khvmSQ$89+isFjO|3&E5VM{8Md&8667@gR;g+ayw|bhz8^*4rCNx8PKM--gRh z=MJ;KF?{VDf4g^j^I+r;GZ%9K+;xn^9oF6j_1&+Ysj;^SM{}X0Vw*4Is#X>*O1{EN zr=8{^Yi>7a!vP2}OZ+dSFo_sIYq9mv!>bN5Y9Nix)<+w0#T2TdjiXN2V^Z(7*mt%= rA@lz}U(KMu+@G=SMOB-qm@bvr?RGFQ&zNgI0fIg#IU10265{&<=qeFt literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_terrain_height_texture.bin b/examples/runtime/shaders/wgsl/vs_terrain_height_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..f0d87f1914e25c567902e35abf88a496c45c0f9b GIT binary patch literal 1191 zcmZ`(O>dh(5G7Vl^pM_rnNtN3MF!hZWv3R(sfQdYrA?1342!cZ>{`o0?N<30`Cq;F z*L0Qz@ln^7EOzG2?3*_aKR$eXW#Q-dpEoZv>#8D!NNN7a=#NiQe7n4`tV^A?u1fMm z+5Sm=rbkst3f4@AXK$^q2uNAH=b}_BaYUARkW$I&Sh1RtinC0}f~k|cv8TAQ+U=#N z4r7!ZH9==yxe)CbPZ{4k!FxQ_v4jbchqyT8RKglc^R%(g)`#cIyK&Z_%wQx;Z?i?X z#WtmqRifaFncyxL$#)Wv0Djp36QS_>B38@evZ?j#=kp}=L^#83E6NsXES&bon>FUp zNJtTbSFWL^iD~|CIyC7;$9qz}FzK*MXB@dQP8jD@Ix#tjk|`$mu!{#VK|vBBWI7+# zyUp}DRY+?IAHZp4Gi$h~HO-yLhFXce|7>n_l?QWwp1J-Jt|45l^z#PQ)_bqXYRC}p z?x{Bzvhq(DMPB-7DBd)ImB|O1Z|zT4cin3{P{TiZx|L?v3FQCuAkdTyClWTzZ%p$A z9tN6iv;|rNDaI8kPsL8;je60pVmSt#uCa@J3o~42Ab<${hOdy|`aRHq&IV@B9)@~I z&_Y@(m|Yti)>Pt->~`x;U!%>~4>#1-8+RVgHTJ^0Elh_yYpv0a8}%f`e-S>ccF^Zq T@=*UQ5cF(YvkU9B72)?U&zE@| literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_terrain_render.bin b/examples/runtime/shaders/wgsl/vs_terrain_render.bin new file mode 100644 index 0000000000000000000000000000000000000000..01c313224dbc4ec05452a189e3c580da3e30bc01 GIT binary patch literal 2874 zcmb7GTaVgC6n0i=T2b|){(x$pBD*CB+pzZ_lIEe2`VeW`eOawsg9kK;FUa<|u+{#8 z{OI&MGh-MNsM?hlhBN2#o$H+2n_s_n@K^jexqjw+C8Jeb##wdpWa>O2y7QfkvLfN> zt>AyXD~tC}L4K-kzLC+JEMDEj*(&8Fb54kQ^4$4BM!(23<;jhlC9maT!OK?=`BDje zE2CRp)_mPwd|@u2?QNdy=+6xOW6yCC5ij$is>R$b7K=Vhcqy8=77dSNE*3?ZiF)H* z_4fHHIa`*6Ty?p6Q$=)#(qq$^$Pgr&`}GS*5+a>K&904hjFx*R?D; zyJT>ePEn9tFT!8~B~@L@dCmUN=wGMB{6pkNKKr}JfS?m_$Y*gqT91@$Uoq$;;U+H2 zcyrzGxw&P5ob-E-hf$KlaPiv2Y{D97*oUwK_jwu>yliV$!k44QM#flG7iGNUeOB@~ znZUXI+JM)W2go)KyJ9p3CA8=KaV+CwSZu`xhfO+??bBoGtO7pf6UBd}s+S}F%H}qE zFt>LdKn<>gwrmzTYC+_Y$a7x0afHH}7e$#2ZN5HRrs$=rj`KNx`-YH&fv4h@@)|}% z_L8|XQP1P5z7|NL+Y#{CPb?5S{i*g{bq76ue) z1;Gb|COX%@)1p`zBPYKSMF=b?_H@0(zES}yC<^5o-ke}Z9);X}wA)T$x z_Nhr!u+PvBIJ6JXPUXf@*`7&ddnT0|PiNwcMvXPaV9PtE_rcQJo=IsTfxm)BEn8;VXfbWaJgO0L)juTuoPq$tKe&Y>KF$t};$2{_V3_Oc!_J+QW)%jq( zfuqC0ctP&Lv>xcLqM%@?K)k^kJk6lp!0v{EVs8aMpvgfPsY>vzfP%lfEkH*U43!uT z#Dm-f!+(cxMJt2ZNzk@+RBf_Zk*a>1&ZI~|bWv}j7DevCdm3r@!_ANSN zlVI50f@JW_H~-(wbFNlD z*_e&#FOO0u2YOA5R8Mx3+boIaqplKD?*pDZZ(-v3Q5Dd|QpmNC8*{1C^0rBJPHQmi z2fy(=#N3<0IA9>3Yg+S_js9F6TXkZRd#+CYubx=`6=;Y7Q_XzVh4Xf4MP%3Mp-;n)n+ zUSf3bgD|4t@-R#g%rH;+znRc;2dSXLqjp?_#-096%saP1;2U}s?eltgkP;J{Wp zE!>qBGHxIp#&#ib18G=mY1xG&4Wwc2ArS6d%}c1;Ye?$1k#P-QCToj<>|UjAi-H8* z?skcMKBxUQzOXGW6Y>8zD#Npq>#CHlAEXVAImRQwV}i#N;7=ZTb3z8>J^2mqKO^#< AUjP6A literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_update.bin b/examples/runtime/shaders/wgsl/vs_update.bin new file mode 100644 index 0000000000000000000000000000000000000000..8b85286578554b953d152c4bbf4b7f5adaebb98b GIT binary patch literal 775 zcmZvZO-{ow5QW{UE3<$TATJXXqNeStEm6dZB@&|BC_heRNbJh7LksF5xe?=}5l$dk z+4KD7%{RN3rz-@XxDB@xbgkn`DBBcKs#yt_PVel3LuJG8;39&>z>)9Pp&5mlW*D&5xbjQ=1;4;MGf)8^ zkPx_Y?z!il!|ML_6u~um|NI!Cvnnb?O7j(?&v#Nh9*+<@*2jn+A(XOs!$qlB;)pEs zNJ=HEW5sG3Rh(r)7EJBk1s>wcYQ2%7+V)YnRI*AGd9bZFxk#R(X*4CTn2>=EGABi> zX1m!{7WhjKzhN92N@r5JBwRC|GQKe%bu6zMHA_-M422N#g?~kGostIhZTEVRX#;7jw=US&Ybrri>$20MJ?zjM z-Wd(Ne|rDT)qZ2ej I=O~2x3)IXduK)l5 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_vt_generic.bin b/examples/runtime/shaders/wgsl/vs_vt_generic.bin new file mode 100644 index 0000000000000000000000000000000000000000..0fad127a040501415dd1e26efba229a560cf6bb7 GIT binary patch literal 882 zcmZuv!EW0y3{|=S1+>e)VBpan(lmB@YSO^iX~zM@b{Pu6vE@LmEd{dVB^v_t(?`kn zVyCqag2+em@jd-~{PvOHr#^4iSLE8VO69zqP7*S8VL~ly1pobAtLN#2bivyXgybUK zNmUz>1*#}!kaI1X)QE;ND@CDnCCo8g(Mw!yw>z!uevG2E(Ka*iqb>bfs_cbDEP}rj z;7kGTp-Ro&;ci_l*`X!RB6(t6Po>+(ks-c$7%mi)6C#0lv z#{qh|TRmGZ8?I5UUfEz&GuV8r@EH~1BN&h#>wU9&5qMB5Keb1K;eMI6Zn{{x>b{u{Vi3+i6atXIUr=x)~O7MT{(_v7a{QoJPI$u zWAGl#IL;=`vgDA+GvCZNKc92+_VrT_p7(z~JwNuIRkV<6mfvvp^^KCBhXc@W2YsV+S4%77p|quxp-fge)~*1v1M6g)B?bfDwXbMT{np; zhpGFz0~xk*8AyVV@4mmVl?9V3B#R{%Yc4kSU{W=6P0fjc4E-{%eIGGfI|2q6sQilD zG2C~@wL7sb+;=DccTaonOu$6Apj-&1f|RagE|sgGrWlcw3fM`ScSF&-l_l3)impAh zW6zm}MqZGYZ6lDo!H;*{=<)vGbUPx^c#^^T38~YZL7Kpf`>Q-bh7Rl;*#K4V>cfP8 z9PjqGZJG<`x9UZA>$*e+DA2WeLSn3doMQF$5CU71Wy1vl6FtLtLt{8JW2-HR&1UEY zff5^~1cqK>-}r%s@dKSskS7eALJgf_tfA+?9l+P7fG#Zp*gJII0P>ib}r(ro8D zeFbd{UXf;CUFD2Ad4c)?)wOwm`#}w!&Pjhj|4@0W?5+ask`>dH65S-QjR^M^<14|} S)Gow3e&ij&@9wAf%liwv(T+<1 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/wgsl/vs_wf_wireframe.bin b/examples/runtime/shaders/wgsl/vs_wf_wireframe.bin new file mode 100644 index 0000000000000000000000000000000000000000..b94f6f04be636c0aedaf43908184d211b7dda0d0 GIT binary patch literal 1053 zcmZ`&%Z}496m@4RKw-fz++~6?QPXs0F)dZZiX{?aHV9d6>Qsirt{f*cgGS;L_!C(0 z1$-9^u9LJ)GT=od`<#33Fuvid5-bnA%%9V_s2i zc3PGDAqlT~lkQP+?r=(s3+j-;97G2P?mYQ-;Uz zyoIBtg~xC-f>Vht3rU5PT)T`WDpR^k(Q5d>=w21V2qpW$UNgar8?0#oug*20%8?%& z`q4o>xZV2@2D22M1ZZWhQO2!;u`4fah92$aNNeZ*VJ1EXhx#6_z&%IXS7;+Wi#G9g zdRQsFwmB<0$IG$h_9bfIo2B)vTO1>#p+%iE-(OO3k!HScN-, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ) {. bgfx_FragD + 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, // ata0 = v.bgfx_cl + 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, 0x69, 0x5d, 0x3b, 0x0a, 0x7d, // ear_color[0i];.} + 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, // ..@fragment.fn m + 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // ain() -> @locati + 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // on(0u) vec4 + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // {. main_inner( + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, // );. return bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, // _FragData0;.}... + 0x10, 0x00, 0x80, 0x00, // .... +}; static const uint8_t fs_clear0_dx11[269] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear1.bin.h b/src/fs_clear1.bin.h index bcaca8c4e..52cc762a0 100644 --- a/src/fs_clear1.bin.h +++ b/src/fs_clear1.bin.h @@ -82,6 +82,53 @@ static const uint8_t fs_clear1_spv[801] = 0x00, 0x56, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, // .V.......8..... 0x00, // . }; +static const uint8_t fs_clear1_wgsl[704] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, // .............dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, // vec4;..fn m + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // ain_inner() {. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, // let v_1 = v.bgfx + 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, 0x69, 0x5d, // _clear_color[0i] + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, // ;. let v_2 = v. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // bgfx_clear_color + 0x5b, 0x31, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // [1i];. bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, // gData0 = v_1;. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3d, // bgfx_FragData1 = + 0x20, 0x76, 0x5f, 0x32, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, // v_2;.}..struct + 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, // tint_symbol {. + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, // @location(0u). + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, // bgfx_FragData0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, // ocation(1u). bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, 0x76, // fx_FragData1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, // ec4,.}..@fr + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, // agment.fn main() + 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, // -> tint_symbol + 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, // {. main_inner() + 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // ;. return tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // symbol(bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x30, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // Data0, bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x31, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00, // Data1);.}... ... +}; static const uint8_t fs_clear1_dx11[329] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear2.bin.h b/src/fs_clear2.bin.h index 39b4e7690..12cdf0b7f 100644 --- a/src/fs_clear2.bin.h +++ b/src/fs_clear2.bin.h @@ -94,6 +94,64 @@ static const uint8_t fs_clear2_spv[929] = 0x00, 0x61, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, // .a.......8.....0 0x00, // . }; +static const uint8_t fs_clear2_wgsl[868] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, // .........1...dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, // vec4;..var< + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // private> bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // agData2 : vec4;..fn main_in + 0x6e, 0x65, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // ner() {. let v_ + 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, // 1 = v.bgfx_clear + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // _color[0i];. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, // t v_2 = v.bgfx_c + 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x31, 0x69, 0x5d, 0x3b, 0x0a, // lear_color[1i];. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, // let v_3 = v.bg + 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x32, // fx_clear_color[2 + 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // i];. bgfx_FragD + 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, // ata0 = v_1;. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3d, 0x20, 0x76, // fx_FragData1 = v + 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // _2;. bgfx_FragD + 0x61, 0x74, 0x61, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, // ata2 = v_3;.}..s + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, // truct tint_symbo + 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // l {. @location( + 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // 0u). bgfx_FragD + 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ata0 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, // ,. @location(1u + 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ). bgfx_FragDat + 0x61, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // a1 : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, // @location(2u). + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, // bgfx_FragData2 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, // : vec4,.}. + 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // .@fragment.fn ma + 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // in() -> tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, // bol {. main_inn + 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, // er();. return t + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x62, 0x67, 0x66, 0x78, 0x5f, // int_symbol(bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData0, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData1, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, // FragData2);.}... + 0x30, 0x00, 0x80, 0x00, // 0... +}; static const uint8_t fs_clear2_dx11[389] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear3.bin.h b/src/fs_clear3.bin.h index 5c6f09b9c..db0d4f0b1 100644 --- a/src/fs_clear3.bin.h +++ b/src/fs_clear3.bin.h @@ -108,6 +108,74 @@ static const uint8_t fs_clear3_spv[1057] = 0x00, 0x6c, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, // .l.......8.....@ 0x00, // . }; +static const uint8_t fs_clear3_wgsl[1032] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, // .............dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, // vec4;..var< + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // private> bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // agData2 : vec4;..var bgfx_FragData + 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 3 : vec4;.. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x20, // fn main_inner() + 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, // {. let v_1 = v. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // bgfx_clear_color + 0x5b, 0x30, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, // [0i];. let v_2 + 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // = v.bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x31, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // olor[1i];. let + 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, // v_3 = v.bgfx_cle + 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x32, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // ar_color[2i];. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, // let v_4 = v.bgfx + 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x33, 0x69, 0x5d, // _clear_color[3i] + 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ;. bgfx_FragDat + 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // a0 = v_1;. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, // _FragData1 = v_2 + 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ;. bgfx_FragDat + 0x61, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // a2 = v_3;. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, // _FragData3 = v_4 + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, // ;.}..struct tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // _symbol {. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // ation(0u). bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _FragData0 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // 4,. @locat + 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // ion(1u). bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData1 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // n(2u). bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // gData2 : vec4,. @location( + 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // 3u). bgfx_FragD + 0x61, 0x74, 0x61, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ata3 : vec4 + 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, // ,.}..@fragment.f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // n main() -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, // _inner();. retu + 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x62, // rn tint_symbol(b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x2c, 0x20, 0x62, // gfx_FragData0, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x2c, 0x20, 0x62, // gfx_FragData1, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x2c, 0x20, 0x62, // gfx_FragData2, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x29, 0x3b, 0x0a, // gfx_FragData3);. + 0x7d, 0x0a, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, // }...@... +}; static const uint8_t fs_clear3_dx11[449] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear4.bin.h b/src/fs_clear4.bin.h index f3eab8125..fc9174dbf 100644 --- a/src/fs_clear4.bin.h +++ b/src/fs_clear4.bin.h @@ -120,6 +120,84 @@ static const uint8_t fs_clear4_spv[1185] = 0x00, 0x77, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, // .w.......8.....P 0x00, // . }; +static const uint8_t fs_clear4_wgsl[1196] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, // .........y...dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, // vec4;..var< + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // private> bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // agData2 : vec4;..var bgfx_FragData + 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 3 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, // var bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, // x_FragData4 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // c4;..fn mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // n_inner() {. le + 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, // t v_1 = v.bgfx_c + 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, 0x69, 0x5d, 0x3b, 0x0a, // lear_color[0i];. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, // let v_2 = v.bg + 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x31, // fx_clear_color[1 + 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, // i];. let v_3 = + 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, // v.bgfx_clear_col + 0x6f, 0x72, 0x5b, 0x32, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // or[2i];. let v_ + 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, // 4 = v.bgfx_clear + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x33, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // _color[3i];. le + 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, // t v_5 = v.bgfx_c + 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x34, 0x69, 0x5d, 0x3b, 0x0a, // lear_color[4i];. + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // bgfx_FragData0 + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // = v_1;. bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x3b, 0x0a, // ragData1 = v_2;. + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, // bgfx_FragData2 + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // = v_3;. bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, 0x3b, 0x0a, // ragData3 = v_4;. + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, // bgfx_FragData4 + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // = v_5;.}..struc + 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, // t tint_symbol {. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, // @location(0u). + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // bgfx_FragData0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, // : vec4,. + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, // @location(1u). + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, // bgfx_FragData1 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, // ocation(2u). bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, // fx_FragData2 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // ation(3u). bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _FragData3 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // 4,. @locat + 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // ion(4u). bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData4 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, // f32>,.}..@fragme + 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, 0x20, // nt.fn main() -> + 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, // tint_symbol {. + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, // main_inner();. + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, // return tint_symb + 0x6f, 0x6c, 0x28, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // ol(bgfx_FragData + 0x30, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // 0, bgfx_FragData + 0x31, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // 1, bgfx_FragData + 0x32, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // 2, bgfx_FragData + 0x33, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // 3, bgfx_FragData + 0x34, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x50, 0x00, 0x80, 0x00, // 4);.}...P... +}; static const uint8_t fs_clear4_dx11[509] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear5.bin.h b/src/fs_clear5.bin.h index 881e29669..c93c085a1 100644 --- a/src/fs_clear5.bin.h +++ b/src/fs_clear5.bin.h @@ -134,6 +134,94 @@ static const uint8_t fs_clear5_spv[1313] = 0x00, 0x82, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, // .........8.....` 0x00, // . }; +static const uint8_t fs_clear5_wgsl[1360] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x05, 0x00, 0x00, 0x64, 0x69, 0x61, // .............dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, // vec4;..var< + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // private> bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // agData2 : vec4;..var bgfx_FragData + 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 3 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, // var bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, // x_FragData4 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // Data5 : vec4;..fn main_inne + 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, // r() {. let v_1 + 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // = v.bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // olor[0i];. let + 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, // v_2 = v.bgfx_cle + 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x31, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // ar_color[1i];. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, // let v_3 = v.bgfx + 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x32, 0x69, 0x5d, // _clear_color[2i] + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, // ;. let v_4 = v. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // bgfx_clear_color + 0x5b, 0x33, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, // [3i];. let v_5 + 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // = v.bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x34, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // olor[4i];. let + 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, // v_6 = v.bgfx_cle + 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x35, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // ar_color[5i];. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, // bgfx_FragData0 = + 0x20, 0x76, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // v_1;. bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, // gData1 = v_2;. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3d, // bgfx_FragData2 = + 0x20, 0x76, 0x5f, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // v_3;. bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, 0x3b, 0x0a, 0x20, 0x20, // gData3 = v_4;. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3d, // bgfx_FragData4 = + 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // v_5;. bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x7d, 0x0a, // gData5 = v_6;.}. + 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // .struct tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // bol {. @locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // n(0u). bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // gData0 : vec4,. @location( + 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // 1u). bgfx_FragD + 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ata1 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, // ,. @location(2u + 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ). bgfx_FragDat + 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // a2 : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, // @location(3u). + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, // bgfx_FragData3 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, // : vec4,. + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, // @location(4u). + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, // bgfx_FragData4 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x35, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, // ocation(5u). bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x35, 0x20, 0x3a, 0x20, 0x76, // fx_FragData5 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, // ec4,.}..@fr + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, // agment.fn main() + 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, // -> tint_symbol + 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, // {. main_inner() + 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // ;. return tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // symbol(bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x30, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // Data0, bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x31, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // Data1, bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x32, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // Data2, bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x33, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // Data3, bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x34, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // Data4, bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x35, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x60, 0x00, 0x80, 0x00, // Data5);.}...`... +}; static const uint8_t fs_clear5_dx11[569] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear6.bin.h b/src/fs_clear6.bin.h index 0e6a9cceb..a13ff2666 100644 --- a/src/fs_clear6.bin.h +++ b/src/fs_clear6.bin.h @@ -146,6 +146,105 @@ static const uint8_t fs_clear6_spv[1441] = 0x00, 0x8d, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x70, // .........8.....p 0x00, // . }; +static const uint8_t fs_clear6_wgsl[1524] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x05, 0x00, 0x00, 0x64, 0x69, 0x61, // .............dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, // vec4;..var< + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // private> bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // agData2 : vec4;..var bgfx_FragData + 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 3 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, // var bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, // x_FragData4 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // Data5 : vec4;..var + 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x20, // bgfx_FragData6 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, // : vec4;..fn + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, // main_inner() {. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, // let v_1 = v.bg + 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, // fx_clear_color[0 + 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, // i];. let v_2 = + 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, // v.bgfx_clear_col + 0x6f, 0x72, 0x5b, 0x31, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // or[1i];. let v_ + 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, // 3 = v.bgfx_clear + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x32, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // _color[2i];. le + 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, // t v_4 = v.bgfx_c + 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x33, 0x69, 0x5d, 0x3b, 0x0a, // lear_color[3i];. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, // let v_5 = v.bg + 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x34, // fx_clear_color[4 + 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, // i];. let v_6 = + 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, // v.bgfx_clear_col + 0x6f, 0x72, 0x5b, 0x35, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // or[5i];. let v_ + 0x37, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, // 7 = v.bgfx_clear + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x36, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, // _color[6i];. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, // fx_FragData0 = v + 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // _1;. bgfx_FragD + 0x61, 0x74, 0x61, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, // ata1 = v_2;. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3d, 0x20, 0x76, // fx_FragData2 = v + 0x5f, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // _3;. bgfx_FragD + 0x61, 0x74, 0x61, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, // ata3 = v_4;. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3d, 0x20, 0x76, // fx_FragData4 = v + 0x5f, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // _5;. bgfx_FragD + 0x61, 0x74, 0x61, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, // ata5 = v_6;. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x20, 0x3d, 0x20, 0x76, // fx_FragData6 = v + 0x5f, 0x37, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, // _7;.}..struct ti + 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x6c, // nt_symbol {. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, // ocation(0u). bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // ation(1u). bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _FragData1 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // 4,. @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // ion(2u). bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData2 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // n(3u). bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // gData3 : vec4,. @location( + 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // 4u). bgfx_FragD + 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ata4 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x35, 0x75, // ,. @location(5u + 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ). bgfx_FragDat + 0x61, 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // a5 : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x36, 0x75, 0x29, 0x0a, // @location(6u). + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, // bgfx_FragData6 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, // : vec4,.}. + 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // .@fragment.fn ma + 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // in() -> tint_sym + 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, // bol {. main_inn + 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, // er();. return t + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x62, 0x67, 0x66, 0x78, 0x5f, // int_symbol(bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData0, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData1, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData2, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData3, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData4, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x35, 0x2c, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // FragData5, bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, // FragData6);.}... + 0x70, 0x00, 0x80, 0x00, // p... +}; static const uint8_t fs_clear6_dx11[629] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_clear7.bin.h b/src/fs_clear7.bin.h index 9d0d18815..82e4e68c2 100644 --- a/src/fs_clear7.bin.h +++ b/src/fs_clear7.bin.h @@ -160,6 +160,115 @@ static const uint8_t fs_clear7_spv[1569] = 0x00, 0x98, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, // .........8...... 0x00, // . }; +static const uint8_t fs_clear7_wgsl[1688] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, // gfx_clear_color. + 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x06, 0x00, 0x00, 0x64, 0x69, 0x61, // .........e...dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // {. bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x76, 0x65, 0x63, // olor : array, 8u>,.}.. + 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, // @group(0u) @bind + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, // ing(1u) var v : Uniform + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, // Block;..var bgfx_FragDa + 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // ta0 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, // ..var b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x20, 0x3a, 0x20, // gfx_FragData1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, // vec4;..var< + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, // private> bgfx_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // agData2 : vec4;..var bgfx_FragData + 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, // 3 : vec4;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, // var bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, // x_FragData4 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // Data5 : vec4;..var + 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x20, // bgfx_FragData6 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, // : vec4;..va + 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // r bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x37, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // FragData7 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // ;..fn main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // inner() {. let + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, // v_1 = v.bgfx_cle + 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x30, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // ar_color[0i];. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, // let v_2 = v.bgfx + 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x31, 0x69, 0x5d, // _clear_color[1i] + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, // ;. let v_3 = v. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // bgfx_clear_color + 0x5b, 0x32, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, // [2i];. let v_4 + 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // = v.bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x33, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // olor[3i];. let + 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, // v_5 = v.bgfx_cle + 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x34, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // ar_color[4i];. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, // let v_6 = v.bgfx + 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x35, 0x69, 0x5d, // _clear_color[5i] + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x76, 0x2e, // ;. let v_7 = v. + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // bgfx_clear_color + 0x5b, 0x36, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x38, 0x20, // [6i];. let v_8 + 0x3d, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, // = v.bgfx_clear_c + 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x37, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // olor[7i];. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // _FragData0 = v_1 + 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ;. bgfx_FragDat + 0x61, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // a1 = v_2;. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, // _FragData2 = v_3 + 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ;. bgfx_FragDat + 0x61, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // a3 = v_4;. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, // _FragData4 = v_5 + 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ;. bgfx_FragDat + 0x61, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // a5 = v_6;. bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, // _FragData6 = v_7 + 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ;. bgfx_FragDat + 0x61, 0x37, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x38, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, // a7 = v_8;.}..str + 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, // uct tint_symbol + 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, // {. @location(0u + 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ). bgfx_FragDat + 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // a0 : vec4,. + 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, // @location(1u). + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, // bgfx_FragData1 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, // : vec4,. + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, // @location(2u). + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x20, 0x3a, // bgfx_FragData2 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4,. @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x33, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, // ocation(3u). bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x20, 0x3a, 0x20, 0x76, // fx_FragData3 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x34, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, // ation(4u). bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _FragData4 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // 4,. @locat + 0x69, 0x6f, 0x6e, 0x28, 0x35, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // ion(5u). bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x35, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData5 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // f32>,. @locatio + 0x6e, 0x28, 0x36, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // n(6u). bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // gData6 : vec4,. @location( + 0x37, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // 7u). bgfx_FragD + 0x61, 0x74, 0x61, 0x37, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ata7 : vec4 + 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, // ,.}..@fragment.f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // n main() -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, // _inner();. retu + 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x62, // rn tint_symbol(b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x2c, 0x20, 0x62, // gfx_FragData0, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x31, 0x2c, 0x20, 0x62, // gfx_FragData1, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x32, 0x2c, 0x20, 0x62, // gfx_FragData2, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x33, 0x2c, 0x20, 0x62, // gfx_FragData3, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x34, 0x2c, 0x20, 0x62, // gfx_FragData4, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x35, 0x2c, 0x20, 0x62, // gfx_FragData5, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x36, 0x2c, 0x20, 0x62, // gfx_FragData6, b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x37, 0x29, 0x3b, 0x0a, // gfx_FragData7);. + 0x7d, 0x0a, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, // }....... +}; static const uint8_t fs_clear7_dx11[689] = { 0x46, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // FSH............b diff --git a/src/fs_debugfont.bin.h b/src/fs_debugfont.bin.h index eacab7d27..715672e60 100644 --- a/src/fs_debugfont.bin.h +++ b/src/fs_debugfont.bin.h @@ -121,43 +121,95 @@ static const uint8_t fs_debugfont_spv[1095] = 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, // ...............8 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ....... }; -static const uint8_t fs_debugfont_dx11[547] = +static const uint8_t fs_debugfont_wgsl[808] = { 0x46, 0x53, 0x48, 0x0b, 0xb8, 0xbe, 0x22, 0x66, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x73, // FSH..."f.......s - 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, // _texColor0...... - 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0x5a, 0xd5, 0xe8, 0x3a, 0x43, // .......DXBCZ..:C - 0x7d, 0xa8, 0x34, 0xa8, 0x0a, 0x2d, 0x0c, 0xa2, 0xce, 0x50, 0x4f, 0x01, 0x00, 0x00, 0x00, 0xf8, // }.4..-...PO..... - 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0xec, // .......,........ - 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x84, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, // ...ISGN......... - 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, // ...h............ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, // ...........t.... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, // ................ - 0x0f, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // ...t............ - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x00, // ...........z.... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, // ................ - 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, // ...SV_POSITION.C - 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, // OLOR.TEXCOORD..O - 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, // SGN,........... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, // .......SV_TARGET - 0x00, 0xab, 0xab, 0x53, 0x48, 0x44, 0x52, 0x04, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, // ...SHDR....@...A - 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, // ...Z....`......X - 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, // ....p......UU..b - 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, // ...........b.... - 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x03, // .......b...2.... - 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, // ...e.... ......h - 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x09, 0xf2, 0x00, 0x10, 0x00, 0x00, // .......E........ - 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, // ...F.......F~... - 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xf2, // ....`........... - 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // .......F.......F - 0x1e, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x09, 0xf2, // ...A.......2.... - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...............F - 0x0e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x31, // .......F.......1 - 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x10, 0x00, 0x00, // ...........:.... - 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x81, 0x80, 0x80, 0x3b, 0x0d, 0x00, 0x04, 0x03, 0x0a, // ....@.....;..... - 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, // .......6.... ... - 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, // ...F.......>.... - 0x00, 0x00, 0x00, // ... + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, // _texColor0...... + 0x02, 0x26, 0x00, 0xfb, 0x02, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // .&.....diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, // c(off, derivativ + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, // e_uniformity);.d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, // iagnostic(off, s + 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ubgroup_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, // ty);..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, // @binding(18u) v + 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, // ar s_texColorSam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, // pler : sampler;. + 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, // .@group(0u) @bin + 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, // ding(2u) var s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, // exColorTexture : + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, // texture_2d + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, // bgfx_FragData0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, // vec4;..fn + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // main_inner(v_col + 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // or0 : vec4, + 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // v_color1 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // , v_texcoor + 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, // d0 : vec2) + 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, // {. let v = mix( + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // v_color1, v_colo + 0x72, 0x30, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, // r0, textureSampl + 0x65, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, // e(s_texColorText + 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, // ure, s_texColorS + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ampler, v_texcoo + 0x72, 0x64, 0x30, 0x29, 0x2e, 0x78, 0x78, 0x78, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, // rd0).xxxx);. if + 0x20, 0x28, 0x28, 0x76, 0x2e, 0x77, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x39, 0x32, // ((v.w < 0.00392 + 0x31, 0x35, 0x36, 0x38, 0x38, 0x35, 0x39, 0x33, 0x36, 0x38, 0x35, 0x36, 0x32, 0x37, 0x66, 0x29, // 15688593685627f) + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x3b, // ) {. discard; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x7d, // . return;. } + 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, // . bgfx_FragData + 0x30, 0x20, 0x3d, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, // 0 = v;.}..@fragm + 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, // ent.fn main(@loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ation(0u) v_colo + 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, // r0 : vec4, + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, // @location(1u) v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color1 : vec4, @location(2u + 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, // ) v_texcoord0 : + 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, // vec2) -> @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, // ocation(0u) vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, // {. main_i + 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, // nner(v_color0, v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // _color1, v_texco + 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, // ord0);. return + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, // bgfx_FragData0;. + 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // }....... +}; +static const uint8_t fs_debugfont_dx11[526] = +{ + 0x46, 0x53, 0x48, 0x0b, 0xb8, 0xbe, 0x22, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, // FSH..."f........ + 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0x5a, 0xd5, 0xe8, 0x3a, 0x43, 0x7d, 0xa8, 0x34, 0xa8, 0x0a, // ..DXBCZ..:C}.4.. + 0x2d, 0x0c, 0xa2, 0xce, 0x50, 0x4f, 0x01, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x03, 0x00, // -...PO.......... + 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x49, 0x53, // ..,...........IS + 0x47, 0x4e, 0x84, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x68, 0x00, // GN............h. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......t......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x74, 0x00, // ..............t. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, // ................ + 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......z......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x53, 0x56, // ..............SV + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, // _POSITION.COLOR. + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, // TEXCOORD..OSGN,. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .......... ..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, // ................ + 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, // ..SV_TARGET...SH + 0x44, 0x52, 0x04, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x5a, 0x00, // DR....@...A...Z. + 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x18, 0x00, 0x04, 0x00, 0x70, // ...`......X....p + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, // ......UU..b..... + 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x02, 0x00, // ......b......... + 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x65, 0x00, // ..b...2.......e. + 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x02, 0x00, // ... ......h..... + 0x00, 0x00, 0x45, 0x00, 0x00, 0x09, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, // ..E...........F. + 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, // ......F~.......` + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xf2, 0x00, 0x10, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x80, 0x41, 0x00, // ..F.......F...A. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x09, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, // ......2......... + 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x01, 0x00, // ..........F..... + 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x07, 0x12, 0x00, // ..F.......1..... + 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, // ......:........@ + 0x00, 0x00, 0x81, 0x80, 0x80, 0x3b, 0x0d, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, 0x01, 0x00, // .....;.......... + 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, // ..6.... ......F. + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ......>....... }; static const uint8_t fs_debugfont_mtl[843] = { diff --git a/src/vs_clear.bin.h b/src/vs_clear.bin.h index 8a48a6642..cb171e2f4 100644 --- a/src/vs_clear.bin.h +++ b/src/vs_clear.bin.h @@ -93,6 +93,42 @@ static const uint8_t vs_clear_spv[835] = 0x00, 0x4d, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, // .M.......8...... 0x00, 0x10, 0x00, // ... }; +static const uint8_t vs_clear_wgsl[524] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // VSH............b + 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x02, // gfx_clear_depth. + 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x01, 0x00, 0x00, 0x64, 0x69, 0x61, // .............dia + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, // gnostic(off, der + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, // ivative_uniformi + 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, // ty);.diagnostic( + 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, // off, subgroup_un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // iformity);..stru + 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, // ct UniformBlock + 0x7b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x64, // {. bgfx_clear_d + 0x65, 0x70, 0x74, 0x68, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // epth : vec4 + 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // ,.}..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(0u) var + 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, 0x6e, // v : Un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, // iformBlock;..var + 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, // v_1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, // vec4;..fn m + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ain_inner(a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec3 + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, // ) {. v_1 = vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // (a_position + 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, // .x, a_position.y + 0x2c, 0x20, 0x76, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x64, // , v.bgfx_clear_d + 0x65, 0x70, 0x74, 0x68, 0x2e, 0x78, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x7d, // epth.x, 1.0f);.} + 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // ..@vertex.fn mai + 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, // n(@location(0u) + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // a_position : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, // 3) -> @buil + 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x76, 0x65, // tin(position) ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // c4 {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // _inner(a_positio + 0x6e, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5f, 0x31, // n);. return v_1 + 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x01, 0x01, 0x00, 0x10, 0x00, 0x10, 0x00, // ;.}......... +}; static const uint8_t vs_clear_dx11[327] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x62, // VSH............b diff --git a/src/vs_debugfont.bin.h b/src/vs_debugfont.bin.h index 64cdec5f3..d3b8d16a3 100644 --- a/src/vs_debugfont.bin.h +++ b/src/vs_debugfont.bin.h @@ -158,6 +158,78 @@ static const uint8_t vs_debugfont_spv[1428] = 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x04, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, // ....8........... 0x10, 0x00, 0x40, 0x00, // ..@. }; +static const uint8_t vs_debugfont_wgsl[1093] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xbe, 0x22, 0x66, 0x01, 0x00, 0x0f, 0x75, // VSH......."f...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ............diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec4; + 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, // ..var v + 0x5f, 0x34, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // _4 : vec2;. + 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, // .fn main_inner(a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // _color0 : vec4, a_color1 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // vec4, a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // ition : vec3, a_texcoord0 : + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec2) {. + 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // v_1 = (v.u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ViewProj * vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // f32>(a_position. + 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, // x, a_position.y, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, // a_position.z, 1 + 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, // .0f));. v_2 = a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, // _color0;. v_3 = + 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x34, // a_color1;. v_4 + 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, // = a_texcoord0;. + 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, // }..struct tint_s + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, // ymbol {. @built + 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, // in(position). m + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, // : vec4,. + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, // @location(0u). + 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, // m_1 : vec4, + 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, // . @location(1u) + 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // . m_2 : vec4,. @location( + 0x32, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, // 2u). m_3 : vec2 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, // ,.}..@verte + 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // x.fn main(@locat + 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ion(0u) a_color0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, // : vec4, @l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, // ocation(1u) a_co + 0x6c, 0x6f, 0x72, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // lor1 : vec4 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // a_position : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // 3, @locatio + 0x6e, 0x28, 0x33, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // n(3u) a_texcoord + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, // 0 : vec2) - + 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, // > tint_symbol {. + 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, // main_inner(a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x2c, // olor0, a_color1, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_position, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, // v_1, v_2, v_3, v + 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x04, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x10, // _4);.}.......... + 0x00, 0x40, 0x00, 0x40, 0x00, // .@.@. +}; static const uint8_t vs_debugfont_dx11[724] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xbe, 0x22, 0x66, 0x01, 0x00, 0x0f, 0x75, // VSH......."f...u diff --git a/tools/geometryv/fs_mesh.bin.h b/tools/geometryv/fs_mesh.bin.h index a7469ee42..2ec3f6d58 100644 --- a/tools/geometryv/fs_mesh.bin.h +++ b/tools/geometryv/fs_mesh.bin.h @@ -133,9 +133,9 @@ static const uint8_t fs_mesh_essl[1029] = 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, // agColor.w = 1.0; 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // .}... }; -static const uint8_t fs_mesh_spv[2582] = +static const uint8_t fs_mesh_spv[2342] = { - 0x46, 0x53, 0x48, 0x0b, 0xe3, 0xc2, 0x5c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, // FSH....e........ + 0x46, 0x53, 0x48, 0x0b, 0xe3, 0xc2, 0x5c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x09, // FSH....e........ 0x00, 0x00, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0b, 0x00, 0x08, 0x00, 0x27, 0x02, // ....#.........'. 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, // ......GLSL.std.4 @@ -221,37 +221,22 @@ static const uint8_t fs_mesh_spv[2582] = 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6d, 0x01, 0x00, 0x00, 0x70, 0x00, // ..........m...p. 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x70, 0x01, // ..l...Q.......p. 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F............. - 0x00, 0x00, 0x71, 0x01, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x51, 0x00, // ..q...j...p...Q. - 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00, // ......t...F..... - 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x01, 0x00, 0x00, 0x7b, 0x00, // ..........u...{. - 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x77, 0x01, // ..t...Q.......w. - 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F............. - 0x00, 0x00, 0x78, 0x01, 0x00, 0x00, 0x75, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x51, 0x00, // ..x...u...w...Q. - 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7b, 0x01, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00, // ......{...F..... - 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7c, 0x01, 0x00, 0x00, 0x83, 0x00, // ..........|..... - 0x00, 0x00, 0x7b, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7e, 0x01, // ..{...Q.......~. - 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F............. - 0x00, 0x00, 0x7f, 0x01, 0x00, 0x00, 0x7c, 0x01, 0x00, 0x00, 0x7e, 0x01, 0x00, 0x00, 0x51, 0x00, // ......|...~...Q. - 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x01, 0x00, // ..........F..... - 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0x8c, 0x00, // ................ - 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x85, 0x01, // ......Q......... - 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F............. - 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0x85, 0x01, 0x00, 0x00, 0x83, 0x00, // ................ - 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x93, 0x00, // ................ - 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x8b, 0x00, // ................ - 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8b, 0x01, // ......Q......... - 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F............. - 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x8b, 0x01, 0x00, 0x00, 0x51, 0x00, // ..............Q. - 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x01, 0x00, // ..........F..... + 0x00, 0x00, 0x71, 0x01, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x85, 0x00, // ..q...j...p..... + 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x01, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x68, 0x01, // ......u...{...h. + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x78, 0x01, 0x00, 0x00, 0x75, 0x01, // ..........x...u. + 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x7c, 0x01, // ..p...........|. + 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ......h......... + 0x00, 0x00, 0x7f, 0x01, 0x00, 0x00, 0x7c, 0x01, 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x85, 0x00, // ......|...l..... + 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x6c, 0x01, // ..............l. + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x83, 0x01, // ................ + 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x87, 0x01, // ..l............. + 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ................ + 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x85, 0x00, // ................ + 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x70, 0x01, // ..............p. 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8f, 0x01, 0x00, 0x00, 0x8c, 0x01, // ................ - 0x00, 0x00, 0x8e, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x92, 0x01, // ......Q......... - 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F.......Q..... - 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, // ......F......... - 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x92, 0x01, 0x00, 0x00, 0x94, 0x01, // ................ - 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x97, 0x01, 0x00, 0x00, 0x46, 0x01, // ..Q...........F. - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x99, 0x01, // ......Q......... - 0x00, 0x00, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..F............. - 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x97, 0x01, 0x00, 0x00, 0x99, 0x01, 0x00, 0x00, 0x83, 0x00, // ................ + 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x95, 0x01, // ..l............. + 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, // ..p...p......... + 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x83, 0x00, // ......h...h..... 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x9b, 0x01, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x9a, 0x01, // ................ 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x9c, 0x01, 0x00, 0x00, 0x9e, 0x00, // ................ 0x00, 0x00, 0x9b, 0x01, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0xab, 0x01, // ................ @@ -298,6 +283,126 @@ static const uint8_t fs_mesh_spv[2582] = 0x03, 0x00, 0x28, 0x01, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..(...&.......8. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... }; +static const uint8_t fs_mesh_wgsl[1872] = +{ + 0x46, 0x53, 0x48, 0x0b, 0xe3, 0xc2, 0x5c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x07, // FSH....e......8. + 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, // ..diagnostic(off + 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, // , derivative_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, // formity);.diagno + 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, // stic(off, subgro + 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, // up_uniformity);. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, // in_inner(v_norma + 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, // l : vec3) { + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, // . let v = norma + 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0a, // lize(v_normal);. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x78, 0x3b, // let v_1 = v.x; + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x79, // . let v_2 = v.y + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x2e, // ;. let v_3 = v. + 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, // z;. let v_4 = ( + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // (((((((vec3 + 0x28, 0x30, 0x2e, 0x32, 0x37, 0x32, 0x39, 0x39, 0x39, 0x32, 0x32, 0x37, 0x30, 0x34, 0x36, 0x39, // (0.2729992270469 + 0x36, 0x36, 0x35, 0x35, 0x32, 0x37, 0x33, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x37, 0x35, 0x34, // 6655273f, 0.2754 + 0x37, 0x30, 0x31, 0x30, 0x37, 0x37, 0x39, 0x33, 0x38, 0x30, 0x37, 0x39, 0x38, 0x33, 0x34, 0x66, // 701077938079834f + 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x35, 0x31, 0x34, 0x30, 0x38, 0x30, 0x34, 0x30, 0x35, 0x32, 0x33, // , 0.251408040523 + 0x35, 0x32, 0x39, 0x30, 0x35, 0x32, 0x37, 0x33, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, // 52905273f) + ((( + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x2d, 0x30, 0x2e, 0x33, 0x38, 0x34, // vec3(-0.384 + 0x31, 0x36, 0x33, 0x34, 0x39, 0x38, 0x38, 0x37, 0x38, 0x34, 0x37, 0x39, 0x30, 0x30, 0x33, 0x39, // 1634988784790039 + 0x31, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x34, 0x32, 0x33, 0x34, 0x39, 0x32, 0x32, 0x38, 0x32, // 1f, -0.423492282 + 0x36, 0x32, 0x39, 0x30, 0x31, 0x33, 0x30, 0x36, 0x31, 0x35, 0x32, 0x66, 0x2c, 0x20, 0x2d, 0x30, // 62901306152f, -0 + 0x2e, 0x34, 0x32, 0x35, 0x35, 0x33, 0x32, 0x37, 0x32, 0x38, 0x34, 0x33, 0x33, 0x36, 0x30, 0x39, // .425532728433609 + 0x30, 0x30, 0x38, 0x37, 0x39, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x2d, 0x30, 0x2e, 0x34, 0x38, // 00879f) * (-0.48 + 0x38, 0x36, 0x30, 0x32, 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, 0x33, 0x39, 0x33, 0x35, 0x35, // 8602519035339355 + 0x34, 0x37, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, 0x2e, // 47f * v_1)) * 2. + 0x30, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // 0f) * vec3( + 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, // 0.40000000596046 + 0x34, 0x34, 0x37, 0x37, 0x35, 0x34, 0x66, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, // 447754f))) + ((( + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x35, 0x35, 0x39, // vec3(0.0559 + 0x30, 0x36, 0x32, 0x39, 0x35, 0x37, 0x37, 0x36, 0x33, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x66, // 062957763671875f + 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x36, 0x36, 0x32, 0x37, 0x34, 0x33, 0x37, 0x34, 0x37, 0x32, // , 0.056627437472 + 0x33, 0x34, 0x33, 0x34, 0x34, 0x34, 0x38, 0x32, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x36, 0x39, // 34344482f, 0.069 + 0x39, 0x36, 0x39, 0x39, 0x33, 0x37, 0x32, 0x30, 0x35, 0x33, 0x31, 0x34, 0x36, 0x33, 0x36, 0x32, // 9699372053146362 + 0x33, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, 0x35, // 3f) * (0.4886025 + 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, 0x33, 0x39, 0x33, 0x35, 0x35, 0x34, 0x37, 0x66, 0x20, 0x2a, // 1903533935547f * + 0x20, 0x76, 0x5f, 0x32, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2a, // v_2)) * 2.0f) * + 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, // vec3(0.400 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, // 0000059604644775 + 0x34, 0x66, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, // 4f))) + (((vec3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x31, 0x32, 0x30, 0x39, 0x38, 0x35, 0x31, 0x35, 0x37, // f32>(0.120985157 + 0x37, 0x38, 0x37, 0x37, 0x39, 0x39, 0x38, 0x33, 0x35, 0x32, 0x31, 0x66, 0x2c, 0x20, 0x30, 0x2e, // 78779983521f, 0. + 0x31, 0x31, 0x39, 0x32, 0x39, 0x37, 0x39, 0x39, 0x36, 0x31, 0x36, 0x33, 0x33, 0x36, 0x38, 0x32, // 1192979961633682 + 0x32, 0x35, 0x31, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, 0x37, 0x31, 0x31, 0x31, 0x39, 0x36, // 251f, 0.11711196 + 0x36, 0x30, 0x31, 0x33, 0x39, 0x30, 0x38, 0x33, 0x38, 0x36, 0x32, 0x33, 0x66, 0x29, 0x20, 0x2a, // 601390838623f) * + 0x20, 0x28, 0x2d, 0x30, 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, 0x35, 0x31, 0x39, 0x30, 0x33, // (-0.48860251903 + 0x35, 0x33, 0x33, 0x39, 0x33, 0x35, 0x35, 0x34, 0x37, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x33, // 533935547f * v_3 + 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, // )) * 2.0f) * vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // 3(0.4000000 + 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x34, 0x66, 0x29, 0x29, // 0596046447754f)) + 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ) + (((vec3 + 0x28, 0x2d, 0x30, 0x2e, 0x31, 0x37, 0x36, 0x37, 0x31, 0x31, 0x36, 0x33, 0x33, 0x38, 0x30, 0x31, // (-0.176711633801 + 0x34, 0x36, 0x30, 0x32, 0x36, 0x36, 0x31, 0x31, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x37, // 46026611f, -0.17 + 0x30, 0x33, 0x33, 0x31, 0x34, 0x30, 0x33, 0x36, 0x31, 0x33, 0x30, 0x39, 0x30, 0x35, 0x31, 0x35, // 0331403613090515 + 0x31, 0x34, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x35, 0x31, 0x33, 0x34, 0x35, 0x30, 0x31, // 14f, -0.15134501 + 0x34, 0x35, 0x37, 0x32, 0x31, 0x34, 0x33, 0x35, 0x35, 0x34, 0x36, 0x39, 0x66, 0x29, 0x20, 0x2a, // 457214355469f) * + 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, 0x34, 0x38, 0x34, 0x38, 0x39, 0x35, 0x37, // ((1.09254848957 + 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, // 061767578f * v_1 + 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x66, // ) * v_3)) * 1.0f + 0x29, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, // ) * vec3(0. + 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, // 4000000059604644 + 0x37, 0x37, 0x35, 0x34, 0x66, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x76, 0x65, 0x63, // 7754f))) + ((vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x2d, 0x30, 0x2e, 0x31, 0x32, 0x34, 0x36, 0x38, 0x32, // 3(-0.124682 + 0x31, 0x31, 0x33, 0x35, 0x32, 0x38, 0x32, 0x35, 0x31, 0x36, 0x34, 0x37, 0x39, 0x35, 0x66, 0x2c, // 11352825164795f, + 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x31, 0x39, 0x33, 0x34, 0x30, 0x37, 0x38, 0x34, 0x38, 0x34, 0x37, // -0.119340784847 + 0x37, 0x33, 0x36, 0x33, 0x35, 0x38, 0x36, 0x34, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x39, // 73635864f, -0.09 + 0x36, 0x33, 0x30, 0x30, 0x33, 0x35, 0x36, 0x30, 0x39, 0x30, 0x30, 0x36, 0x38, 0x38, 0x31, 0x37, // 6300356090068817 + 0x31, 0x34, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, // 14f) * ((-1.0925 + 0x34, 0x38, 0x34, 0x38, 0x39, 0x35, 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, // 4848957061767578 + 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x29, // f * v_1) * v_2)) + 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x76, 0x65, // * 0.5f)) + ((ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x30, 0x31, 0x38, 0x35, 0x32, // c3(0.001852 + 0x33, 0x37, 0x38, 0x35, 0x39, 0x38, 0x34, 0x31, 0x34, 0x33, 0x36, 0x31, 0x34, 0x38, 0x66, 0x2c, // 37859841436148f, + 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x33, 0x32, 0x35, 0x39, 0x32, 0x37, 0x38, 0x34, 0x36, 0x31, 0x33, // -0.032592784613 + 0x33, 0x37, 0x30, 0x38, 0x39, 0x35, 0x33, 0x39, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x38, // 37089539f, -0.08 + 0x38, 0x32, 0x30, 0x34, 0x34, 0x39, 0x35, 0x36, 0x30, 0x38, 0x38, 0x30, 0x36, 0x36, 0x31, 0x30, // 8204495608806610 + 0x31, 0x31, 0x66, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x33, 0x31, 0x35, 0x33, 0x39, 0x31, // 11f) * (0.315391 + 0x35, 0x37, 0x30, 0x33, 0x32, 0x39, 0x36, 0x36, 0x36, 0x31, 0x33, 0x37, 0x37, 0x66, 0x20, 0x2a, // 5703296661377f * + 0x20, 0x28, 0x28, 0x28, 0x33, 0x2e, 0x30, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x20, // (((3.0f * v_2) + 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, // * v_2) - 1.0f))) + 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x76, 0x65, // * 0.5f)) + ((ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x32, 0x39, 0x36, 0x33, 0x36, 0x35, // c3(0.296365 + 0x34, 0x36, 0x39, 0x36, 0x39, 0x34, 0x31, 0x33, 0x37, 0x35, 0x37, 0x33, 0x32, 0x34, 0x66, 0x2c, // 46969413757324f, + 0x20, 0x30, 0x2e, 0x32, 0x38, 0x31, 0x32, 0x36, 0x38, 0x36, 0x38, 0x36, 0x30, 0x35, 0x36, 0x31, // 0.2812686860561 + 0x33, 0x37, 0x30, 0x38, 0x34, 0x39, 0x36, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x34, 0x33, 0x33, // 3708496f, 0.2433 + 0x32, 0x38, 0x32, 0x32, 0x38, 0x35, 0x39, 0x32, 0x38, 0x37, 0x32, 0x36, 0x31, 0x39, 0x36, 0x33, // 2822859287261963 + 0x66, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, 0x34, 0x38, // f) * ((-1.092548 + 0x34, 0x38, 0x39, 0x35, 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, 0x66, 0x20, // 48957061767578f + 0x2a, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x29, 0x20, 0x2a, // * v_3) * v_2)) * + 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, // 0.5f)) + ((vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x2d, 0x30, 0x2e, 0x30, 0x37, 0x39, 0x38, 0x32, 0x36, 0x36, // (-0.0798266 + 0x36, 0x37, 0x39, 0x30, 0x34, 0x38, 0x35, 0x33, 0x38, 0x32, 0x30, 0x38, 0x66, 0x2c, 0x20, 0x2d, // 679048538208f, - + 0x30, 0x2e, 0x31, 0x30, 0x39, 0x33, 0x34, 0x30, 0x39, 0x35, 0x38, 0x32, 0x39, 0x37, 0x32, 0x35, // 0.10934095829725 + 0x32, 0x36, 0x35, 0x35, 0x30, 0x33, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x35, 0x37, 0x32, // 265503f, -0.1572 + 0x30, 0x38, 0x38, 0x35, 0x39, 0x39, 0x32, 0x30, 0x35, 0x30, 0x31, 0x37, 0x30, 0x38, 0x39, 0x38, // 0885992050170898 + 0x66, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x34, 0x36, 0x32, 0x37, 0x34, 0x32, 0x34, // f) * (0.54627424 + 0x34, 0x37, 0x38, 0x35, 0x33, 0x30, 0x38, 0x38, 0x33, 0x37, 0x38, 0x39, 0x66, 0x20, 0x2a, 0x20, // 478530883789f * + 0x28, 0x28, 0x76, 0x5f, 0x33, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x20, 0x2d, 0x20, 0x28, // ((v_3 * v_3) - ( + 0x76, 0x5f, 0x31, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x29, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, // v_1 * v_1)))) * + 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // 0.5f));. bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData0 = vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x34, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2e, // f32>(v_4.x, v_4. + 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, // y, v_4.z, 1.0f); + 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, // .}..@fragment.fn + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, // main(@location( + 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3a, 0x20, 0x76, // 0u) v_normal : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, // ec3) -> @lo + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // cation(0u) vec4< + 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, // f32> {. main_in + 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, // ner(v_normal);. + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // return bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // gData0;.}....... +}; static const uint8_t fs_mesh_dx11[882] = { 0x46, 0x53, 0x48, 0x0b, 0xe3, 0xc2, 0x5c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x03, // FSH....e........ @@ -357,9 +462,9 @@ static const uint8_t fs_mesh_dx11[882] = 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, // ...@.....?>..... 0x00, 0x00, // .. }; -static const uint8_t fs_mesh_mtl[2001] = +static const uint8_t fs_mesh_mtl[2046] = { - 0x46, 0x53, 0x48, 0x0b, 0xe3, 0xc2, 0x5c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x07, // FSH....e........ + 0x46, 0x53, 0x48, 0x0b, 0xe3, 0xc2, 0x5c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x07, // FSH....e........ 0x00, 0x00, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, // ..#include .#inclu 0x64, 0x65, 0x20, 0x3c, 0x73, 0x69, 0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, // de @@ -382,109 +487,111 @@ static const uint8_t fs_mesh_mtl[2001] = 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, // {};. float3 0x5f, 0x33, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, 0x6f, 0x72, // _323 = fast::nor 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x69, 0x6e, 0x2e, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, // malize(in.v_norm - 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x62, 0x67, 0x66, // al);. out.bgf - 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x66, 0x6c, // x_FragData0 = fl - 0x6f, 0x61, 0x74, 0x34, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, // oat4((((((((floa - 0x74, 0x33, 0x28, 0x30, 0x2e, 0x32, 0x37, 0x32, 0x39, 0x39, 0x39, 0x32, 0x32, 0x37, 0x30, 0x34, // t3(0.27299922704 - 0x36, 0x39, 0x36, 0x36, 0x35, 0x35, 0x32, 0x37, 0x33, 0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, // 6966552734375, 0 - 0x2e, 0x32, 0x37, 0x35, 0x34, 0x37, 0x30, 0x31, 0x30, 0x37, 0x37, 0x39, 0x33, 0x38, 0x30, 0x37, // .275470107793807 - 0x39, 0x38, 0x33, 0x33, 0x39, 0x38, 0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x35, // 9833984375, 0.25 - 0x31, 0x34, 0x30, 0x38, 0x30, 0x34, 0x30, 0x35, 0x32, 0x33, 0x35, 0x32, 0x39, 0x30, 0x35, 0x32, // 1408040523529052 - 0x37, 0x33, 0x34, 0x33, 0x37, 0x35, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, // 734375) + (((flo - 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, 0x2e, 0x33, 0x38, 0x34, 0x31, 0x36, 0x33, 0x34, 0x39, 0x38, // at3(-0.384163498 - 0x38, 0x37, 0x38, 0x34, 0x37, 0x39, 0x30, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x2c, 0x20, // 87847900390625, - 0x2d, 0x30, 0x2e, 0x34, 0x32, 0x33, 0x34, 0x39, 0x32, 0x32, 0x38, 0x32, 0x36, 0x32, 0x39, 0x30, // -0.4234922826290 - 0x31, 0x33, 0x30, 0x36, 0x31, 0x35, 0x32, 0x33, 0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, // 130615234375, -0 - 0x2e, 0x34, 0x32, 0x35, 0x35, 0x33, 0x32, 0x37, 0x32, 0x38, 0x34, 0x33, 0x33, 0x36, 0x30, 0x39, // .425532728433609 - 0x30, 0x30, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, // 0087890625) * (( - 0x2d, 0x30, 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, // -0.4886025190353 - 0x33, 0x39, 0x33, 0x35, 0x35, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, // 3935546875) * _3 - 0x32, 0x33, 0x2e, 0x78, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, // 23.x)) * 2.0) * - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // float3(0.4000000 - 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, // 0596046447753906 - 0x32, 0x35, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, // 25))) + (((float - 0x33, 0x28, 0x30, 0x2e, 0x30, 0x35, 0x35, 0x39, 0x30, 0x36, 0x32, 0x39, 0x35, 0x37, 0x37, 0x36, // 3(0.055906295776 - 0x33, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x36, 0x36, 0x32, // 3671875, 0.05662 - 0x37, 0x34, 0x33, 0x37, 0x34, 0x37, 0x32, 0x33, 0x34, 0x33, 0x34, 0x34, 0x34, 0x38, 0x32, 0x34, // 7437472343444824 - 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x36, 0x39, 0x39, 0x36, 0x39, 0x39, // 21875, 0.0699699 - 0x33, 0x37, 0x32, 0x30, 0x35, 0x33, 0x31, 0x34, 0x36, 0x33, 0x36, 0x32, 0x33, 0x30, 0x34, 0x36, // 3720531463623046 - 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, // 875) * (0.488602 - 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, 0x33, 0x39, 0x33, 0x35, 0x35, 0x34, 0x36, 0x38, 0x37, // 5190353393554687 - 0x35, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x79, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, // 5 * _323.y)) * 2 - 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x34, // .0) * float3(0.4 - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, // 0000000596046447 - 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, // 75390625))) + (( - 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x31, 0x32, 0x30, 0x39, 0x38, 0x35, // (float3(0.120985 - 0x31, 0x35, 0x37, 0x37, 0x38, 0x37, 0x37, 0x39, 0x39, 0x38, 0x33, 0x35, 0x32, 0x30, 0x35, 0x30, // 1577877998352050 - 0x37, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, 0x39, 0x32, 0x39, 0x37, 0x39, // 78125, 0.1192979 - 0x39, 0x36, 0x31, 0x36, 0x33, 0x33, 0x36, 0x38, 0x32, 0x32, 0x35, 0x30, 0x39, 0x37, 0x36, 0x35, // 9616336822509765 - 0x36, 0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, 0x37, 0x31, 0x31, 0x31, 0x39, 0x36, 0x36, // 625, 0.117111966 - 0x30, 0x31, 0x33, 0x39, 0x30, 0x38, 0x33, 0x38, 0x36, 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, // 0139083862304687 - 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x2d, 0x30, 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, // 5) * ((-0.488602 - 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, 0x33, 0x39, 0x33, 0x35, 0x35, 0x34, 0x36, 0x38, 0x37, // 5190353393554687 - 0x35, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, // 5) * _323.z)) * - 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, // 2.0) * float3(0. - 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, // 4000000059604644 - 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, // 775390625))) + ( - 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, 0x2e, 0x31, 0x37, 0x36, 0x37, // ((float3(-0.1767 - 0x31, 0x31, 0x36, 0x33, 0x33, 0x38, 0x30, 0x31, 0x34, 0x36, 0x30, 0x32, 0x36, 0x36, 0x31, 0x31, // 1163380146026611 - 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x37, 0x30, 0x33, 0x33, // 328125, -0.17033 - 0x31, 0x34, 0x30, 0x33, 0x36, 0x31, 0x33, 0x30, 0x39, 0x30, 0x35, 0x31, 0x35, 0x31, 0x33, 0x36, // 1403613090515136 - 0x37, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x35, 0x31, 0x33, 0x34, 0x35, // 71875, -0.151345 - 0x30, 0x31, 0x34, 0x35, 0x37, 0x32, 0x31, 0x34, 0x33, 0x35, 0x35, 0x34, 0x36, 0x38, 0x37, 0x35, // 0145721435546875 - 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, 0x34, 0x38, 0x34, 0x38, // ) * ((1.09254848 - 0x39, 0x35, 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x20, // 957061767578125 - 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, // * _323.x) * _323 - 0x2e, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, 0x6c, // .z)) * 1.0) * fl - 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, // oat3(0.400000005 - 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, // 9604644775390625 - 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, // ))) + ((float3(- - 0x30, 0x2e, 0x31, 0x32, 0x34, 0x36, 0x38, 0x32, 0x31, 0x31, 0x33, 0x35, 0x32, 0x38, 0x32, 0x35, // 0.12468211352825 - 0x31, 0x36, 0x34, 0x37, 0x39, 0x34, 0x39, 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, // 164794921875, -0 - 0x2e, 0x31, 0x31, 0x39, 0x33, 0x34, 0x30, 0x37, 0x38, 0x34, 0x38, 0x34, 0x37, 0x37, 0x33, 0x36, // .119340784847736 - 0x33, 0x35, 0x38, 0x36, 0x34, 0x32, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, // 358642578125, -0 - 0x2e, 0x30, 0x39, 0x36, 0x33, 0x30, 0x30, 0x33, 0x35, 0x36, 0x30, 0x39, 0x30, 0x30, 0x36, 0x38, // .096300356090068 - 0x38, 0x31, 0x37, 0x31, 0x33, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, // 817138671875) * - 0x28, 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, 0x34, 0x38, 0x34, 0x38, 0x39, 0x35, // (((-1.0925484895 - 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x29, 0x20, 0x2a, // 7061767578125) * - 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, // _323.x) * _323. - 0x79, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, // y)) * 0.5)) + (( - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x30, 0x31, 0x38, 0x35, 0x32, 0x33, // float3(0.0018523 - 0x37, 0x38, 0x35, 0x39, 0x38, 0x34, 0x31, 0x34, 0x33, 0x36, 0x31, 0x34, 0x37, 0x36, 0x38, 0x39, // 7859841436147689 - 0x38, 0x31, 0x39, 0x33, 0x33, 0x35, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, // 8193359375, -0.0 - 0x33, 0x32, 0x35, 0x39, 0x32, 0x37, 0x38, 0x34, 0x36, 0x31, 0x33, 0x33, 0x37, 0x30, 0x38, 0x39, // 3259278461337089 - 0x35, 0x33, 0x38, 0x35, 0x37, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, // 53857421875, -0. - 0x30, 0x38, 0x38, 0x32, 0x30, 0x34, 0x34, 0x39, 0x35, 0x36, 0x30, 0x38, 0x38, 0x30, 0x36, 0x36, // 0882044956088066 - 0x31, 0x30, 0x31, 0x30, 0x37, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, // 10107421875) * ( - 0x30, 0x2e, 0x33, 0x31, 0x35, 0x33, 0x39, 0x31, 0x35, 0x37, 0x30, 0x33, 0x32, 0x39, 0x36, 0x36, // 0.31539157032966 - 0x36, 0x31, 0x33, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x20, 0x2a, 0x20, 0x28, 0x28, // 61376953125 * (( - 0x28, 0x33, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x79, 0x29, 0x20, 0x2a, // (3.0 * _323.y) * - 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x79, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, // _323.y) - 1.0)) - 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, 0x6c, // ) * 0.5)) + ((fl - 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x32, 0x39, 0x36, 0x33, 0x36, 0x35, 0x34, 0x36, 0x39, // oat3(0.296365469 - 0x36, 0x39, 0x34, 0x31, 0x33, 0x37, 0x35, 0x37, 0x33, 0x32, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, // 6941375732421875 - 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x38, 0x31, 0x32, 0x36, 0x38, 0x36, 0x38, 0x36, 0x30, 0x35, 0x36, // , 0.281268686056 - 0x31, 0x33, 0x37, 0x30, 0x38, 0x34, 0x39, 0x36, 0x30, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, // 1370849609375, 0 - 0x2e, 0x32, 0x34, 0x33, 0x33, 0x32, 0x38, 0x32, 0x32, 0x38, 0x35, 0x39, 0x32, 0x38, 0x37, 0x32, // .243328228592872 - 0x36, 0x31, 0x39, 0x36, 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, // 61962890625) * ( - 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, 0x34, 0x38, 0x34, 0x38, 0x39, 0x35, 0x37, // ((-1.09254848957 - 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, // 061767578125) * - 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x7a, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x79, // _323.z) * _323.y - 0x29, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, // )) * 0.5)) + ((f - 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, 0x2e, 0x30, 0x37, 0x39, 0x38, 0x32, 0x36, 0x36, // loat3(-0.0798266 - 0x36, 0x37, 0x39, 0x30, 0x34, 0x38, 0x35, 0x33, 0x38, 0x32, 0x30, 0x38, 0x30, 0x30, 0x37, 0x38, // 6790485382080078 - 0x31, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x30, 0x39, 0x33, 0x34, 0x30, 0x39, 0x35, // 125, -0.10934095 - 0x38, 0x32, 0x39, 0x37, 0x32, 0x35, 0x32, 0x36, 0x35, 0x35, 0x30, 0x32, 0x39, 0x32, 0x39, 0x36, // 8297252655029296 - 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x35, 0x37, 0x32, 0x30, 0x38, 0x38, 0x35, // 875, -0.15720885 - 0x39, 0x39, 0x32, 0x30, 0x35, 0x30, 0x31, 0x37, 0x30, 0x38, 0x39, 0x38, 0x34, 0x33, 0x37, 0x35, // 9920501708984375 - 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x34, 0x36, 0x32, 0x37, 0x34, 0x32, 0x34, 0x34, // ) * (0.546274244 - 0x37, 0x38, 0x35, 0x33, 0x30, 0x38, 0x38, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x20, // 785308837890625 - 0x2a, 0x20, 0x28, 0x28, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x32, // * ((_323.z * _32 - 0x33, 0x2e, 0x7a, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x78, 0x20, 0x2a, // 3.z) - (_323.x * - 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x78, 0x29, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, // _323.x)))) * 0. - 0x35, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, // 5), 1.0);. re - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, 0x00, 0x00, // turn out;.}..... - 0x00, // . + 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, // al);. float _ + 0x33, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, // 357 = _323.x;. + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x33, 0x36, 0x31, 0x20, 0x3d, 0x20, 0x5f, // float _361 = _ + 0x33, 0x32, 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // 323.y;. float + 0x20, 0x5f, 0x33, 0x36, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x32, 0x33, 0x2e, 0x7a, 0x3b, 0x0a, // _365 = _323.z;. + 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, // out.bgfx_Fra + 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, // gData0 = float4( + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, // (((((((float3(0. + 0x32, 0x37, 0x32, 0x39, 0x39, 0x39, 0x32, 0x32, 0x37, 0x30, 0x34, 0x36, 0x39, 0x36, 0x36, 0x35, // 2729992270469665 + 0x35, 0x32, 0x37, 0x33, 0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x37, 0x35, 0x34, // 52734375, 0.2754 + 0x37, 0x30, 0x31, 0x30, 0x37, 0x37, 0x39, 0x33, 0x38, 0x30, 0x37, 0x39, 0x38, 0x33, 0x33, 0x39, // 7010779380798339 + 0x38, 0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x35, 0x31, 0x34, 0x30, 0x38, 0x30, // 84375, 0.2514080 + 0x34, 0x30, 0x35, 0x32, 0x33, 0x35, 0x32, 0x39, 0x30, 0x35, 0x32, 0x37, 0x33, 0x34, 0x33, 0x37, // 4052352905273437 + 0x35, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, // 5) + (((float3(- + 0x30, 0x2e, 0x33, 0x38, 0x34, 0x31, 0x36, 0x33, 0x34, 0x39, 0x38, 0x38, 0x37, 0x38, 0x34, 0x37, // 0.38416349887847 + 0x39, 0x30, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x34, 0x32, // 900390625, -0.42 + 0x33, 0x34, 0x39, 0x32, 0x32, 0x38, 0x32, 0x36, 0x32, 0x39, 0x30, 0x31, 0x33, 0x30, 0x36, 0x31, // 3492282629013061 + 0x35, 0x32, 0x33, 0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x34, 0x32, 0x35, 0x35, // 5234375, -0.4255 + 0x33, 0x32, 0x37, 0x32, 0x38, 0x34, 0x33, 0x33, 0x36, 0x30, 0x39, 0x30, 0x30, 0x38, 0x37, 0x38, // 3272843360900878 + 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x2d, 0x30, 0x2e, 0x34, 0x38, // 90625) * ((-0.48 + 0x38, 0x36, 0x30, 0x32, 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, 0x33, 0x39, 0x33, 0x35, 0x35, // 8602519035339355 + 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x35, 0x37, 0x29, 0x29, 0x20, // 46875) * _357)) + 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, // * 2.0) * float3( + 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, // 0.40000000596046 + 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x29, 0x29, 0x20, 0x2b, // 44775390625))) + + 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x35, 0x35, // (((float3(0.055 + 0x39, 0x30, 0x36, 0x32, 0x39, 0x35, 0x37, 0x37, 0x36, 0x33, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, // 9062957763671875 + 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x36, 0x36, 0x32, 0x37, 0x34, 0x33, 0x37, 0x34, 0x37, 0x32, // , 0.056627437472 + 0x33, 0x34, 0x33, 0x34, 0x34, 0x34, 0x38, 0x32, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, // 34344482421875, + 0x30, 0x2e, 0x30, 0x36, 0x39, 0x39, 0x36, 0x39, 0x39, 0x33, 0x37, 0x32, 0x30, 0x35, 0x33, 0x31, // 0.06996993720531 + 0x34, 0x36, 0x33, 0x36, 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, // 463623046875) * + 0x28, 0x30, 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, // (0.4886025190353 + 0x33, 0x39, 0x33, 0x35, 0x35, 0x34, 0x36, 0x38, 0x37, 0x35, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x36, // 3935546875 * _36 + 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, // 1)) * 2.0) * flo + 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, // at3(0.4000000059 + 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, // 604644775390625) + 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, // )) + (((float3(0 + 0x2e, 0x31, 0x32, 0x30, 0x39, 0x38, 0x35, 0x31, 0x35, 0x37, 0x37, 0x38, 0x37, 0x37, 0x39, 0x39, // .120985157787799 + 0x38, 0x33, 0x35, 0x32, 0x30, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e, // 835205078125, 0. + 0x31, 0x31, 0x39, 0x32, 0x39, 0x37, 0x39, 0x39, 0x36, 0x31, 0x36, 0x33, 0x33, 0x36, 0x38, 0x32, // 1192979961633682 + 0x32, 0x35, 0x30, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, // 2509765625, 0.11 + 0x37, 0x31, 0x31, 0x31, 0x39, 0x36, 0x36, 0x30, 0x31, 0x33, 0x39, 0x30, 0x38, 0x33, 0x38, 0x36, // 7111966013908386 + 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x2d, 0x30, // 23046875) * ((-0 + 0x2e, 0x34, 0x38, 0x38, 0x36, 0x30, 0x32, 0x35, 0x31, 0x39, 0x30, 0x33, 0x35, 0x33, 0x33, 0x39, // .488602519035339 + 0x33, 0x35, 0x35, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x36, 0x35, // 35546875) * _365 + 0x29, 0x29, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, // )) * 2.0) * floa + 0x74, 0x33, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x36, // t3(0.40000000596 + 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x29, 0x29, // 04644775390625)) + 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, // ) + (((float3(-0 + 0x2e, 0x31, 0x37, 0x36, 0x37, 0x31, 0x31, 0x36, 0x33, 0x33, 0x38, 0x30, 0x31, 0x34, 0x36, 0x30, // .176711633801460 + 0x32, 0x36, 0x36, 0x31, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, // 26611328125, -0. + 0x31, 0x37, 0x30, 0x33, 0x33, 0x31, 0x34, 0x30, 0x33, 0x36, 0x31, 0x33, 0x30, 0x39, 0x30, 0x35, // 1703314036130905 + 0x31, 0x35, 0x31, 0x33, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, // 1513671875, -0.1 + 0x35, 0x31, 0x33, 0x34, 0x35, 0x30, 0x31, 0x34, 0x35, 0x37, 0x32, 0x31, 0x34, 0x33, 0x35, 0x35, // 5134501457214355 + 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x39, 0x32, // 46875) * ((1.092 + 0x35, 0x34, 0x38, 0x34, 0x38, 0x39, 0x35, 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, // 5484895706176757 + 0x38, 0x31, 0x32, 0x35, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x35, 0x37, 0x29, 0x20, 0x2a, 0x20, 0x5f, // 8125 * _357) * _ + 0x33, 0x36, 0x35, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x66, // 365)) * 1.0) * f + 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // loat3(0.40000000 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, // 5960464477539062 + 0x35, 0x29, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, // 5))) + ((float3( + 0x2d, 0x30, 0x2e, 0x31, 0x32, 0x34, 0x36, 0x38, 0x32, 0x31, 0x31, 0x33, 0x35, 0x32, 0x38, 0x32, // -0.1246821135282 + 0x35, 0x31, 0x36, 0x34, 0x37, 0x39, 0x34, 0x39, 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, // 5164794921875, - + 0x30, 0x2e, 0x31, 0x31, 0x39, 0x33, 0x34, 0x30, 0x37, 0x38, 0x34, 0x38, 0x34, 0x37, 0x37, 0x33, // 0.11934078484773 + 0x36, 0x33, 0x35, 0x38, 0x36, 0x34, 0x32, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x2d, // 6358642578125, - + 0x30, 0x2e, 0x30, 0x39, 0x36, 0x33, 0x30, 0x30, 0x33, 0x35, 0x36, 0x30, 0x39, 0x30, 0x30, 0x36, // 0.09630035609006 + 0x38, 0x38, 0x31, 0x37, 0x31, 0x33, 0x38, 0x36, 0x37, 0x31, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, // 8817138671875) * + 0x20, 0x28, 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x39, 0x32, 0x35, 0x34, 0x38, 0x34, 0x38, 0x39, // (((-1.092548489 + 0x35, 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x29, 0x20, // 57061767578125) + 0x2a, 0x20, 0x5f, 0x33, 0x35, 0x37, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x36, 0x31, 0x29, 0x29, // * _357) * _361)) + 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, 0x6c, 0x6f, // * 0.5)) + ((flo + 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x30, 0x31, 0x38, 0x35, 0x32, 0x33, 0x37, 0x38, 0x35, // at3(0.0018523785 + 0x39, 0x38, 0x34, 0x31, 0x34, 0x33, 0x36, 0x31, 0x34, 0x37, 0x36, 0x38, 0x39, 0x38, 0x31, 0x39, // 9841436147689819 + 0x33, 0x33, 0x35, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x33, 0x32, 0x35, // 3359375, -0.0325 + 0x39, 0x32, 0x37, 0x38, 0x34, 0x36, 0x31, 0x33, 0x33, 0x37, 0x30, 0x38, 0x39, 0x35, 0x33, 0x38, // 9278461337089538 + 0x35, 0x37, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x38, 0x38, // 57421875, -0.088 + 0x32, 0x30, 0x34, 0x34, 0x39, 0x35, 0x36, 0x30, 0x38, 0x38, 0x30, 0x36, 0x36, 0x31, 0x30, 0x31, // 2044956088066101 + 0x30, 0x37, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x33, // 07421875) * (0.3 + 0x31, 0x35, 0x33, 0x39, 0x31, 0x35, 0x37, 0x30, 0x33, 0x32, 0x39, 0x36, 0x36, 0x36, 0x31, 0x33, // 1539157032966613 + 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x28, 0x33, 0x2e, // 76953125 * (((3. + 0x30, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x36, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x36, 0x31, // 0 * _361) * _361 + 0x29, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, // ) - 1.0))) * 0.5 + 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, // )) + ((float3(0. + 0x32, 0x39, 0x36, 0x33, 0x36, 0x35, 0x34, 0x36, 0x39, 0x36, 0x39, 0x34, 0x31, 0x33, 0x37, 0x35, // 2963654696941375 + 0x37, 0x33, 0x32, 0x34, 0x32, 0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x38, 0x31, // 732421875, 0.281 + 0x32, 0x36, 0x38, 0x36, 0x38, 0x36, 0x30, 0x35, 0x36, 0x31, 0x33, 0x37, 0x30, 0x38, 0x34, 0x39, // 2686860561370849 + 0x36, 0x30, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x34, 0x33, 0x33, 0x32, 0x38, // 609375, 0.243328 + 0x32, 0x32, 0x38, 0x35, 0x39, 0x32, 0x38, 0x37, 0x32, 0x36, 0x31, 0x39, 0x36, 0x32, 0x38, 0x39, // 2285928726196289 + 0x30, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x39, // 0625) * (((-1.09 + 0x32, 0x35, 0x34, 0x38, 0x34, 0x38, 0x39, 0x35, 0x37, 0x30, 0x36, 0x31, 0x37, 0x36, 0x37, 0x35, // 2548489570617675 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x36, 0x35, 0x29, 0x20, 0x2a, // 78125) * _365) * + 0x20, 0x5f, 0x33, 0x36, 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, // _361)) * 0.5)) + 0x2b, 0x20, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, 0x2e, 0x30, 0x37, // + ((float3(-0.07 + 0x39, 0x38, 0x32, 0x36, 0x36, 0x36, 0x37, 0x39, 0x30, 0x34, 0x38, 0x35, 0x33, 0x38, 0x32, 0x30, // 9826667904853820 + 0x38, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x30, 0x39, // 80078125, -0.109 + 0x33, 0x34, 0x30, 0x39, 0x35, 0x38, 0x32, 0x39, 0x37, 0x32, 0x35, 0x32, 0x36, 0x35, 0x35, 0x30, // 3409582972526550 + 0x32, 0x39, 0x32, 0x39, 0x36, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x35, 0x37, // 29296875, -0.157 + 0x32, 0x30, 0x38, 0x38, 0x35, 0x39, 0x39, 0x32, 0x30, 0x35, 0x30, 0x31, 0x37, 0x30, 0x38, 0x39, // 2088599205017089 + 0x38, 0x34, 0x33, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x34, 0x36, 0x32, // 84375) * (0.5462 + 0x37, 0x34, 0x32, 0x34, 0x34, 0x37, 0x38, 0x35, 0x33, 0x30, 0x38, 0x38, 0x33, 0x37, 0x38, 0x39, // 7424478530883789 + 0x30, 0x36, 0x32, 0x35, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x5f, 0x33, 0x36, 0x35, 0x20, 0x2a, 0x20, // 0625 * ((_365 * + 0x5f, 0x33, 0x36, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x33, 0x35, 0x37, 0x20, 0x2a, 0x20, // _365) - (_357 * + 0x5f, 0x33, 0x35, 0x37, 0x29, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x2c, // _357)))) * 0.5), + 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // 1.0);. retur + 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, // n out;.}...... }; extern const uint8_t* fs_mesh_pssl; extern const uint32_t fs_mesh_pssl_size; diff --git a/tools/geometryv/vs_mesh.bin.h b/tools/geometryv/vs_mesh.bin.h index a34ba7b3c..78cd00064 100644 --- a/tools/geometryv/vs_mesh.bin.h +++ b/tools/geometryv/vs_mesh.bin.h @@ -1,17 +1,17 @@ static const uint8_t vs_mesh_glsl[445] = { - 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x07, 0x75, // VSH........e...u - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // _model.......... - 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // .u_modelViewProj + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0f, 0x75, // VSH........e...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x01, 0x00, 0x00, 0x61, 0x74, // ..........~...at 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x61, 0x5f, 0x6e, // tribute vec3 a_n 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, // ormal;.attribute 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // vec3 a_position 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x76, // ;.varying vec3 v 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, // _normal;.uniform - 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, // mat4 u_model[1] - 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, // ;.uniform mat4 u - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, // _modelViewProj;. + 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // mat4 u_modelVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, // wProj;.uniform m + 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, // at4 u_model[1];. 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x20, // void main ().{. 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, // vec4 tmpvar_1;. 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x31, // tmpvar_1.w = 1 @@ -31,9 +31,9 @@ static const uint8_t vs_mesh_glsl[445] = }; static const uint8_t vs_mesh_essl[481] = { - 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x07, 0x75, // VSH........e...u - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // _model.......... - 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // .u_modelViewProj + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0f, 0x75, // VSH........e...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa2, 0x01, 0x00, 0x00, 0x61, 0x74, // ..............at 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, // tribute highp ve 0x63, 0x33, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x61, 0x74, 0x74, // c3 a_normal;.att @@ -41,10 +41,10 @@ static const uint8_t vs_mesh_essl[481] = 0x33, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x76, 0x61, // 3 a_position;.va 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x33, // rying highp vec3 0x20, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, // v_normal;.unifo - 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, // rm mat4 u_model[ - 0x31, 0x5d, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x68, 0x69, 0x67, 0x68, // 1];.uniform high - 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // p mat4 u_modelVi - 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, // ewProj;.void mai + 0x72, 0x6d, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, // rm highp mat4 u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x75, // modelViewProj;.u + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, // niform mat4 u_mo + 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, // del[1];.void mai 0x6e, 0x20, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, // n ().{. highp v 0x65, 0x63, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, // ec4 tmpvar_1;. 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, // tmpvar_1.w = 1.0 @@ -67,8 +67,8 @@ static const uint8_t vs_mesh_spv[1514] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0f, 0x75, // VSH........e...u 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. - 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // @........u_model - 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x05, 0x00, 0x00, 0x03, 0x02, // ................ + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model + 0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x05, 0x00, 0x00, 0x03, 0x02, // ..@............. 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0b, 0x00, 0x08, 0x00, 0x8e, 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, // ..GLSL.std.450.. @@ -78,10 +78,10 @@ static const uint8_t vs_mesh_spv[1514] = 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00, 0x05, 0x00, // ................ 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ......main...... 0x06, 0x00, 0x22, 0x00, 0x00, 0x00, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, // .."...UniformBlo - 0x63, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ck........"..... - 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x07, 0x00, 0x22, 0x00, // ..u_model.....". - 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // ......u_modelVie - 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x05, 0x00, 0x03, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, // wProj.....$..... + 0x63, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ck........"..... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x05, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.....".......u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x05, 0x00, 0x03, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, // model.....$..... 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, // ......@...a_norm 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x43, 0x00, 0x00, 0x00, 0x61, 0x5f, // al........C...a_ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x4c, 0x00, // position......L. @@ -117,7 +117,7 @@ static const uint8_t vs_mesh_spv[1514] = 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .......... ..... 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // ..+....... ..... 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x20, 0x00, // ......!....... . - 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1e, 0x00, // ......"...!..... + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x21, 0x00, // ......".......!. 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x22, 0x00, // .. ...#.......". 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, // ..;...#...$..... 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x00, // .. ...%......... @@ -140,7 +140,7 @@ static const uint8_t vs_mesh_spv[1514] = 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x02, 0x00, // ......h...D..... 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x09, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x66, 0x00, // ..P.......i...f. 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x41, 0x00, // ..g...h.......A. - 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x13, 0x00, // ..%...j...$..... + 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x18, 0x00, // ..%...j...$..... 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x6a, 0x00, // ..=.......k...j. 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x69, 0x00, // ..........l...i. 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6f, 0x00, // ..k...........o. @@ -152,7 +152,7 @@ static const uint8_t vs_mesh_spv[1514] = 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x09, 0x00, // ..q.......P..... 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x75, 0x00, // ..v...s...t...u. 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x25, 0x00, 0x00, 0x00, 0x77, 0x00, // ......A...%...w. - 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..$...........=. + 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..$...........=. 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x90, 0x00, // ......x...w..... 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, // ......y...v...x. 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x79, 0x00, // ..O.......z...y. @@ -161,14 +161,77 @@ static const uint8_t vs_mesh_spv[1514] = 0x03, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..P...z.......8. 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x01, 0x00, 0x80, 0x00, // .......... }; +static const uint8_t vs_mesh_wgsl[954] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0f, 0x75, // VSH........e...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model + 0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x03, 0x00, 0x00, 0x64, 0x69, // ..@.......r...di + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, // agnostic(off, de + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, // rivative_uniform + 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, // ity);.diagnostic + 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, // (off, subgroup_u + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, // niformity);..str + 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, // uct UniformBlock + 0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // _1_1 {. u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, // ViewProj : mat4x + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // 4,. u_mode + 0x6c, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, // l : array, 1u>,.}..@ + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi + 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, // ng(0u) var v : UniformB + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, // lock_1_1;..var

v_1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4;..var v_2 : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, // 3;..fn main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, // _inner(a_normal + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, // : vec3, a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // osition : vec3) {. let v_3 + 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // = (v.u_modelVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // wProj * vec4(a_position.x, + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, // a_position.y, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, // position.z, 1.0f + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, // ));. let v_4 = + 0x28, 0x28, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, // ((a_normal * 2.0 + 0x66, 0x29, 0x20, 0x2d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, // f) - vec3(1 + 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, // .0f));. let v_5 + 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x30, // = ((v.u_model[0 + 0x69, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // i] * vec4(v + 0x5f, 0x34, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x34, // _4.x, v_4.y, v_4 + 0x2e, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, // .z, 0.0f))).xyz; + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x33, 0x3b, 0x0a, 0x20, 0x20, // . v_1 = v_3;. + 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, // v_2 = v_5;.}..st + 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, // ruct tint_symbol + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, // {. @builtin(po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, // sition). m : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // c4,. @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, // tion(0u). m_1 : + 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // vec3,.}..@ + 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, // vertex.fn main(@ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x6e, // location(0u) a_n + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // ormal : vec3, @location(1u) + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, // a_position : ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // c3) -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2c, // _inner(a_normal, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x20, 0x20, // a_position);. + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, // return tint_symb + 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, // ol(v_1, v_2);.}. + 0x00, 0x02, 0x02, 0x00, 0x01, 0x00, 0x80, 0x00, 0x80, 0x00, // .......... +}; static const uint8_t vs_mesh_dx11[694] = { - 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x07, 0x75, // VSH........e...u - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // _model.......... - 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // .u_modelViewProj - 0x04, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x02, 0x00, 0x00, 0x44, 0x58, // ..@.......p...DX - 0x42, 0x43, 0x95, 0xfc, 0x07, 0xc8, 0x88, 0xd7, 0xca, 0x43, 0x26, 0xb5, 0xde, 0xc5, 0x38, 0x92, // BC.......C&...8. - 0x16, 0x02, 0x01, 0x00, 0x00, 0x00, 0x70, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, // ......p.......,. + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0f, 0x75, // VSH........e...u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x00, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model + 0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x02, 0x00, 0x00, 0x44, 0x58, // ..@.......p...DX + 0x42, 0x43, 0x49, 0xa2, 0x56, 0xfe, 0x7f, 0x4e, 0x80, 0x97, 0x43, 0x55, 0x11, 0x99, 0xfe, 0x9f, // BCI.V..N..CU.... + 0x60, 0xdb, 0x01, 0x00, 0x00, 0x00, 0x70, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, // `.....p.......,. 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x48, 0x00, // ..|.......ISGNH. 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, // ..........8..... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, // ................ @@ -181,30 +244,30 @@ static const uint8_t vs_mesh_dx11[694] = 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, // ..........SV_POS 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x00, 0xab, 0x53, 0x48, // ITION.NORMAL..SH 0x45, 0x58, 0x98, 0x01, 0x00, 0x00, 0x50, 0x00, 0x01, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6a, 0x08, // EX....P...f...j. - 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, // ..Y...F. ....... + 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ..Y...F. ....... 0x00, 0x00, 0x5f, 0x00, 0x00, 0x03, 0x72, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, // .._...r......._. 0x00, 0x03, 0x72, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x04, 0xf2, 0x20, // ..r.......g.... 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0x72, 0x20, // ..........e...r 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, // ......h.......8. 0x00, 0x08, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x15, 0x10, 0x00, 0x01, 0x00, // ..........V..... - 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, // ..F. .........2. + 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, // ..F. .........2. 0x00, 0x0a, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, // ..........F. ... - 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0e, // ..............F. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0e, // ..............F. 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, // ......2......... - 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xa6, 0x1a, // ..F. ........... + 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xa6, 0x1a, // ..F. ........... 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......F......... 0x00, 0x08, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, // ... ......F..... - 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, // ..F. .........2. + 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, // ..F. .........2. 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x00, 0x00, // ..r.......F..... 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, // ...@.....@...@.. 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, // .@.....@........ 0x80, 0xbf, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, // ..........8...r. 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x82, // ......V.......F. - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0xb2, 0x00, // .........2..... - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......F. ....... + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0xb2, 0x00, // .........2..... + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, // ......F. ....... 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x08, 0x10, 0x00, 0x01, 0x00, // ..........F..... 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x20, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x82, // ..2...r ......F. - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xa6, 0x0a, 0x10, 0x00, 0x00, 0x00, // ............... + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xa6, 0x0a, 0x10, 0x00, 0x00, 0x00, // ............... 0x00, 0x00, 0x46, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x02, // ..F.......>..... 0x02, 0x00, 0x01, 0x00, 0x80, 0x00, // ...... }; @@ -212,17 +275,17 @@ static const uint8_t vs_mesh_mtl[837] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0f, 0x75, // VSH........e...u 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. - 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // @........u_model - 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x02, 0x00, 0x00, 0x23, 0x69, // ..............#i + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model + 0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x02, 0x00, 0x00, 0x23, 0x69, // ..@...........#i 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, // nclude .#include < 0x73, 0x69, 0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, 0x0a, 0x0a, 0x75, 0x73, // simd/simd.h>..us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x5f, 0x47, 0x6c, // tal;..struct _Gl 0x6f, 0x62, 0x61, 0x6c, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // obal.{. float - 0x34, 0x78, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, // 4x4 u_model[1];. - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x75, 0x5f, 0x6d, // float4x4 u_m - 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x7d, 0x3b, // odelViewProj;.}; + 0x34, 0x78, 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // 4x4 u_modelViewP + 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, // roj;. float4x + 0x34, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, // 4 u_model[1];.}; 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, // ..struct xlatMtl 0x4d, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, // Main_out.{..floa 0x74, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, // t bgfx_metal_poi diff --git a/tools/texturev/fs_texture.bin.h b/tools/texturev/fs_texture.bin.h index 7215412dc..99f3e6cd7 100644 --- a/tools/texturev/fs_texture.bin.h +++ b/tools/texturev/fs_texture.bin.h @@ -584,121 +584,348 @@ static const uint8_t fs_texture_spv[4403] = 0x01, 0x00, 0x00, 0x19, 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ...........8.... 0x00, 0x20, 0x00, // . . }; -static const uint8_t fs_texture_dx11[1796] = +static const uint8_t fs_texture_wgsl[3613] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x01, 0x10, 0x00, // ...u_params1.... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo + 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0xc8, 0x0d, 0x00, 0x00, 0x64, // r0.......&.....d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, // iagnostic(off, d + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // erivative_unifor + 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // mity);.diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, // c(off, subgroup_ + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, // uniformity);..@g + 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, // roup(0u) @bindin + 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, // g(18u) var s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, // ColorSampler : s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // ampler;..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, // 0u) @binding(2u) + 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, // var s_texColorT + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, // exture : texture + 0x5f, 0x32, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // _2d;..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, // t UniformBlock { + 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x20, 0x3a, 0x20, 0x76, // . u_params0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, // ec4,. u_pa + 0x72, 0x61, 0x6d, 0x73, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // rams1 : vec4,.}..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, // @binding(1u) va + 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, // r v : U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, // niformBlock;..va + 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // r bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // FragData0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // ;..fn main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // inner(v_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // vec4, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // xcoord0 : vec3) {. let v_1 + 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // = textureSample + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // Level(s_texColor + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, // Texture, s_texCo + 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // lorSampler, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, // xcoord0.xy, v.u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // params0.x);. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x3b, // t v_2 = v_1.xyz; + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, // . let v_3 = pow + 0x28, 0x61, 0x62, 0x73, 0x28, 0x76, 0x5f, 0x32, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // (abs(v_2), vec3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x32, 0x2e, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x37, // f32>(2.200000047 + 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x66, 0x29, 0x29, 0x3b, 0x0a, // 68371582031f));. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, // let v_4 = v.u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // params0.z;. let + 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x5f, 0x33, 0x2c, // v_5 = (mix(v_3, + 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // v_2, vec3( + 0x76, 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x20, // v_4, v_4, v_4)) + 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x32, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, // * pow(2.0f, v.u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, // params0.w));. v + 0x61, 0x72, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // ar v_6 : vec4 = v_1;. v_6. + 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, // x = v_5.x;. var + 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_7 : vec4 + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x79, 0x20, // = v_6;. v_7.y + 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, // = v_5.y;. var v + 0x5f, 0x38, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, // _8 : vec4 = + 0x20, 0x76, 0x5f, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x38, 0x2e, 0x7a, 0x20, 0x3d, 0x20, // v_7;. v_8.z = + 0x76, 0x5f, 0x35, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, // v_5.z;. let v_9 + 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x38, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // = (v_8 * v_colo + 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x20, // r0);. let v_10 + 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x2e, 0x78, 0x3b, // = v.u_params1.x; + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, // . let v_11 = v. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, // u_params1.y;. v + 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // ar v_12 : vec3;. if ((v_10 + 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // < 0.5f)) {. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, // let v_13 = clamp + 0x28, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // (v_9.xyz, vec3(), vec3 + 0x28, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, // (1.0f));. let + 0x20, 0x76, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x3b, 0x0a, // v_14 = v_13.x;. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3a, 0x20, 0x66, // var v_15 : f + 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, // 32;. switch(0 + 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, // u) {. defau + 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, // lt: {. if + 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x34, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, // ((v_14 <= 0.003 + 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, // 1308000907301902 + 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 8f)) {. + 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, // v_15 = (12.9200 + 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, // 000762939453125f + 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // * v_14);. + 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, // v_15 = ((1 + 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, // .054999947547912 + 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, // 59766f * pow(v_1 + 0x34, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, // 4, 0.41666665673 + 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, // 25592041f)) - 0. + 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, // 0549999997019767 + 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 7612f);. + 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, // }. }. } + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, // . let v_16 = + 0x76, 0x5f, 0x31, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // v_15;. let v_ + 0x31, 0x37, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, // 17 = v_13.y;. + 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, // var v_18 : f32; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, // . switch(0u) + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, // {. default: + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, // {. if (( + 0x76, 0x5f, 0x31, 0x37, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, // v_17 <= 0.003130 + 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, // 80009073019028f) + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, // ) {. v_ + 0x31, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, // 18 = (12.9200000 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, // 762939453125f * + 0x76, 0x5f, 0x31, 0x37, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // v_17);. + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, // v_18 = ((1.05 + 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, // 4999947547912597 + 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x2c, 0x20, // 66f * pow(v_17, + 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, // 0.41666665673255 + 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, // 92041f)) - 0.054 + 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, // 9999997019767761 + 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, // 2f);. b + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, // reak;. }. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, // }. }. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // let v_19 = v_1 + 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x30, 0x20, // 8;. let v_20 + 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, // = v_13.z;. va + 0x72, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, // r v_21 : f32;. + 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, // switch(0u) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, // default: {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x32, // if ((v_2 + 0x30, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, // 0 <= 0.003130800 + 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, // 09073019028f)) { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, // . v_21 + 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, // = (12.9200000762 + 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, // 939453125f * v_2 + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, // 0);. br + 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, // eak;. } e + 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // lse {. + 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, // v_21 = ((1.05499 + 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, // 994754791259766f + 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x32, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x34, // * pow(v_20, 0.4 + 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, // 1666665673255920 + 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, // 41f)) - 0.054999 + 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, // 99970197677612f) + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, // ;. brea + 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, // k;. }. + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, // }. }. v + 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // _12 = vec3( + 0x76, 0x5f, 0x31, 0x36, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x31, // v_16, v_19, v_21 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, // );. } else {. + 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // var v_22 : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, // 3;. if ( + 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3c, 0x20, 0x31, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, // (v_10 < 1.5f)) { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, // . v_22 = v_ + 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, // 9.xyz;. } els + 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, // e {. var v_ + 0x32, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // 23 : vec3;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, // if ((v_10 + 0x3c, 0x20, 0x32, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // < 2.5f)) {. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x6f, // let v_24 = po + 0x77, 0x28, 0x28, 0x28, 0x28, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // w((((mat3x3 + 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x37, 0x31, 0x36, // (vec3(1.716 + 0x36, 0x35, 0x31, 0x32, 0x30, 0x31, 0x32, 0x34, 0x38, 0x31, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, // 6512012481689453 + 0x31, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x33, 0x35, 0x35, 0x36, 0x37, 0x30, 0x38, 0x30, 0x39, // 1f, -0.355670809 + 0x37, 0x34, 0x35, 0x37, 0x38, 0x38, 0x35, 0x37, 0x34, 0x32, 0x32, 0x66, 0x2c, 0x20, 0x2d, 0x30, // 74578857422f, -0 + 0x2e, 0x32, 0x35, 0x33, 0x33, 0x36, 0x36, 0x32, 0x39, 0x31, 0x35, 0x32, 0x32, 0x39, 0x37, 0x39, // .253366291522979 + 0x37, 0x33, 0x36, 0x33, 0x33, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // 73633f), vec3(-0.6666843891 + 0x31, 0x34, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x36, // 1437988281f, 1.6 + 0x31, 0x36, 0x34, 0x38, 0x31, 0x31, 0x38, 0x34, 0x39, 0x35, 0x39, 0x34, 0x31, 0x31, 0x36, 0x32, // 1648118495941162 + 0x31, 0x30, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x31, 0x35, 0x37, 0x36, 0x38, 0x35, 0x30, // 109f, 0.01576850 + 0x30, 0x30, 0x34, 0x34, 0x39, 0x34, 0x31, 0x39, 0x30, 0x32, 0x31, 0x36, 0x66, 0x29, 0x2c, 0x20, // 004494190216f), + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x31, 0x37, 0x36, // vec3(0.0176 + 0x33, 0x39, 0x38, 0x39, 0x39, 0x36, 0x32, 0x36, 0x33, 0x37, 0x34, 0x32, 0x34, 0x34, 0x36, 0x39, // 3989962637424469 + 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x34, 0x32, 0x37, 0x37, 0x30, 0x36, 0x30, 0x31, 0x38, // f, -0.0427706018 + 0x30, 0x39, 0x30, 0x32, 0x34, 0x38, 0x31, 0x30, 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, // 0902481079f, 0.9 + 0x34, 0x32, 0x31, 0x30, 0x33, 0x30, 0x38, 0x37, 0x39, 0x30, 0x32, 0x30, 0x36, 0x39, 0x30, 0x39, // 4210308790206909 + 0x31, 0x38, 0x66, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, // 18f)) * (mat3x3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, // f32>(vec3(0 + 0x2e, 0x34, 0x31, 0x32, 0x35, 0x35, 0x36, 0x34, 0x30, 0x39, 0x38, 0x33, 0x35, 0x38, 0x31, 0x35, // .412556409835815 + 0x34, 0x32, 0x39, 0x36, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x33, 0x35, 0x37, 0x35, 0x37, 0x36, // 42969f, 0.357576 + 0x31, 0x30, 0x32, 0x30, 0x31, 0x38, 0x33, 0x35, 0x36, 0x33, 0x32, 0x33, 0x32, 0x34, 0x66, 0x2c, // 10201835632324f, + 0x20, 0x30, 0x2e, 0x31, 0x38, 0x30, 0x34, 0x33, 0x37, 0x35, 0x30, 0x35, 0x32, 0x34, 0x35, 0x32, // 0.1804375052452 + 0x30, 0x38, 0x37, 0x34, 0x30, 0x32, 0x33, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // 0874023f), vec3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x32, 0x31, 0x32, 0x36, 0x37, 0x32, 0x39, 0x30, 0x34, // f32>(0.212672904 + 0x31, 0x33, 0x33, 0x37, 0x39, 0x36, 0x36, 0x39, 0x31, 0x38, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, // 13379669189f, 0. + 0x37, 0x31, 0x35, 0x31, 0x35, 0x32, 0x32, 0x30, 0x34, 0x30, 0x33, 0x36, 0x37, 0x31, 0x32, 0x36, // 7151522040367126 + 0x34, 0x36, 0x34, 0x38, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x37, 0x32, 0x31, 0x37, 0x35, 0x30, // 4648f, 0.0721750 + 0x30, 0x33, 0x35, 0x38, 0x38, 0x31, 0x39, 0x39, 0x36, 0x31, 0x35, 0x34, 0x38, 0x66, 0x29, 0x2c, // 0358819961548f), + 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x31, 0x39, // vec3(0.019 + 0x33, 0x33, 0x33, 0x39, 0x30, 0x30, 0x38, 0x38, 0x33, 0x37, 0x39, 0x33, 0x38, 0x33, 0x30, 0x38, // 3339008837938308 + 0x37, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, 0x39, 0x31, 0x39, 0x31, 0x39, 0x39, 0x36, 0x37, // 7f, 0.1191919967 + 0x35, 0x33, 0x32, 0x31, 0x35, 0x37, 0x38, 0x39, 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, // 5321578979f, 0.9 + 0x35, 0x30, 0x33, 0x30, 0x34, 0x30, 0x39, 0x30, 0x39, 0x37, 0x36, 0x37, 0x31, 0x35, 0x30, 0x38, // 5030409097671508 + 0x37, 0x38, 0x39, 0x66, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, // 789f)) * v_9.xyz + 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, // )) * v_11) * 0.0 + 0x30, 0x30, 0x30, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, // 0009999999747378 + 0x37, 0x35, 0x32, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // 752f), vec3 + 0x28, 0x30, 0x2e, 0x31, 0x35, 0x39, 0x33, 0x30, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, // (0.1593017578125 + 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, // f));. v_2 + 0x33, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // 3 = pow(((vec3(0.8359375f) + 0x2b, 0x20, 0x28, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x38, 0x35, 0x31, // + (v_24 * 18.851 + 0x35, 0x36, 0x32, 0x35, 0x66, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, // 5625f)) / (vec3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x76, 0x5f, // f32>(1.0f) + (v_ + 0x32, 0x34, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x36, 0x38, 0x37, 0x35, 0x66, 0x29, 0x29, 0x29, // 24 * 18.6875f))) + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x37, 0x38, 0x2e, 0x38, // , vec3(78.8 + 0x34, 0x33, 0x37, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, // 4375f));. } + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // else {. + 0x76, 0x5f, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_23 = vec3 + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, // ();. }. + 0x20, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x3b, 0x0a, 0x20, // v_22 = v_23;. + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, // }. v_12 = + 0x76, 0x5f, 0x32, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // v_22;. }. let + 0x76, 0x5f, 0x32, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x62, // v_25 = v_12;. b + 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, // gfx_FragData0 = + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x78, // vec4(v_25.x + 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x7a, // , v_25.y, v_25.z + 0x2c, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, // , v_9.w);.}..@fr + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, // agment.fn main(@ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, // location(0u) v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // olor0 : vec4, @location(1u) + 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, // v_texcoord0 : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, // ec3) -> @lo + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // cation(0u) vec4< + 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, // f32> {. main_in + 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, // ner(v_color0, v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, // texcoord0);. re + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // turn bgfx_FragDa + 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, // ta0;.}... . . +}; +static const uint8_t fs_texture_dx11[1775] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x00, 0x10, 0x00, // ...u_params1.... 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo - 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, // r0..........s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // xColor0......... - 0x9c, 0x06, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0x4f, 0xe2, 0x4c, 0xcb, 0xf2, 0x57, 0x0d, 0x89, // ....DXBCO.L..W.. - 0x4f, 0xdc, 0x8c, 0xbf, 0x27, 0x3d, 0xdf, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00, // O...'=.m........ - 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, // ....,........... - 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ISGNl........... - 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // P............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, // ................ - 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // b............... - 0x02, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, // ........SV_POSIT - 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, // ION.COLOR.TEXCOO - 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // RD..OSGN,....... - 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, // ............SV_T - 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xc0, 0x05, 0x00, 0x00, // ARGET...SHEX.... - 0x50, 0x00, 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, // P...p...j...Y... - 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, // F. .........Z... - 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, // .`......X....p.. - 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, // ....UU..b....... - 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....b...2....... - 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, // e.... ......h... - 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0xc2, 0x00, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, // ....H.......CU.. - 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // F~.......`...... - 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, // .. ........./... - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, // r.......F....... - 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, // F........@.....@ - 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // ...@...@........ - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r.......F....... - 0x00, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....F...A....... - 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, // 2...r......... . - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, // F............... - 0x01, 0x00, 0x00, 0x00, 0x3a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ....:. ......... - 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, // 8...r........... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, // ....F.......8... - 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, // F.......1....... - 0x01, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ...... ......... - 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x1f, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, // .@.....?........ - 0x01, 0x00, 0x00, 0x00, 0x36, 0x20, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....6 ..r....... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F...........r... - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, // .....@....M;..M; - 0x1c, 0x2e, 0x4d, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ..M;....F....... - 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, // .....@..R.NAR.NA - 0x52, 0xb8, 0x4e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, // R.NA..../...r... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, // ....F.......8... - 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, // .@..UU.>UU.>UU.> - 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // ........r....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, // F.......2...r... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, // =..?=..?=..?.... - 0x02, 0x40, 0x00, 0x00, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, // .@...Ga..Ga..Ga. - 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....7...r....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // F.......F....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, // F...........1... - 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 2......... ..... - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, // .....@.....?.. @ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, // ................ - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x98, 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, // .....@...:.>7..> - 0x9c, 0xc4, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ..8>....F....... - 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ...."........@.. - 0xed, 0xc6, 0x59, 0x3e, 0x37, 0x14, 0x37, 0x3f, 0x7d, 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, // ..Y>7.7?}..=.... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, // F...........B... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x21, 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, // .....@..!b.<...= - 0x21, 0x47, 0x73, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // !Gs?....F....... - 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // .............@.. - 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, 0x1a, 0xb6, 0xbe, 0x3a, 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, // :..?|...:....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, // F..........."... - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xd4, 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, // .....@....*....? - 0xf1, 0x2c, 0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // .,.<....F....... - 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....B........@.. - 0x8d, 0x81, 0x90, 0x3c, 0x3a, 0x30, 0x2f, 0xbd, 0xab, 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, // ...<:0/..-q?.... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, // F.......8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, // ....F.......V. . - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // ........8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, // ...8...8...8.... - 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // /...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, // F........@... #> - 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // . #>. #>........ - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 2...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, // .....@.....A...A - 0x00, 0xd0, 0x96, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, // ...A.....@....V? - 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, // ..V?..V?....2... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, // .@.....A...A...A - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, // .....@.....?...? - 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, // ...?........r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....F.......F... - 0x02, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ..../...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F.......8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, // ...B...B...B.... - 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ - 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // V............... - 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, // 7...r........... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, // ....F........... - 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, // ........6.... .. - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, // ....F.......>... - 0x00, 0x00, 0x20, 0x00, // .. . + 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00, 0x44, // r0.............D + 0x58, 0x42, 0x43, 0x4f, 0xe2, 0x4c, 0xcb, 0xf2, 0x57, 0x0d, 0x89, 0x4f, 0xdc, 0x8c, 0xbf, 0x27, // XBCO.L..W..O...' + 0x3d, 0xdf, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, // =.m............, + 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, // ...........ISGNl + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, // ...........P.... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // ................ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, // ...........b.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, // ................ + 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, // ...SV_POSITION.C + 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, // OLOR.TEXCOORD..O + 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, // SGN,........... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, // .......SV_TARGET + 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xc0, 0x05, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, // ...SHEX....P...p + 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, // ...j...Y...F. .. + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, // .......Z....`... + 0x00, 0x00, 0x00, 0x58, 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, // ...X....p......U + 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, // U..b...........b + 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, // ...2.......e.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x48, // ......h.......H + 0x00, 0x00, 0x8e, 0xc2, 0x00, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, // .......CU....... + 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, // ...F.......F~... + 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, // ....`........ .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x01, // ......./...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, // ...F...........8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, // ....@.....@...@. + 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, // ..@........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, // ...F...........r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, // ...A.......2...r + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......... ...... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...F.......F.... + 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, // ...............: + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, // . .........8...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // ...............F + 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x00, // .......8........ + 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, // ...F.......F.... + 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, // ...1............ + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, // . ..........@... + 0x00, 0x00, 0x3f, 0x1f, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, // ..?............6 + 0x20, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ..r.......F.... + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, // .......r........ + 0x40, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x00, // @....M;..M;..M;. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, // ...F.......8...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x00, // @..R.NAR.NAR.NA. + 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // .../...r.......F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x03, // .......8...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x55, // ...F........@..U + 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, // U.>UU.>UU.>..... + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...r.......F.... + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // ...2...r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, // ........@..=..?= + 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xae, // ..?=..?.....@... + 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x37, // Ga..Ga..Ga.....7 + 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...r.......F.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...F.......F.... + 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, 0x32, 0x00, 0x10, 0x00, 0x01, // .......1...2.... + 0x00, 0x00, 0x00, 0x06, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, // ..... .......... + 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // @.....?.. @..... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // ................ + 0x40, 0x00, 0x00, 0x98, 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, 0x9c, 0xc4, 0x38, 0x3e, 0x00, // @...:.>7..>..8>. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, // ...F..........." + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xed, 0xc6, 0x59, 0x3e, 0x37, // ........@....Y>7 + 0x14, 0x37, 0x3f, 0x7d, 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // .7?}..=....F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......B........ + 0x40, 0x00, 0x00, 0x21, 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, 0x21, 0x47, 0x73, 0x3f, 0x00, // @..!b.<...=!Gs?. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, // ...F............ + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, // ........@..:..?| + 0x1a, 0xb6, 0xbe, 0x3a, 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...:.......F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, // ......."........ + 0x40, 0x00, 0x00, 0xd4, 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, 0xf1, 0x2c, 0x81, 0x3c, 0x00, // @....*....?.,.<. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, // ...F...........B + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x8d, 0x81, 0x90, 0x3c, 0x3a, // ........@.....<: + 0x30, 0x2f, 0xbd, 0xab, 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // 0/..-q?....F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // .......V. ...... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x17, 0xb7, 0xd1, 0x38, 0x17, // ........@.....8. + 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, // ..8...8..../...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, // .......F.......8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, // ....@... #>. #>. + 0x20, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, // #>........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, // ...F.......2...r + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, // @.....A...A...A. + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, // ....@....V?..V?. + 0x00, 0x56, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x02, // .V?....2...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ...F........@... + 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, // ..A...A...A..... + 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, // @.....?...?...?. + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // .......r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2f, // .......F......./ + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xb0, 0x9d, 0x42, 0x00, // ........@.....B. + 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, // ..B...B........r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, // .......F........ + 0x00, 0x00, 0x07, 0xe2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, // ...........V.... + 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, // ...........7...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // ...............F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, // ................ + 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...6.... ......F + 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, // .......>..... . }; static const uint8_t fs_texture_mtl[4045] = { diff --git a/tools/texturev/fs_texture_3d.bin.h b/tools/texturev/fs_texture_3d.bin.h index 8402dffd2..a65bc496e 100644 --- a/tools/texturev/fs_texture_3d.bin.h +++ b/tools/texturev/fs_texture_3d.bin.h @@ -598,123 +598,354 @@ static const uint8_t fs_texture_3d_spv[4463] = 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x7c, 0x01, 0x00, 0x00, 0x22, // .......>...|..." 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, // .......8..... . }; -static const uint8_t fs_texture_3d_dx11[1840] = +static const uint8_t fs_texture_3d_wgsl[3653] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x01, 0x10, 0x00, // ...u_params1.... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo + 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x26, 0x00, 0xf0, 0x0d, 0x00, 0x00, 0x64, // r0.......&.....d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, // iagnostic(off, d + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // erivative_unifor + 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // mity);.diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, // c(off, subgroup_ + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, // uniformity);..@g + 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, // roup(0u) @bindin + 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, // g(18u) var s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, // ColorSampler : s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // ampler;..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, // 0u) @binding(2u) + 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, // var s_texColorT + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, // exture : texture + 0x5f, 0x33, 0x64, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // _3d;..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, // t UniformBlock { + 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x20, 0x3a, 0x20, 0x76, // . u_params0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, // ec4,. u_pa + 0x72, 0x61, 0x6d, 0x73, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // rams1 : vec4,.}..@group(0u) + 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, // @binding(1u) va + 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, // r v : U + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, // niformBlock;..va + 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // r bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // FragData0 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // ;..fn main_ + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // inner(v_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, // vec4, v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // xcoord0 : vec3) {. let v_1 + 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // = textureSample + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // Level(s_texColor + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, // Texture, s_texCo + 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, // lorSampler, vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // (v_texcoord + 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // 0.x, v_texcoord0 + 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, // .y, v.u_params0. + 0x79, 0x29, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, // y), v.u_params0. + 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, // x);. let v_2 = + 0x76, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // v_1.xyz;. let v + 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x61, 0x62, 0x73, 0x28, 0x76, 0x5f, 0x32, // _3 = pow(abs(v_2 + 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x32, 0x2e, 0x32, // ), vec3(2.2 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, // 0000004768371582 + 0x30, 0x33, 0x31, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // 031f));. let v_ + 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, // 4 = v.u_params0. + 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, // z;. let v_5 = ( + 0x6d, 0x69, 0x78, 0x28, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x65, // mix(v_3, v_2, ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x34, // c3(v_4, v_4 + 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x32, 0x2e, // , v_4)) * pow(2. + 0x30, 0x66, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, // 0f, v.u_params0. + 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3a, // w));. var v_6 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // vec4 = v_1 + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x36, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, // ;. v_6.x = v_5. + 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3a, 0x20, 0x76, // x;. var v_7 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, // ec4 = v_6;. + 0x20, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, 0x3b, // v_7.y = v_5.y; + 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // . var v_8 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, 0x3b, 0x0a, 0x20, 0x20, // 4 = v_7;. + 0x76, 0x5f, 0x38, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, // v_8.z = v_5.z;. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x38, 0x20, // let v_9 = (v_8 + 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, // * v_color0);. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, // et v_10 = v.u_pa + 0x72, 0x61, 0x6d, 0x73, 0x31, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // rams1.x;. let v + 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // _11 = v.u_params + 0x31, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, // 1.y;. var v_12 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x69, // : vec3;. i + 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, // f ((v_10 < 0.5f) + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x33, // ) {. let v_13 + 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, // = clamp(v_9.xyz + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x2c, 0x20, 0x76, // , vec3(), v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, // ec3(1.0f)); + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, // . let v_14 = + 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, // v_13.x;. var + 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // v_15 : f32;. + 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, // switch(0u) {. + 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, // default: {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x34, 0x20, // if ((v_14 + 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, // <= 0.00313080009 + 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, // 073019028f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, // v_15 = + 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, // (12.920000076293 + 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x29, // 9453125f * v_14) + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, // ;. brea + 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, // k;. } els + 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, // e {. v_ + 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, // 15 = ((1.0549999 + 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, // 4754791259766f * + 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, 0x34, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, // pow(v_14, 0.416 + 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, // 6666567325592041 + 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, // f)) - 0.05499999 + 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, // 970197677612f);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, // break; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // . }. + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, // }. }. let + 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x3b, 0x0a, 0x20, 0x20, // v_16 = v_15;. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, // let v_17 = v_1 + 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, // 3.y;. var v_1 + 0x38, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, // 8 : f32;. swi + 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // tch(0u) {. + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // default: {. + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x20, 0x3c, 0x3d, 0x20, // if ((v_17 <= + 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, // 0.00313080009073 + 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // 019028f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, // v_18 = (12 + 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, // .920000076293945 + 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x37, 0x29, 0x3b, 0x0a, 0x20, // 3125f * v_17);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, // break;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, // } else { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, // . v_18 + 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, // = ((1.0549999475 + 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, // 4791259766f * po + 0x77, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, // w(v_17, 0.416666 + 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, // 6567325592041f)) + 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, // - 0.05499999970 + 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // 197677612f);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, // }. }. + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // }. let v_ + 0x31, 0x39, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, // 19 = v_18;. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x7a, // et v_20 = v_13.z + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3a, // ;. var v_21 : + 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, // f32;. switch + 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, // (0u) {. def + 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // ault: {. + 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x32, 0x30, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, // if ((v_20 <= 0.0 + 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, // 0313080009073019 + 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 028f)) {. + 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, // v_21 = (12.92 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, // 0000076293945312 + 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // 5f * v_20);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x28, // v_21 = ( + 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, // (1.0549999475479 + 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, // 1259766f * pow(v + 0x5f, 0x32, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, // _20, 0.416666656 + 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, // 7325592041f)) - + 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, // 0.05499999970197 + 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 677612f);. + 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, // }. }. + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, // }. v_12 = ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x36, 0x2c, 0x20, 0x76, 0x5f, // c3(v_16, v_ + 0x31, 0x39, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, // 19, v_21);. } e + 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, // lse {. var v_ + 0x32, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // 22 : vec3;. + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3c, 0x20, // if ((v_10 < + 0x31, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // 1.5f)) {. v + 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, // _22 = v_9.xyz;. + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // var v_23 : vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, // 3;. if + 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3c, 0x20, 0x32, 0x2e, 0x35, 0x66, 0x29, 0x29, // ((v_10 < 2.5f)) + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // {. let v + 0x5f, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x28, 0x28, 0x28, 0x6d, 0x61, 0x74, // _24 = pow((((mat + 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // 3x3(vec3(1.71665120124 + 0x38, 0x31, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, 0x31, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x33, // 816894531f, -0.3 + 0x35, 0x35, 0x36, 0x37, 0x30, 0x38, 0x30, 0x39, 0x37, 0x34, 0x35, 0x37, 0x38, 0x38, 0x35, 0x37, // 5567080974578857 + 0x34, 0x32, 0x32, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x32, 0x35, 0x33, 0x33, 0x36, 0x36, 0x32, // 422f, -0.2533662 + 0x39, 0x31, 0x35, 0x32, 0x32, 0x39, 0x37, 0x39, 0x37, 0x33, 0x36, 0x33, 0x33, 0x66, 0x29, 0x2c, // 9152297973633f), + 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x2d, 0x30, 0x2e, 0x36, 0x36, // vec3(-0.66 + 0x36, 0x36, 0x38, 0x34, 0x33, 0x38, 0x39, 0x31, 0x31, 0x34, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, // 6684389114379882 + 0x38, 0x31, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x36, 0x31, 0x36, 0x34, 0x38, 0x31, 0x31, 0x38, 0x34, // 81f, 1.616481184 + 0x39, 0x35, 0x39, 0x34, 0x31, 0x31, 0x36, 0x32, 0x31, 0x30, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, // 95941162109f, 0. + 0x30, 0x31, 0x35, 0x37, 0x36, 0x38, 0x35, 0x30, 0x30, 0x30, 0x34, 0x34, 0x39, 0x34, 0x31, 0x39, // 0157685000449419 + 0x30, 0x32, 0x31, 0x36, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // 0216f), vec3(0.017639899626 + 0x33, 0x37, 0x34, 0x32, 0x34, 0x34, 0x36, 0x39, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x34, // 37424469f, -0.04 + 0x32, 0x37, 0x37, 0x30, 0x36, 0x30, 0x31, 0x38, 0x30, 0x39, 0x30, 0x32, 0x34, 0x38, 0x31, 0x30, // 2770601809024810 + 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, 0x34, 0x32, 0x31, 0x30, 0x33, 0x30, 0x38, 0x37, // 79f, 0.942103087 + 0x39, 0x30, 0x32, 0x30, 0x36, 0x39, 0x30, 0x39, 0x31, 0x38, 0x66, 0x29, 0x29, 0x20, 0x2a, 0x20, // 9020690918f)) * + 0x28, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x65, 0x63, // (mat3x3(vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x34, 0x31, 0x32, 0x35, 0x35, 0x36, 0x34, // 3(0.4125564 + 0x30, 0x39, 0x38, 0x33, 0x35, 0x38, 0x31, 0x35, 0x34, 0x32, 0x39, 0x36, 0x39, 0x66, 0x2c, 0x20, // 0983581542969f, + 0x30, 0x2e, 0x33, 0x35, 0x37, 0x35, 0x37, 0x36, 0x31, 0x30, 0x32, 0x30, 0x31, 0x38, 0x33, 0x35, // 0.35757610201835 + 0x36, 0x33, 0x32, 0x33, 0x32, 0x34, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x38, 0x30, 0x34, 0x33, // 632324f, 0.18043 + 0x37, 0x35, 0x30, 0x35, 0x32, 0x34, 0x35, 0x32, 0x30, 0x38, 0x37, 0x34, 0x30, 0x32, 0x33, 0x66, // 750524520874023f + 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x32, // ), vec3(0.2 + 0x31, 0x32, 0x36, 0x37, 0x32, 0x39, 0x30, 0x34, 0x31, 0x33, 0x33, 0x37, 0x39, 0x36, 0x36, 0x39, // 1267290413379669 + 0x31, 0x38, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x37, 0x31, 0x35, 0x31, 0x35, 0x32, 0x32, 0x30, // 189f, 0.71515220 + 0x34, 0x30, 0x33, 0x36, 0x37, 0x31, 0x32, 0x36, 0x34, 0x36, 0x34, 0x38, 0x66, 0x2c, 0x20, 0x30, // 403671264648f, 0 + 0x2e, 0x30, 0x37, 0x32, 0x31, 0x37, 0x35, 0x30, 0x30, 0x33, 0x35, 0x38, 0x38, 0x31, 0x39, 0x39, // .072175003588199 + 0x36, 0x31, 0x35, 0x34, 0x38, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // 61548f), vec3(0.01933390088 + 0x33, 0x37, 0x39, 0x33, 0x38, 0x33, 0x30, 0x38, 0x37, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, // 379383087f, 0.11 + 0x39, 0x31, 0x39, 0x31, 0x39, 0x39, 0x36, 0x37, 0x35, 0x33, 0x32, 0x31, 0x35, 0x37, 0x38, 0x39, // 9191996753215789 + 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, 0x35, 0x30, 0x33, 0x30, 0x34, 0x30, 0x39, 0x30, // 79f, 0.950304090 + 0x39, 0x37, 0x36, 0x37, 0x31, 0x35, 0x30, 0x38, 0x37, 0x38, 0x39, 0x66, 0x29, 0x29, 0x20, 0x2a, // 97671508789f)) * + 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, // v_9.xyz)) * v_1 + 0x31, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x39, 0x39, 0x39, 0x39, 0x39, // 1) * 0.000099999 + 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37, 0x35, 0x32, 0x66, 0x29, 0x2c, 0x20, 0x76, // 99747378752f), v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x31, 0x35, 0x39, 0x33, 0x30, // ec3(0.15930 + 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // 17578125f));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, // v_23 = pow( + 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x38, 0x33, // ((vec3(0.83 + 0x35, 0x39, 0x33, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x76, 0x5f, 0x32, 0x34, 0x20, // 59375f) + (v_24 + 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x38, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x66, 0x29, 0x29, 0x20, // * 18.8515625f)) + 0x2f, 0x20, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, // / (vec3(1.0 + 0x66, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, // f) + (v_24 * 18. + 0x36, 0x38, 0x37, 0x35, 0x66, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // 6875f))), vec3(78.84375f)); + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, // . } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x76, // v_23 = v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // ec3();. + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, // }. v_22 = + 0x20, 0x76, 0x5f, 0x32, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, // v_23;. }. + 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x3b, 0x0a, 0x20, 0x20, // v_12 = v_22;. + 0x7d, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x20, 0x3d, 0x20, 0x76, // }. let v_25 = v + 0x5f, 0x31, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, // _12;. bgfx_Frag + 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // Data0 = vec4(v_25.x, v_25.y + 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x7a, 0x2c, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x77, 0x29, // , v_25.z, v_9.w) + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, // ;.}..@fragment.f + 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, // n main(@location + 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, // (0u) v_color0 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, // vec4, @loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // tion(1u) v_texco + 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ord0 : vec3 + 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, // ) -> @location(0 + 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, // u) vec4 {. + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, // main_inner(v_co + 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // lor0, v_texcoord + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, // 0);. return bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, // x_FragData0;.}.. + 0x00, 0x20, 0x00, 0x20, 0x00, // . . . +}; +static const uint8_t fs_texture_3d_dx11[1819] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x00, 0x10, 0x00, // ...u_params1.... 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo - 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, // r0..........s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // xColor0......... - 0xc8, 0x06, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0xd6, 0x21, 0x53, 0x7a, 0xd0, 0x59, 0x46, 0xac, // ....DXBC.!Sz.YF. - 0x45, 0xdd, 0x85, 0xdd, 0x53, 0xbb, 0x30, 0x50, 0x01, 0x00, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, // E...S.0P........ - 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, // ....,........... - 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ISGNl........... - 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // P............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, // ................ - 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // b............... - 0x02, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, // ........SV_POSIT - 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, // ION.COLOR.TEXCOO - 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // RD..OSGN,....... - 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, // ............SV_T - 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xec, 0x05, 0x00, 0x00, // ARGET...SHEX.... - 0x50, 0x00, 0x00, 0x00, 0x7b, 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, // P...{...j...Y... - 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, // F. .........Z... - 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x28, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, // .`......X(...p.. - 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, // ....UU..b....... - 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....b...2....... - 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, // e.... ......h... - 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....6...2....... - 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x06, 0x42, 0x00, 0x10, 0x00, // F.......6...B... - 0x00, 0x00, 0x00, 0x00, 0x1a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... ......... - 0x48, 0x00, 0x00, 0x8e, 0x42, 0x01, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, // H...B...CU...... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, // ....F.......F~.. - 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, // .....`........ . - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, // ......../...r... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ....F........... - 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, // .....@.....@...@ - 0xcd, 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, // ...@........r... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, // ....F........... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // r.......F....... - 0x46, 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, // F...A.......2... - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // r......... ..... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....F.......F... - 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ - 0x3a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, // :. .........8... - 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r............... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, // F.......8....... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, // ....F.......F... - 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ....1........... - 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, // .. ..........@.. - 0x00, 0x00, 0x00, 0x3f, 0x1f, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ...?............ - 0x36, 0x20, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 6 ..r.......F... - 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ........r....... - 0x02, 0x40, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, // .@....M;..M;..M; - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, // ....F.......8... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, // .@..R.NAR.NAR.NA - 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // ..../...r....... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F.......8...r... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x00, 0x00, 0x00, 0x00, // UU.>UU.>UU.>.... - 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // ....2...r....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3d, 0x0a, 0x87, 0x3f, // F........@..=..? - 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // =..?=..?.....@.. - 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0x00, 0x00, 0x00, 0x00, // .Ga..Ga..Ga..... - 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 7...r.......F... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....F.......F... - 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, 0x32, 0x00, 0x10, 0x00, // ........1...2... - 0x01, 0x00, 0x00, 0x00, 0x06, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ...... ......... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, // .@.....?.. @.... - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ................ - 0x02, 0x40, 0x00, 0x00, 0x98, 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, 0x9c, 0xc4, 0x38, 0x3e, // .@...:.>7..>..8> - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, // ....F........... - 0x22, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xed, 0xc6, 0x59, 0x3e, // "........@....Y> - 0x37, 0x14, 0x37, 0x3f, 0x7d, 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 7.7?}..=....F... - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........B....... - 0x02, 0x40, 0x00, 0x00, 0x21, 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, 0x21, 0x47, 0x73, 0x3f, // .@..!b.<...=!Gs? - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, // ....F........... - 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3a, 0xbb, 0xdb, 0x3f, // .........@..:..? - 0x7c, 0x1a, 0xb6, 0xbe, 0x3a, 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // |...:.......F... - 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // ........"....... - 0x02, 0x40, 0x00, 0x00, 0xd4, 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, 0xf1, 0x2c, 0x81, 0x3c, // .@....*....?.,.< - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, // ....F........... - 0x42, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x8d, 0x81, 0x90, 0x3c, // B........@.....< - 0x3a, 0x30, 0x2f, 0xbd, 0xab, 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // :0/..-q?....F... - 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // F.......V. ..... - 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x17, 0xb7, 0xd1, 0x38, // F........@.....8 - 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, // ...8...8..../... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, // .....@... #>. #> - 0x00, 0x20, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, // . #>........r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, // ....F.......2... - 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, // .@.....A...A...A - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, // .....@....V?..V? - 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, // ..V?....2...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x00, 0x00, 0x00, // ...A...A...A.... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, // .@.....?...?...? - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........r....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // F.......F....... - 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // /...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xb0, 0x9d, 0x42, // F........@.....B - 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // ...B...B........ - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x01, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, // ............V... - 0x01, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, // ............7... - 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r............... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // F............... - 0x15, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....6.... ...... - 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, // F.......>..... . + 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0x44, // r0.............D + 0x58, 0x42, 0x43, 0xd6, 0x21, 0x53, 0x7a, 0xd0, 0x59, 0x46, 0xac, 0x45, 0xdd, 0x85, 0xdd, 0x53, // XBC.!Sz.YF.E...S + 0xbb, 0x30, 0x50, 0x01, 0x00, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, // .0P............, + 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, // ...........ISGNl + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, // ...........P.... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // ................ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, // ...........b.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, // ................ + 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, // ...SV_POSITION.C + 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, // OLOR.TEXCOORD..O + 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, // SGN,........... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, // .......SV_TARGET + 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xec, 0x05, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, // ...SHEX....P...{ + 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, // ...j...Y...F. .. + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, // .......Z....`... + 0x00, 0x00, 0x00, 0x58, 0x28, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, // ...X(...p......U + 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, // U..b...........b + 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, // ...2.......e.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x36, // ......h.......6 + 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, // ...2.......F.... + 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x06, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, // ...6...B........ + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0x42, // . .........H...B + 0x01, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...CU..........F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .......F~....... + 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // `........ ...... + 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // .../...r.......F + 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, // ...........8...r + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0x00, // @.....@...@...@. + 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // .......r.......F + 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, // ...........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x41, // ...F.......F...A + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, // .......2...r.... + 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ..... .........F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, // .......F........ + 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, 0x80, 0x20, 0x00, 0x00, // ...........:. .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x00, // .......8...r.... + 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...........F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...8...........F + 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, // .......F.......1 + 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, // ............. .. + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x1f, // ........@.....?. + 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x20, 0x00, 0x05, 0x72, // ...........6 ..r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, // .......F........ + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x1c, // ...r........@... + 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x46, // .M;..M;..M;....F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, // .......8...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x52, // ...F........@..R + 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x2f, // .NAR.NAR.NA..../ + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ...r.......F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x55, 0x55, 0xd5, 0x3e, 0x55, // ........@..UU.>U + 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, // U.>UU.>........r + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, // .......F.......2 + 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, // ....@..=..?=..?= + 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xae, 0x47, 0x61, 0xbd, 0xae, // ..?.....@...Ga.. + 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, // Ga..Ga.....7...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, // .......F........ + 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, // ...1...2........ + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // . ..........@... + 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, // ..?.. @......... + 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x98, // ............@... + 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, 0x9c, 0xc4, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x46, // :.>7..>..8>....F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x02, // ...........".... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xed, 0xc6, 0x59, 0x3e, 0x37, 0x14, 0x37, 0x3f, 0x7d, // ....@....Y>7.7?} + 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, // ..=....F........ + 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x21, // ...B........@..! + 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, 0x21, 0x47, 0x73, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, // b.<...=!Gs?....F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x03, // ................ + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, 0x1a, 0xb6, 0xbe, 0x3a, // ....@..:..?|...: + 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, // .......F........ + 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xd4, // ..."........@... + 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, 0xf1, 0x2c, 0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x46, // .*....?.,.<....F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x03, // ...........B.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x8d, 0x81, 0x90, 0x3c, 0x3a, 0x30, 0x2f, 0xbd, 0xab, // ....@.....<:0/.. + 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, // -q?....F.......8 + 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...r.......F.... + 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, // ...V. .........8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x17, // ....@.....8...8. + 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, // ..8..../...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, // ...F.......8...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, // @... #>. #>. #>. + 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // .......r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, // .......2...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ...F........@... + 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, // ..A...A...A..... + 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, // @....V?..V?..V?. + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...2...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x80, 0x95, 0x41, 0x00, // ........@.....A. + 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ..A...A.....@... + 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x0e, // ..?...?...?..... + 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...r.......F.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, // ...F......./...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, // .......F.......8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, // ....@.....B...B. + 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, // ..B........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xe2, // ...F............ + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, // .......V........ + 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, // .......7...r.... + 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ...........F.... + 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x36, // ...............6 + 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, // .... ......F.... + 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, // ...>..... . }; static const uint8_t fs_texture_3d_mtl[4073] = { diff --git a/tools/texturev/fs_texture_array.bin.h b/tools/texturev/fs_texture_array.bin.h index 86f1e2111..0f097ac90 100644 --- a/tools/texturev/fs_texture_array.bin.h +++ b/tools/texturev/fs_texture_array.bin.h @@ -206,62 +206,137 @@ static const uint8_t fs_texture_array_spv[1855] = 0x01, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xca, 0x00, 0x00, 0x00, 0x12, // .......>........ 0x01, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // .......8....... }; -static const uint8_t fs_texture_array_dx11[856] = +static const uint8_t fs_texture_array_wgsl[1158] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, // ...s_texColor0.. + 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x00, 0x45, 0x04, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, // .....&.E...diagn + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, // ostic(off, deriv + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, // ative_uniformity + 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, // );.diagnostic(of + 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, // f, subgroup_unif + 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, // ormity);..@group + 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, // (0u) @binding(18 + 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // u) var s_texColo + 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, // rSampler : sampl + 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // er;..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(2u) var + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, // s_texColorTextu + 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x5f, // re : texture_2d_ + 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, // array;..str + 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, // uct UniformBlock + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x20, 0x3a, // {. u_params0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // vec4,.}..@ + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi + 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, // ng(1u) var v : UniformB + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, // lock;..var bgfx_FragDat + 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, // a0 : vec4;. + 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, // .fn main_inner(v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // _color0 : vec4, v_texcoord0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, // : vec3) {. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, // let v_1 = vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // (v_texcoord + 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // 0.x, v_texcoord0 + 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, // .y, v.u_params0. + 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, // y);. let v_2 = + 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x65, // (textureSampleLe + 0x76, 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // vel(s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // xture, s_texColo + 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x78, 0x79, // rSampler, v_1.xy + 0x2c, 0x20, 0x69, 0x33, 0x32, 0x28, 0x76, 0x5f, 0x31, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x76, 0x2e, // , i32(v_1.z), v. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x76, // u_params0.x) * v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // _color0);. let + 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, // v_3 = v_2.xyz;. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x61, // let v_4 = pow(a + 0x62, 0x73, 0x28, 0x76, 0x5f, 0x33, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // bs(v_3), vec3(2.20000004768 + 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // 371582031f));. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, // let v_5 = v.u_pa + 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // rams0.z;. let v + 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x61, 0x62, 0x73, 0x28, 0x28, 0x6d, 0x69, // _6 = pow(abs((mi + 0x78, 0x28, 0x76, 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, // x(v_4, v_3, vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, 0x20, // (v_5, v_5, + 0x76, 0x5f, 0x35, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x32, 0x2e, 0x30, 0x66, // v_5)) * pow(2.0f + 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x77, 0x29, // , v.u_params0.w) + 0x29, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, // )), vec3(0. + 0x34, 0x35, 0x34, 0x35, 0x34, 0x35, 0x34, 0x36, 0x38, 0x30, 0x39, 0x31, 0x39, 0x36, 0x34, 0x37, // 4545454680919647 + 0x32, 0x31, 0x36, 0x38, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, // 2168f));. bgfx_ + 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, // FragData0 = vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x36, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x36, // (v_6.x, v_6 + 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x36, 0x2e, 0x7a, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2e, 0x77, // .y, v_6.z, v_2.w + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, // );.}..@fragment. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // fn main(@locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // n(0u) v_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, // vec4, @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // ation(1u) v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // oord0 : vec3) -> @location( + 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, // 0u) vec4 {. + 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, // main_inner(v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // olor0, v_texcoor + 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, // d0);. return bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, // fx_FragData0;.}. + 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // ...... +}; +static const uint8_t fs_texture_array_dx11[835] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, // ...s_texColor0.. - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol - 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, // or0............. - 0x44, 0x58, 0x42, 0x43, 0xad, 0xc5, 0x21, 0x80, 0x53, 0x76, 0x17, 0x29, 0xc2, 0x54, 0xa0, 0x98, // DXBC..!.Sv.).T.. - 0xaa, 0xab, 0x4f, 0xa5, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ..O............. - 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, // ,...........ISGN - 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, // l...........P... - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, // ............b... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ................ - 0x07, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, // ....SV_POSITION. - 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, // COLOR.TEXCOORD.. - 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // OSGN,........... - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, // ........SV_TARGE - 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0x28, 0x02, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, // T...SHEX(...P... - 0x8a, 0x00, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, // ....j...Y...F. . - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, // ........Z....`.. - 0x00, 0x00, 0x00, 0x00, 0x58, 0x40, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....X@...p...... - 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // UU..b........... - 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, // b...2.......e... - 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, // . ......h....... - 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, // 6...2.......F... - 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x06, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....6...B....... - 0x1a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, // .. .........H... - 0x02, 0x02, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....CU.......... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // F.......F~...... - 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .`........ ..... - 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ....8........... - 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // F.......F....... - 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, // /...r.......F... - 0x81, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x82, 0x20, 0x10, 0x00, // ........6.... .. - 0x00, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, // ....:.......8... - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, // .@.....@...@...@ - 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ........r....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F.......2...r... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, // ....F.......F... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....F...A....... - 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, // 2...r......... . - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, // F............... - 0x00, 0x00, 0x00, 0x00, 0x3a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ....:. ......... - 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, // 8...r........... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, // ....F......./... - 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, // r.......F....... - 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x2f, 0xba, 0xe8, 0x3e, // F........@../..> - 0x2f, 0xba, 0xe8, 0x3e, 0x2f, 0xba, 0xe8, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // /..>/..>........ - 0x72, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // r ......F....... - 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // >....... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0xad, // ...........DXBC. + 0xc5, 0x21, 0x80, 0x53, 0x76, 0x17, 0x29, 0xc2, 0x54, 0xa0, 0x98, 0xaa, 0xab, 0x4f, 0xa5, 0x01, // .!.Sv.).T....O.. + 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, // ...........,.... + 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, // .......ISGNl.... + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // .......P........ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .......b........ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x53, // ...............S + 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, // V_POSITION.COLOR + 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, // .TEXCOORD..OSGN, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // ........... .... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, // ...SV_TARGET...S + 0x48, 0x45, 0x58, 0x28, 0x02, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x6a, // HEX(...P.......j + 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // ...Y...F. ...... + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, // ...Z....`......X + 0x40, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, // @...p......UU..b + 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, // ...........b...2 + 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, // .......e.... ... + 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x32, // ...h.......6...2 + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, // .......F.......6 + 0x00, 0x00, 0x06, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x80, 0x20, 0x00, 0x00, // ...B......... .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0x02, 0x02, 0x00, 0x80, 0x43, // .......H.......C + 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // U..........F.... + 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // ...F~.......`... + 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, // ..... .........8 + 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, // ...........F.... + 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, // ...F......./...r + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x01, // .......F........ + 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x82, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, // ...6.... ......: + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, // .......8...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, // ...F........@... + 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, // ..@...@...@..... + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...r.......F.... + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...2...r.......F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, // ...A.......2...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......... ...... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...F.......F.... + 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, // ...............: + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, // . .........8...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...............F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x00, // ......./...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, // ...F...........8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x2f, 0xba, 0xe8, 0x3e, 0x2f, 0xba, 0xe8, 0x3e, 0x2f, // ....@../..>/..>/ + 0xba, 0xe8, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x20, 0x10, 0x00, 0x00, // ..>........r ... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, // ...F.......>.... + 0x00, 0x10, 0x00, // ... }; static const uint8_t fs_texture_array_mtl[1090] = { diff --git a/tools/texturev/fs_texture_cube.bin.h b/tools/texturev/fs_texture_cube.bin.h index a8b4fb403..58dbfed68 100644 --- a/tools/texturev/fs_texture_cube.bin.h +++ b/tools/texturev/fs_texture_cube.bin.h @@ -643,139 +643,379 @@ static const uint8_t fs_texture_cube_spv[4843] = 0x02, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x8f, 0x01, 0x00, 0x00, 0x42, 0x02, 0x00, 0x00, 0xfd, // ...>.......B.... 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, // ...8.....`. }; -static const uint8_t fs_texture_cube_dx11[2092] = +static const uint8_t fs_texture_cube_wgsl[3801] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x05, 0x75, 0x5f, 0x6d, 0x74, 0x78, 0x14, 0x01, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, // ...u_mtx.. ..... + 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x01, 0x10, 0x00, // ...u_params1.... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo + 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0x74, 0x0e, 0x00, 0x00, 0x64, // r0.......&.t...d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, // iagnostic(off, d + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // erivative_unifor + 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // mity);.diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, // c(off, subgroup_ + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, // uniformity);..@g + 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, // roup(0u) @bindin + 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, // g(18u) var s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, // ColorSampler : s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // ampler;..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, // 0u) @binding(2u) + 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, // var s_texColorT + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, // exture : texture + 0x5f, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, // _cube;..str + 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, // uct UniformBlock + 0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, // _1_1 {. u_param + 0x73, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // s0 : vec4,. + 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, // u_params1 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x74, 0x78, // c4,. u_mtx + 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, // : mat4x4,. + 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, // }..@group(0u) @b + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, // inding(1u) var v : Unif + 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, // ormBlock_1_1;..v + 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, 0x78, // ar bgfx + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // _FragData0 : vec + 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, // 4;..fn main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, // _inner(v_color0 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, // : vec4, v_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // excoord0 : vec3< + 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // f32>) {. let v_ + 0x31, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // 1 = (((v_texcoor + 0x64, 0x30, 0x2e, 0x78, 0x79, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2d, 0x20, // d0.xy * 2.0f) - + 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, // vec2(1.0f)) + 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, // * vec2(1.0 + 0x66, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // f, -1.0f));. le + 0x74, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, // t v_2 = textureS + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, // ampleLevel(s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, // ColorTexture, s_ + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, // texColorSampler, + 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x28, 0x28, 0x76, 0x2e, 0x75, // normalize(((v.u + 0x5f, 0x6d, 0x74, 0x78, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // _mtx * vec4 + 0x28, 0x76, 0x5f, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x79, 0x2c, 0x20, 0x31, // (v_1.x, v_1.y, 1 + 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, // .0f, 0.0f))).xyz + 0x29, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x78, // ), v.u_params0.x + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, // );. let v_3 = v + 0x5f, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, // _2.xyz;. let v_ + 0x34, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x61, 0x62, 0x73, 0x28, 0x76, 0x5f, 0x33, 0x29, // 4 = pow(abs(v_3) + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x32, 0x2e, 0x32, 0x30, // , vec3(2.20 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, // 0000047683715820 + 0x33, 0x31, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, // 31f));. let v_5 + 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x7a, // = v.u_params0.z + 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x6d, // ;. let v_6 = (m + 0x69, 0x78, 0x28, 0x76, 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x65, 0x63, // ix(v_4, v_3, vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, // 3(v_5, v_5, + 0x20, 0x76, 0x5f, 0x35, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x32, 0x2e, 0x30, // v_5)) * pow(2.0 + 0x66, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x77, // f, v.u_params0.w + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x37, 0x20, 0x3a, 0x20, // ));. var v_7 : + 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x3b, // vec4 = v_2; + 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x2e, 0x78, // . v_7.x = v_6.x + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x38, 0x20, 0x3a, 0x20, 0x76, 0x65, // ;. var v_8 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x37, 0x3b, 0x0a, 0x20, // c4 = v_7;. + 0x20, 0x76, 0x5f, 0x38, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x2e, 0x79, 0x3b, 0x0a, // v_8.y = v_6.y;. + 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x39, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // var v_9 : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x76, // = v_8;. v + 0x5f, 0x39, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, // _9.z = v_6.z;. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x39, 0x20, // let v_10 = (v_9 + 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, // * v_color0);. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, // et v_11 = v.u_pa + 0x72, 0x61, 0x6d, 0x73, 0x31, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // rams1.x;. let v + 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // _12 = v.u_params + 0x31, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, // 1.y;. var v_13 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x69, // : vec3;. i + 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, // f ((v_11 < 0.5f) + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x34, // ) {. let v_14 + 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x2e, 0x78, 0x79, // = clamp(v_10.xy + 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x2c, 0x20, // z, vec3(), + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, // vec3(1.0f)) + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, // ;. let v_15 = + 0x20, 0x76, 0x5f, 0x31, 0x34, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, // v_14.x;. var + 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, // v_16 : f32;. + 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // switch(0u) {. + 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, // default: {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x35, // if ((v_15 + 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, // <= 0.0031308000 + 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, // 9073019028f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3d, // v_16 = + 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, // (12.92000007629 + 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x35, // 39453125f * v_15 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, // );. bre + 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, // ak;. } el + 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // se {. v + 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, // _16 = ((1.054999 + 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, // 94754791259766f + 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, // * pow(v_15, 0.41 + 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, // 6666656732559204 + 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, // 1f)) - 0.0549999 + 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, // 9970197677612f); + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, // . break + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, // ;. }. + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, // }. }. le + 0x74, 0x20, 0x76, 0x5f, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x3b, 0x0a, 0x20, // t v_17 = v_16;. + 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x5f, // let v_18 = v_ + 0x31, 0x34, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, // 14.y;. var v_ + 0x31, 0x39, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, // 19 : f32;. sw + 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // itch(0u) {. + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // default: {. + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3c, 0x3d, // if ((v_18 <= + 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, // 0.0031308000907 + 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, // 3019028f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x31, // v_19 = (1 + 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, // 2.92000007629394 + 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x29, 0x3b, 0x0a, // 53125f * v_18);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, // break; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, // . } else + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x39, // {. v_19 + 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, // = ((1.054999947 + 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, // 54791259766f * p + 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, 0x38, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, // ow(v_18, 0.41666 + 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, // 66567325592041f) + 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, // ) - 0.0549999997 + 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, // 0197677612f);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, // break;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, // }. } + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // . }. let v + 0x5f, 0x32, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // _20 = v_19;. + 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x2e, // let v_21 = v_14. + 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, // z;. var v_22 + 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, // : f32;. switc + 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, // h(0u) {. de + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // fault: {. + 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, // if ((v_21 <= 0. + 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, // 0031308000907301 + 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 9028f)) {. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, // v_22 = (12.9 + 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, // 2000007629394531 + 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // 25f * v_21);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, // v_22 = + 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, // ((1.054999947547 + 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, // 91259766f * pow( + 0x76, 0x5f, 0x32, 0x31, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, // v_21, 0.41666665 + 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, // 67325592041f)) - + 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, // 0.0549999997019 + 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // 7677612f);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // break;. + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, // }. }. + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x76, // }. v_13 = v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x2c, 0x20, 0x76, // ec3(v_17, v + 0x5f, 0x32, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, // _20, v_22);. } + 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, // else {. var v + 0x5f, 0x32, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // _23 : vec3; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3c, // . if ((v_11 < + 0x20, 0x31, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 1.5f)) {. + 0x76, 0x5f, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, // v_23 = v_10.xyz; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, // . } else {. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x3a, 0x20, 0x76, // var v_24 : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // ec3;. + 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3c, 0x20, 0x32, 0x2e, 0x35, 0x66, // if ((v_11 < 2.5f + 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, // )) {. let + 0x20, 0x76, 0x5f, 0x32, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x28, 0x28, 0x28, 0x6d, // v_25 = pow((((m + 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, // at3x3(vec3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x37, 0x31, 0x36, 0x36, 0x35, 0x31, 0x32, 0x30, 0x31, // f32>(1.716651201 + 0x32, 0x34, 0x38, 0x31, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, 0x31, 0x66, 0x2c, 0x20, 0x2d, 0x30, // 24816894531f, -0 + 0x2e, 0x33, 0x35, 0x35, 0x36, 0x37, 0x30, 0x38, 0x30, 0x39, 0x37, 0x34, 0x35, 0x37, 0x38, 0x38, // .355670809745788 + 0x35, 0x37, 0x34, 0x32, 0x32, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x32, 0x35, 0x33, 0x33, 0x36, // 57422f, -0.25336 + 0x36, 0x32, 0x39, 0x31, 0x35, 0x32, 0x32, 0x39, 0x37, 0x39, 0x37, 0x33, 0x36, 0x33, 0x33, 0x66, // 629152297973633f + 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x2d, 0x30, 0x2e, // ), vec3(-0. + 0x36, 0x36, 0x36, 0x36, 0x38, 0x34, 0x33, 0x38, 0x39, 0x31, 0x31, 0x34, 0x33, 0x37, 0x39, 0x38, // 6666843891143798 + 0x38, 0x32, 0x38, 0x31, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x36, 0x31, 0x36, 0x34, 0x38, 0x31, 0x31, // 8281f, 1.6164811 + 0x38, 0x34, 0x39, 0x35, 0x39, 0x34, 0x31, 0x31, 0x36, 0x32, 0x31, 0x30, 0x39, 0x66, 0x2c, 0x20, // 8495941162109f, + 0x30, 0x2e, 0x30, 0x31, 0x35, 0x37, 0x36, 0x38, 0x35, 0x30, 0x30, 0x30, 0x34, 0x34, 0x39, 0x34, // 0.01576850004494 + 0x31, 0x39, 0x30, 0x32, 0x31, 0x36, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // 190216f), vec3(0.0176398996 + 0x32, 0x36, 0x33, 0x37, 0x34, 0x32, 0x34, 0x34, 0x36, 0x39, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, // 2637424469f, -0. + 0x30, 0x34, 0x32, 0x37, 0x37, 0x30, 0x36, 0x30, 0x31, 0x38, 0x30, 0x39, 0x30, 0x32, 0x34, 0x38, // 0427706018090248 + 0x31, 0x30, 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, 0x34, 0x32, 0x31, 0x30, 0x33, 0x30, // 1079f, 0.9421030 + 0x38, 0x37, 0x39, 0x30, 0x32, 0x30, 0x36, 0x39, 0x30, 0x39, 0x31, 0x38, 0x66, 0x29, 0x29, 0x20, // 879020690918f)) + 0x2a, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // * (mat3x3(v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x34, 0x31, 0x32, 0x35, 0x35, // ec3(0.41255 + 0x36, 0x34, 0x30, 0x39, 0x38, 0x33, 0x35, 0x38, 0x31, 0x35, 0x34, 0x32, 0x39, 0x36, 0x39, 0x66, // 640983581542969f + 0x2c, 0x20, 0x30, 0x2e, 0x33, 0x35, 0x37, 0x35, 0x37, 0x36, 0x31, 0x30, 0x32, 0x30, 0x31, 0x38, // , 0.357576102018 + 0x33, 0x35, 0x36, 0x33, 0x32, 0x33, 0x32, 0x34, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x38, 0x30, // 35632324f, 0.180 + 0x34, 0x33, 0x37, 0x35, 0x30, 0x35, 0x32, 0x34, 0x35, 0x32, 0x30, 0x38, 0x37, 0x34, 0x30, 0x32, // 4375052452087402 + 0x33, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, // 3f), vec3(0 + 0x2e, 0x32, 0x31, 0x32, 0x36, 0x37, 0x32, 0x39, 0x30, 0x34, 0x31, 0x33, 0x33, 0x37, 0x39, 0x36, // .212672904133796 + 0x36, 0x39, 0x31, 0x38, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x37, 0x31, 0x35, 0x31, 0x35, 0x32, // 69189f, 0.715152 + 0x32, 0x30, 0x34, 0x30, 0x33, 0x36, 0x37, 0x31, 0x32, 0x36, 0x34, 0x36, 0x34, 0x38, 0x66, 0x2c, // 20403671264648f, + 0x20, 0x30, 0x2e, 0x30, 0x37, 0x32, 0x31, 0x37, 0x35, 0x30, 0x30, 0x33, 0x35, 0x38, 0x38, 0x31, // 0.0721750035881 + 0x39, 0x39, 0x36, 0x31, 0x35, 0x34, 0x38, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // 9961548f), vec3< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x31, 0x39, 0x33, 0x33, 0x33, 0x39, 0x30, 0x30, // f32>(0.019333900 + 0x38, 0x38, 0x33, 0x37, 0x39, 0x33, 0x38, 0x33, 0x30, 0x38, 0x37, 0x66, 0x2c, 0x20, 0x30, 0x2e, // 88379383087f, 0. + 0x31, 0x31, 0x39, 0x31, 0x39, 0x31, 0x39, 0x39, 0x36, 0x37, 0x35, 0x33, 0x32, 0x31, 0x35, 0x37, // 1191919967532157 + 0x38, 0x39, 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, 0x35, 0x30, 0x33, 0x30, 0x34, 0x30, // 8979f, 0.9503040 + 0x39, 0x30, 0x39, 0x37, 0x36, 0x37, 0x31, 0x35, 0x30, 0x38, 0x37, 0x38, 0x39, 0x66, 0x29, 0x29, // 9097671508789f)) + 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, // * v_10.xyz)) * + 0x76, 0x5f, 0x31, 0x32, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x39, 0x39, // v_12) * 0.000099 + 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37, 0x35, 0x32, 0x66, 0x29, // 99999747378752f) + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x31, 0x35, // , vec3(0.15 + 0x39, 0x33, 0x30, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, // 93017578125f));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x70, // v_24 = p + 0x6f, 0x77, 0x28, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, // ow(((vec3(0 + 0x2e, 0x38, 0x33, 0x35, 0x39, 0x33, 0x37, 0x35, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x76, 0x5f, // .8359375f) + (v_ + 0x32, 0x35, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x38, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x66, // 25 * 18.8515625f + 0x29, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // )) / (vec3( + 0x31, 0x2e, 0x30, 0x66, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x76, 0x5f, 0x32, 0x35, 0x20, 0x2a, 0x20, // 1.0f) + (v_25 * + 0x31, 0x38, 0x2e, 0x36, 0x38, 0x37, 0x35, 0x66, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, // 18.6875f))), vec + 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x37, 0x38, 0x2e, 0x38, 0x34, 0x33, 0x37, 0x35, 0x66, // 3(78.84375f + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, // ));. } else + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, // {. v_24 + 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, // = vec3();. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, // }. v_2 + 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, // 3 = v_24;. }. + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x3b, // v_13 = v_23; + 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x36, 0x20, // . }. let v_26 + 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, // = v_13;. bgfx_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // ragData0 = vec4< + 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x32, 0x36, 0x2e, 0x78, 0x2c, 0x20, 0x76, 0x5f, 0x32, // f32>(v_26.x, v_2 + 0x36, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x36, 0x2e, 0x7a, 0x2c, 0x20, 0x76, 0x5f, 0x31, // 6.y, v_26.z, v_1 + 0x30, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, // 0.w);.}..@fragme + 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, // nt.fn main(@loca + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // tion(0u) v_color + 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, // 0 : vec4, @ + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, // location(1u) v_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, // excoord0 : vec3< + 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // f32>) -> @locati + 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // on(0u) vec4 + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // {. main_inner( + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // v_color0, v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, // oord0);. return + 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x3b, // bgfx_FragData0; + 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, // .}...`.`. +}; +static const uint8_t fs_texture_cube_dx11[2071] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x00, 0x10, 0x00, // ...u_params1.... 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x75, 0x5f, 0x6d, 0x74, 0x78, 0x14, 0x00, 0x20, 0x00, // .......u_mtx.. . 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo - 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, // r0..........s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // xColor0......... - 0xb4, 0x07, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0xd5, 0xf2, 0xa7, 0x2b, 0xa7, 0xfb, 0xcf, 0xb4, // ....DXBC...+.... - 0x73, 0x8c, 0x5f, 0x37, 0xc4, 0x6e, 0x4e, 0xb1, 0x01, 0x00, 0x00, 0x00, 0xb4, 0x07, 0x00, 0x00, // s._7.nN......... - 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, // ....,........... - 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ISGNl........... - 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // P............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, // ................ - 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // b............... - 0x02, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, // ........SV_POSIT - 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, // ION.COLOR.TEXCOO - 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // RD..OSGN,....... - 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, // ............SV_T - 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xd8, 0x06, 0x00, 0x00, // ARGET...SHEX.... - 0x50, 0x00, 0x00, 0x00, 0xb6, 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, // P.......j...Y... - 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, // F. .........Z... - 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x30, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, // .`......X0...p.. - 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, // ....UU..b....... - 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....b...2....... - 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, // e.... ......h... - 0x04, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....2...2....... - 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, // F........@.....@ - 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ...@.........@.. - 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x38, 0x00, 0x00, 0x0a, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, // 8...2.......F... - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0xbf, // .....@.....?.... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0xe2, 0x00, 0x10, 0x00, // ........8....... - 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x89, 0x20, 0x00, // ....V......... . - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // ........2...r... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....F. ......... - 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....F. ......... - 0x10, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ............F... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x05, // ....F.......D... - 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........:....... - 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, // 8...r........... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, // ....F.......H... - 0x82, 0x01, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....CU.......... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // F.......F~...... - 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .`........ ..... - 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ..../...r....... - 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, // F...........8... - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, // .@.....@...@...@ - 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ........r....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, // F...........r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, // ....F.......F... - 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // A.......2...r... - 0x01, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... ......... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // F.......F....... - 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, 0x80, 0x20, 0x00, // ............:. . - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, // ........8...r... - 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ............F... - 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....8........... - 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // F.......F....... - 0x31, 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, // 1............. . - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, // .........@.....? - 0x1f, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x20, 0x00, 0x05, // ............6 .. - 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // r.......F....... - 0x1d, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....r........@.. - 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x00, 0x00, 0x00, 0x00, // ..M;..M;..M;.... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F.......8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x00, 0x00, 0x00, 0x00, // R.NAR.NAR.NA.... - 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // /...r.......F... - 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x55, 0x55, 0xd5, 0x3e, // F........@..UU.> - 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // UU.>UU.>........ - 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // r.......F....... - 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 2...r.......F... - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, // .....@..=..?=..? - 0x3d, 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xae, 0x47, 0x61, 0xbd, // =..?.....@...Ga. - 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, // .Ga..Ga.....7... - 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r.......F....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // F.......F....... - 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ....1...2....... - 0x06, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // .. ..........@.. - 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ...?.. @........ - 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // .............@.. - 0x98, 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, 0x9c, 0xc4, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x00, // .:.>7..>..8>.... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, // F..........."... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xed, 0xc6, 0x59, 0x3e, 0x37, 0x14, 0x37, 0x3f, // .....@....Y>7.7? - 0x7d, 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // }..=....F....... - 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....B........@.. - 0x21, 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, 0x21, 0x47, 0x73, 0x3f, 0x00, 0x00, 0x00, 0x00, // !b.<...=!Gs?.... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, // F............... - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, 0x1a, 0xb6, 0xbe, // .....@..:..?|... - 0x3a, 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // :.......F....... - 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ...."........@.. - 0xd4, 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, 0xf1, 0x2c, 0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, // ..*....?.,.<.... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, // F...........B... - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x8d, 0x81, 0x90, 0x3c, 0x3a, 0x30, 0x2f, 0xbd, // .....@.....<:0/. - 0xab, 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // .-q?....F....... - 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x03, 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....V. ......... - 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, // .....@.....8...8 - 0x17, 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, // ...8..../...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, // ....F.......8... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, // .@... #>. #>. #> - 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, // F.......2...r... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0x00, 0x00, 0x00, // ...A...A...A.... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, // .@....V?..V?..V? - 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....2...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x80, 0x95, 0x41, // F........@.....A - 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ...A...A.....@.. - 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, // ...?...?...?.... - 0x0e, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, // ....F......./... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, // .....@.....B...B - 0x00, 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, // ...B........r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, // ....F........... - 0xe2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ........V....... - 0x06, 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, // ........7...r... - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ............F... - 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, // ................ - 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, // 6.... ......F... - 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x00, // ....>.....`. + 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x07, 0x00, 0x00, 0x44, // r0.............D + 0x58, 0x42, 0x43, 0xd5, 0xf2, 0xa7, 0x2b, 0xa7, 0xfb, 0xcf, 0xb4, 0x73, 0x8c, 0x5f, 0x37, 0xc4, // XBC...+....s._7. + 0x6e, 0x4e, 0xb1, 0x01, 0x00, 0x00, 0x00, 0xb4, 0x07, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, // nN............., + 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, // ...........ISGNl + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, // ...........P.... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // ................ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, // ...........b.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, // ................ + 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, // ...SV_POSITION.C + 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, // OLOR.TEXCOORD..O + 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, // SGN,........... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, // .......SV_TARGET + 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xd8, 0x06, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0xb6, // ...SHEX....P.... + 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, // ...j...Y...F. .. + 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, // .......Z....`... + 0x00, 0x00, 0x00, 0x58, 0x30, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, // ...X0...p......U + 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, // U..b...........b + 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, // ...2.......e.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x32, // ......h.......2 + 0x00, 0x00, 0x0f, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, // ...2.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, // ....@.....@...@. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, // ........@....... + 0x00, 0x80, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x32, // ...........8...2 + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, // @.....?......... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0xe2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, // ...8...........V + 0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x89, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // ......... ...... + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...2...r.......F + 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, // . .............. + 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, // ...............r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x07, 0x82, // . .............. + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, 0x00, // .......D........ + 0x00, 0x00, 0x00, 0x3a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, // ...:.......8...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...............F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0x82, 0x01, 0x00, 0x80, 0x43, // .......H.......C + 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // U..........F.... + 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // ...F~.......`... + 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, // ..... ........./ + 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, // ...r.......F.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, // .......8...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, // ...F........@... + 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, // ..@...@...@..... + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...r.......F.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // .......r.......F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, // .......F...A.... + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa6, // ...2...r........ + 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // . .........F.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, // ...F............ + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .......:. ...... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, // ...8...r........ + 0x0f, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, // .......F.......8 + 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, // ...........F.... + 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x08, 0x12, // ...F.......1.... + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // ......... ...... + 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x1f, 0x00, 0x04, 0x03, 0x0a, // ....@.....?..... + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x20, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x00, // .......6 ..r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x0a, 0x72, // ...F...........r + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, // ........@....M;. + 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // .M;..M;....F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x52, // ........@..R.NAR + 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, // .NAR.NA..../...r + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, // .......F.......8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x55, // ....@..UU.>UU.>U + 0x55, 0xd5, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, // U.>........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, // ...F.......2...r + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x00, // @..=..?=..?=..?. + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0xae, // ....@...Ga..Ga.. + 0x47, 0x61, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, // Ga.....7...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...F.......F.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x31, // ...F...........1 + 0x00, 0x00, 0x0b, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x80, 0x20, 0x00, 0x00, // ...2......... .. + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, // ........@.....?. + 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, // . @............. + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x98, 0x3a, 0xd3, 0x3e, 0x37, // ........@...:.>7 + 0x14, 0xb7, 0x3e, 0x9c, 0xc4, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ..>..8>....F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // ......."........ + 0x40, 0x00, 0x00, 0xed, 0xc6, 0x59, 0x3e, 0x37, 0x14, 0x37, 0x3f, 0x7d, 0xd0, 0x93, 0x3d, 0x00, // @....Y>7.7?}..=. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, // ...F...........B + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x21, 0x62, 0x9e, 0x3c, 0xef, // ........@..!b.<. + 0x1a, 0xf4, 0x3d, 0x21, 0x47, 0x73, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ..=!Gs?....F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, // ................ + 0x40, 0x00, 0x00, 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, 0x1a, 0xb6, 0xbe, 0x3a, 0xb9, 0x81, 0xbe, 0x00, // @..:..?|...:.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, // ...F..........." + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xd4, 0xab, 0x2a, 0xbf, 0xdb, // ........@....*.. + 0xe8, 0xce, 0x3f, 0xf1, 0x2c, 0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ..?.,.<....F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, // .......B........ + 0x40, 0x00, 0x00, 0x8d, 0x81, 0x90, 0x3c, 0x3a, 0x30, 0x2f, 0xbd, 0xab, 0x2d, 0x71, 0x3f, 0x00, // @.....<:0/..-q?. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, // ...F.......8...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, // .......F.......V + 0x85, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, // . .........8...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x00, // @.....8...8...8. + 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // .../...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, // .......8...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ...F........@... + 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, // #>. #>. #>..... + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // ...2...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xd0, 0x96, 0x41, 0x00, // ........@.....A. + 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ..A...A.....@... + 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x32, // .V?..V?..V?....2 + 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, // ....@.....A...A. + 0x80, 0x95, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, // ..A.....@.....?. + 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x72, // ..?...?........r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, // ......./...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, // ...F.......8...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, // @.....B...B...B. + 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // .......r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x10, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x02, // ...V............ + 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, // ...7...r........ + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, // .......F........ + 0x07, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0xf2, // ...........6.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, // ......F.......> + 0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x00, // .....`. }; static const uint8_t fs_texture_cube_mtl[4183] = { diff --git a/tools/texturev/fs_texture_cube2.bin.h b/tools/texturev/fs_texture_cube2.bin.h index 133df84fe..8924c02b1 100644 --- a/tools/texturev/fs_texture_cube2.bin.h +++ b/tools/texturev/fs_texture_cube2.bin.h @@ -582,121 +582,348 @@ static const uint8_t fs_texture_cube2_spv[4359] = 0x00, 0x03, 0x00, 0x75, 0x01, 0x00, 0x00, 0x15, 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, // ...u...........8 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, // ..... . }; -static const uint8_t fs_texture_cube2_dx11[1796] = +static const uint8_t fs_texture_cube2_wgsl[3612] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x01, 0x10, 0x00, // ...u_params1.... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo + 0x72, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0xc7, 0x0d, 0x00, 0x00, 0x64, // r0.......&.....d + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, // iagnostic(off, d + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, // erivative_unifor + 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, // mity);.diagnosti + 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, // c(off, subgroup_ + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, // uniformity);..@g + 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, // roup(0u) @bindin + 0x67, 0x28, 0x31, 0x38, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, // g(18u) var s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, // ColorSampler : s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // ampler;..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, // 0u) @binding(2u) + 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, // var s_texColorT + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, // exture : texture + 0x5f, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, // _cube;..str + 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, // uct UniformBlock + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x20, 0x3a, // {. u_params0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, // vec4,. u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // params1 : vec4,.}..@group(0 + 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, 0x20, // u) @binding(1u) + 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, // var v : + 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, 0x0a, // UniformBlock;.. + 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, 0x66, // var bgf + 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // x_FragData0 : ve + 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, // c4;..fn mai + 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // n_inner(v_color0 + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x76, 0x5f, // : vec4, v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, // texcoord0 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // ) {. let v + 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, // _1 = textureSamp + 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // leLevel(s_texCol + 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, // orTexture, s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, // ColorSampler, v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, // texcoord0, v.u_p + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // arams0.x);. let + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, // v_2 = v_1.xyz;. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, // let v_3 = pow( + 0x61, 0x62, 0x73, 0x28, 0x76, 0x5f, 0x32, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // abs(v_2), vec3(2.2000000476 + 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, // 8371582031f));. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, // let v_4 = v.u_p + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // arams0.z;. let + 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x5f, 0x33, 0x2c, 0x20, // v_5 = (mix(v_3, + 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // v_2, vec3(v + 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x2c, 0x20, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x20, 0x2a, // _4, v_4, v_4)) * + 0x20, 0x70, 0x6f, 0x77, 0x28, 0x32, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, // pow(2.0f, v.u_p + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, // arams0.w));. va + 0x72, 0x20, 0x76, 0x5f, 0x36, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, // r v_6 : vec4 = v_1;. v_6.x + 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, // = v_5.x;. var + 0x76, 0x5f, 0x37, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, // v_7 : vec4 + 0x3d, 0x20, 0x76, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x37, 0x2e, 0x79, 0x20, 0x3d, // = v_6;. v_7.y = + 0x20, 0x76, 0x5f, 0x35, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, // v_5.y;. var v_ + 0x38, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x3d, 0x20, // 8 : vec4 = + 0x76, 0x5f, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x38, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x76, // v_7;. v_8.z = v + 0x5f, 0x35, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x39, 0x20, // _5.z;. let v_9 + 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x38, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // = (v_8 * v_color + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3d, // 0);. let v_10 = + 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x2e, 0x78, 0x3b, 0x0a, // v.u_params1.x;. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x2e, 0x75, // let v_11 = v.u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x61, // _params1.y;. va + 0x72, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // r v_12 : vec3;. if ((v_10 + 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, // < 0.5f)) {. l + 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, // et v_13 = clamp( + 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // v_9.xyz, vec3(), vec3( + 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, // 1.0f));. let + 0x76, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x3b, 0x0a, 0x20, // v_14 = v_13.x;. + 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3a, 0x20, 0x66, 0x33, // var v_15 : f3 + 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, // 2;. switch(0u + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, // ) {. defaul + 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, // t: {. if + 0x28, 0x28, 0x76, 0x5f, 0x31, 0x34, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, // ((v_14 <= 0.0031 + 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, // 3080009073019028 + 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // f)) {. + 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, // v_15 = (12.92000 + 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, // 00762939453125f + 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // * v_14);. + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // } else {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, // v_15 = ((1. + 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, // 0549999475479125 + 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, 0x34, // 9766f * pow(v_14 + 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, // , 0.416666656732 + 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, // 5592041f)) - 0.0 + 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, // 5499999970197677 + 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 612f);. + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // break;. + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, // }. }. }. + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x76, // let v_16 = v + 0x5f, 0x31, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, // _15;. let v_1 + 0x37, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // 7 = v_13.y;. + 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, // var v_18 : f32;. + 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, // switch(0u) { + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, // . default: + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, // {. if ((v + 0x5f, 0x31, 0x37, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, // _17 <= 0.0031308 + 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, // 0009073019028f)) + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, // {. v_1 + 0x38, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, // 8 = (12.92000007 + 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, // 62939453125f * v + 0x5f, 0x31, 0x37, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // _17);. + 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, // break;. } + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // else {. + 0x20, 0x20, 0x76, 0x5f, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, // v_18 = ((1.054 + 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, // 9999475479125976 + 0x36, 0x66, 0x20, 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x31, 0x37, 0x2c, 0x20, 0x30, // 6f * pow(v_17, 0 + 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, // .416666656732559 + 0x32, 0x30, 0x34, 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, // 2041f)) - 0.0549 + 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, // 9999970197677612 + 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, // f);. br + 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, // eak;. }. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, // }. }. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x38, // let v_19 = v_18 + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x30, 0x20, 0x3d, // ;. let v_20 = + 0x20, 0x76, 0x5f, 0x31, 0x33, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, // v_13.z;. var + 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3a, 0x20, 0x66, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, // v_21 : f32;. + 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x30, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // switch(0u) {. + 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, // default: {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x32, 0x30, // if ((v_20 + 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, // <= 0.0031308000 + 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x38, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, // 9073019028f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x20, 0x3d, // v_21 = + 0x20, 0x28, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, // (12.92000007629 + 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x66, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x32, 0x30, // 39453125f * v_20 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, // );. bre + 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, // ak;. } el + 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // se {. v + 0x5f, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, // _21 = ((1.054999 + 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x36, 0x66, 0x20, // 94754791259766f + 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x76, 0x5f, 0x32, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, // * pow(v_20, 0.41 + 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, // 6666656732559204 + 0x31, 0x66, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, // 1f)) - 0.0549999 + 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x66, 0x29, 0x3b, // 9970197677612f); + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, // . break + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, // ;. }. + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, // }. }. v_ + 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // 12 = vec3(v + 0x5f, 0x31, 0x36, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x39, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x31, 0x29, // _16, v_19, v_21) + 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, // ;. } else {. + 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, // var v_22 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, // ;. if (( + 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3c, 0x20, 0x31, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, // v_10 < 1.5f)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x39, // v_22 = v_9 + 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, // .xyz;. } else + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x72, 0x20, 0x76, 0x5f, 0x32, // {. var v_2 + 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x20, // 3 : vec3;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x20, 0x3c, // if ((v_10 < + 0x20, 0x32, 0x2e, 0x35, 0x66, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 2.5f)) {. + 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, // let v_24 = pow + 0x28, 0x28, 0x28, 0x28, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // ((((mat3x3( + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, 0x37, 0x31, 0x36, 0x36, // vec3(1.7166 + 0x35, 0x31, 0x32, 0x30, 0x31, 0x32, 0x34, 0x38, 0x31, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, 0x31, // 5120124816894531 + 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x33, 0x35, 0x35, 0x36, 0x37, 0x30, 0x38, 0x30, 0x39, 0x37, // f, -0.3556708097 + 0x34, 0x35, 0x37, 0x38, 0x38, 0x35, 0x37, 0x34, 0x32, 0x32, 0x66, 0x2c, 0x20, 0x2d, 0x30, 0x2e, // 4578857422f, -0. + 0x32, 0x35, 0x33, 0x33, 0x36, 0x36, 0x32, 0x39, 0x31, 0x35, 0x32, 0x32, 0x39, 0x37, 0x39, 0x37, // 2533662915229797 + 0x33, 0x36, 0x33, 0x33, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // 3633f), vec3(-0.66668438911 + 0x34, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x36, 0x31, // 437988281f, 1.61 + 0x36, 0x34, 0x38, 0x31, 0x31, 0x38, 0x34, 0x39, 0x35, 0x39, 0x34, 0x31, 0x31, 0x36, 0x32, 0x31, // 6481184959411621 + 0x30, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x31, 0x35, 0x37, 0x36, 0x38, 0x35, 0x30, 0x30, // 09f, 0.015768500 + 0x30, 0x34, 0x34, 0x39, 0x34, 0x31, 0x39, 0x30, 0x32, 0x31, 0x36, 0x66, 0x29, 0x2c, 0x20, 0x76, // 04494190216f), v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x31, 0x37, 0x36, 0x33, // ec3(0.01763 + 0x39, 0x38, 0x39, 0x39, 0x36, 0x32, 0x36, 0x33, 0x37, 0x34, 0x32, 0x34, 0x34, 0x36, 0x39, 0x66, // 989962637424469f + 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x34, 0x32, 0x37, 0x37, 0x30, 0x36, 0x30, 0x31, 0x38, 0x30, // , -0.04277060180 + 0x39, 0x30, 0x32, 0x34, 0x38, 0x31, 0x30, 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, 0x34, // 902481079f, 0.94 + 0x32, 0x31, 0x30, 0x33, 0x30, 0x38, 0x37, 0x39, 0x30, 0x32, 0x30, 0x36, 0x39, 0x30, 0x39, 0x31, // 2103087902069091 + 0x38, 0x66, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x33, 0x78, 0x33, 0x3c, 0x66, // 8f)) * (mat3x3(vec3(0. + 0x34, 0x31, 0x32, 0x35, 0x35, 0x36, 0x34, 0x30, 0x39, 0x38, 0x33, 0x35, 0x38, 0x31, 0x35, 0x34, // 4125564098358154 + 0x32, 0x39, 0x36, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x33, 0x35, 0x37, 0x35, 0x37, 0x36, 0x31, // 2969f, 0.3575761 + 0x30, 0x32, 0x30, 0x31, 0x38, 0x33, 0x35, 0x36, 0x33, 0x32, 0x33, 0x32, 0x34, 0x66, 0x2c, 0x20, // 0201835632324f, + 0x30, 0x2e, 0x31, 0x38, 0x30, 0x34, 0x33, 0x37, 0x35, 0x30, 0x35, 0x32, 0x34, 0x35, 0x32, 0x30, // 0.18043750524520 + 0x38, 0x37, 0x34, 0x30, 0x32, 0x33, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // 874023f), vec3(0.2126729041 + 0x33, 0x33, 0x37, 0x39, 0x36, 0x36, 0x39, 0x31, 0x38, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x37, // 3379669189f, 0.7 + 0x31, 0x35, 0x31, 0x35, 0x32, 0x32, 0x30, 0x34, 0x30, 0x33, 0x36, 0x37, 0x31, 0x32, 0x36, 0x34, // 1515220403671264 + 0x36, 0x34, 0x38, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x37, 0x32, 0x31, 0x37, 0x35, 0x30, 0x30, // 648f, 0.07217500 + 0x33, 0x35, 0x38, 0x38, 0x31, 0x39, 0x39, 0x36, 0x31, 0x35, 0x34, 0x38, 0x66, 0x29, 0x2c, 0x20, // 358819961548f), + 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x30, 0x2e, 0x30, 0x31, 0x39, 0x33, // vec3(0.0193 + 0x33, 0x33, 0x39, 0x30, 0x30, 0x38, 0x38, 0x33, 0x37, 0x39, 0x33, 0x38, 0x33, 0x30, 0x38, 0x37, // 3390088379383087 + 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x31, 0x31, 0x39, 0x31, 0x39, 0x31, 0x39, 0x39, 0x36, 0x37, 0x35, // f, 0.11919199675 + 0x33, 0x32, 0x31, 0x35, 0x37, 0x38, 0x39, 0x37, 0x39, 0x66, 0x2c, 0x20, 0x30, 0x2e, 0x39, 0x35, // 321578979f, 0.95 + 0x30, 0x33, 0x30, 0x34, 0x30, 0x39, 0x30, 0x39, 0x37, 0x36, 0x37, 0x31, 0x35, 0x30, 0x38, 0x37, // 0304090976715087 + 0x38, 0x39, 0x66, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x29, // 89f)) * v_9.xyz) + 0x29, 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x31, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x30, // ) * v_11) * 0.00 + 0x30, 0x30, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37, // 0099999997473787 + 0x35, 0x32, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // 52f), vec3( + 0x30, 0x2e, 0x31, 0x35, 0x39, 0x33, 0x30, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x66, // 0.1593017578125f + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x33, // ));. v_23 + 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x28, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // = pow(((vec3(0.8359375f) + + 0x20, 0x28, 0x76, 0x5f, 0x32, 0x34, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x38, 0x35, 0x31, 0x35, // (v_24 * 18.8515 + 0x36, 0x32, 0x35, 0x66, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // 625f)) / (vec3(1.0f) + (v_2 + 0x34, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x36, 0x38, 0x37, 0x35, 0x66, 0x29, 0x29, 0x29, 0x2c, // 4 * 18.6875f))), + 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x37, 0x38, 0x2e, 0x38, 0x34, // vec3(78.84 + 0x33, 0x37, 0x35, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, // 375f));. } + 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, // else {. v + 0x5f, 0x32, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // _23 = vec3( + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // );. }. + 0x20, 0x76, 0x5f, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x32, 0x33, 0x3b, 0x0a, 0x20, 0x20, // v_22 = v_23;. + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x76, // }. v_12 = v + 0x5f, 0x32, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // _22;. }. let v + 0x5f, 0x32, 0x35, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x62, 0x67, // _25 = v_12;. bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3d, 0x20, 0x76, // fx_FragData0 = v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x78, 0x2c, // ec4(v_25.x, + 0x20, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x79, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x35, 0x2e, 0x7a, 0x2c, // v_25.y, v_25.z, + 0x20, 0x76, 0x5f, 0x39, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, // v_9.w);.}..@fra + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, // gment.fn main(@l + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x63, 0x6f, // ocation(0u) v_co + 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // lor0 : vec4 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, // , @location(1u) + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // v_texcoord0 : ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, // c3) -> @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, // ation(0u) vec4 {. main_inn + 0x65, 0x72, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x74, // er(v_color0, v_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // urn bgfx_FragDat + 0x61, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, // a0;.}... . . +}; +static const uint8_t fs_texture_cube2_dx11[1775] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x31, 0x12, 0x00, 0x10, 0x00, // ...u_params1.... 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // .......s_texColo - 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, // r0..........s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // xColor0......... - 0x9c, 0x06, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0xb7, 0xe9, 0xc1, 0x9d, 0xe5, 0xd1, 0xe8, 0x19, // ....DXBC........ - 0x23, 0xd6, 0x65, 0x54, 0xf9, 0xc2, 0xbd, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00, // #.eT............ - 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, // ....,........... - 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ISGNl........... - 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // P............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, // ................ - 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // b............... - 0x02, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, // ........SV_POSIT - 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, // ION.COLOR.TEXCOO - 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // RD..OSGN,....... - 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, // ............SV_T - 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xc0, 0x05, 0x00, 0x00, // ARGET...SHEX.... - 0x50, 0x00, 0x00, 0x00, 0x70, 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, // P...p...j...Y... - 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, // F. .........Z... - 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x30, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, // .`......X0...p.. - 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, // ....UU..b....... - 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x72, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....b...r....... - 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, // e.... ......h... - 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0x82, 0x01, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, // ....H.......CU.. - 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // F~.......`...... - 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, // .. ........./... - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, // r.......F....... - 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, // F........@.....@ - 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // ...@...@........ - 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // r.......F....... - 0x00, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....F...A....... - 0x32, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, // 2...r......... . - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, // F............... - 0x01, 0x00, 0x00, 0x00, 0x3a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ....:. ......... - 0x38, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, // 8...r........... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, // ....F.......8... - 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, // F.......1....... - 0x01, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ...... ......... - 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x1f, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, // .@.....?........ - 0x01, 0x00, 0x00, 0x00, 0x36, 0x20, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....6 ..r....... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F...........r... - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, // .....@....M;..M; - 0x1c, 0x2e, 0x4d, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ..M;....F....... - 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 8...r.......F... - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, // .....@..R.NAR.NA - 0x52, 0xb8, 0x4e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, // R.NA..../...r... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, // ....F.......8... - 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, // .@..UU.>UU.>UU.> - 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, // ........r....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, // F.......2...r... - 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, // =..?=..?=..?.... - 0x02, 0x40, 0x00, 0x00, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, // .@...Ga..Ga..Ga. - 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....7...r....... - 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // F.......F....... - 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, // F...........1... - 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 2......... ..... - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, // .....@.....?.. @ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, // ................ - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x98, 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, // .....@...:.>7..> - 0x9c, 0xc4, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ..8>....F....... - 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ...."........@.. - 0xed, 0xc6, 0x59, 0x3e, 0x37, 0x14, 0x37, 0x3f, 0x7d, 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, // ..Y>7.7?}..=.... - 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, // F...........B... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x21, 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, // .....@..!b.<...= - 0x21, 0x47, 0x73, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // !Gs?....F....... - 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // .............@.. - 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, 0x1a, 0xb6, 0xbe, 0x3a, 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, // :..?|...:....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, // F..........."... - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xd4, 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, // .....@....*....? - 0xf1, 0x2c, 0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // .,.<....F....... - 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....B........@.. - 0x8d, 0x81, 0x90, 0x3c, 0x3a, 0x30, 0x2f, 0xbd, 0xab, 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, // ...<:0/..-q?.... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, // F.......8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, // ....F.......V. . - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // ........8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, // ...8...8...8.... - 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // /...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ....8...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, // F........@... #> - 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, // . #>. #>........ - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // 2...r.......F... - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, // .....@.....A...A - 0x00, 0xd0, 0x96, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, // ...A.....@....V? - 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, // ..V?..V?....2... - 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, // .@.....A...A...A - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, // .....@.....?...? - 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, // ...?........r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....F.......F... - 0x02, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ..../...r....... - 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, // F.......8...r... - 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, // ....F........@.. - 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, // ...B...B...B.... - 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, // ....r.......F... - 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ - 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // V............... - 0x37, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, // 7...r........... - 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, // ....F........... - 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, // ........6.... .. - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, // ....F.......>... - 0x00, 0x00, 0x20, 0x00, // .. . + 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00, 0x44, // r0.............D + 0x58, 0x42, 0x43, 0xb7, 0xe9, 0xc1, 0x9d, 0xe5, 0xd1, 0xe8, 0x19, 0x23, 0xd6, 0x65, 0x54, 0xf9, // XBC........#.eT. + 0xc2, 0xbd, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, // ..............., + 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, // ...........ISGNl + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, // ...........P.... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // ................ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, // ...........b.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, // ................ + 0x07, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, // ...SV_POSITION.C + 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, // OLOR.TEXCOORD..O + 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, // SGN,........... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, // .......SV_TARGET + 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0xc0, 0x05, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, // ...SHEX....P...p + 0x01, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, // ...j...Y...F. .. + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, // .......Z....`... + 0x00, 0x00, 0x00, 0x58, 0x30, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, // ...X0...p......U + 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, // U..b...........b + 0x10, 0x00, 0x03, 0x72, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, // ...r.......e.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x48, // ......h.......H + 0x00, 0x00, 0x8e, 0x82, 0x01, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0xf2, 0x00, 0x10, 0x00, 0x00, // .......CU....... + 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, // ...F.......F~... + 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, // ....`........ .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x06, 0x72, 0x00, 0x10, 0x00, 0x01, // ......./...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, // ...F...........8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, 0xcc, 0x0c, 0x40, 0xcd, // ....@.....@...@. + 0xcc, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x01, // ..@........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, // ...F...........r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // .......F.......F + 0x02, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0x72, // ...A.......2...r + 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa6, 0x8a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......... ...... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...F.......F.... + 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x06, 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3a, // ...............: + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x72, // . .........8...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x0f, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // ...............F + 0x02, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x10, 0x00, 0x00, // .......8........ + 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, // ...F.......F.... + 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x08, 0x12, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, // ...1............ + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, // . ..........@... + 0x00, 0x00, 0x3f, 0x1f, 0x00, 0x04, 0x03, 0x0a, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, // ..?............6 + 0x20, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // ..r.......F.... + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, // .......r........ + 0x40, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x1c, 0x2e, 0x4d, 0x3b, 0x00, // @....M;..M;..M;. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, // ...F.......8...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x52, 0xb8, 0x4e, 0x41, 0x00, // @..R.NAR.NAR.NA. + 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // .../...r.......F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x03, // .......8...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x55, // ...F........@..U + 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x55, 0x55, 0xd5, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, // U.>UU.>UU.>..... + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...r.......F.... + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, // ...2...r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3d, 0x0a, 0x87, 0x3f, 0x3d, // ........@..=..?= + 0x0a, 0x87, 0x3f, 0x3d, 0x0a, 0x87, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xae, // ..?=..?.....@... + 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0xae, 0x47, 0x61, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x37, // Ga..Ga..Ga.....7 + 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x01, // ...r.......F.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x03, // ...F.......F.... + 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x0b, 0x32, 0x00, 0x10, 0x00, 0x01, // .......1...2.... + 0x00, 0x00, 0x00, 0x06, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, // ..... .......... + 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // @.....?.. @..... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // ................ + 0x40, 0x00, 0x00, 0x98, 0x3a, 0xd3, 0x3e, 0x37, 0x14, 0xb7, 0x3e, 0x9c, 0xc4, 0x38, 0x3e, 0x00, // @...:.>7..>..8>. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, // ...F..........." + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xed, 0xc6, 0x59, 0x3e, 0x37, // ........@....Y>7 + 0x14, 0x37, 0x3f, 0x7d, 0xd0, 0x93, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, // .7?}..=....F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......B........ + 0x40, 0x00, 0x00, 0x21, 0x62, 0x9e, 0x3c, 0xef, 0x1a, 0xf4, 0x3d, 0x21, 0x47, 0x73, 0x3f, 0x00, // @..!b.<...=!Gs?. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x12, // ...F............ + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x3a, 0xbb, 0xdb, 0x3f, 0x7c, // ........@..:..?| + 0x1a, 0xb6, 0xbe, 0x3a, 0xb9, 0x81, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...:.......F.... + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, // ......."........ + 0x40, 0x00, 0x00, 0xd4, 0xab, 0x2a, 0xbf, 0xdb, 0xe8, 0xce, 0x3f, 0xf1, 0x2c, 0x81, 0x3c, 0x00, // @....*....?.,.<. + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0a, 0x42, // ...F...........B + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x8d, 0x81, 0x90, 0x3c, 0x3a, // ........@.....<: + 0x30, 0x2f, 0xbd, 0xab, 0x2d, 0x71, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // 0/..-q?....F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x85, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // .......V. ...... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x17, 0xb7, 0xd1, 0x38, 0x17, // ........@.....8. + 0xb7, 0xd1, 0x38, 0x17, 0xb7, 0xd1, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x05, 0x72, // ..8...8..../...r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, // .......F.......8 + 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x20, 0x23, 0x3e, 0x00, 0x20, 0x23, 0x3e, 0x00, // ....@... #>. #>. + 0x20, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, // #>........r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, // ...F.......2...r + 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, // .......F........ + 0x40, 0x00, 0x00, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, 0xd0, 0x96, 0x41, 0x00, // @.....A...A...A. + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f, 0x00, 0x00, 0x56, 0x3f, 0x00, // ....@....V?..V?. + 0x00, 0x56, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0f, 0x72, 0x00, 0x10, 0x00, 0x02, // .V?....2...r.... + 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ...F........@... + 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x80, 0x95, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, // ..A...A...A..... + 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, // @.....?...?...?. + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // .......r.......F + 0x02, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2f, // .......F......./ + 0x00, 0x00, 0x05, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, // ...r.......F.... + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0a, 0x72, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, // ...8...r.......F + 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xb0, 0x9d, 0x42, 0x00, // ........@.....B. + 0xb0, 0x9d, 0x42, 0x00, 0xb0, 0x9d, 0x42, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x05, 0x72, // ..B...B........r + 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, // .......F........ + 0x00, 0x00, 0x07, 0xe2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, // ...........V.... + 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0x72, // ...........7...r + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, // ...............F + 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x07, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, // ................ + 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, // ...6.... ......F + 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, // .......>..... . }; static const uint8_t fs_texture_cube2_mtl[4044] = { diff --git a/tools/texturev/fs_texture_msdf.bin.h b/tools/texturev/fs_texture_msdf.bin.h index f571cf81d..b3bcdd97b 100644 --- a/tools/texturev/fs_texture_msdf.bin.h +++ b/tools/texturev/fs_texture_msdf.bin.h @@ -74,12 +74,12 @@ static const uint8_t fs_texture_msdf_essl[613] = 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x3b, // olor = tmpvar_4; 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // .}... }; -static const uint8_t fs_texture_msdf_spv[1599] = +static const uint8_t fs_texture_msdf_spv[1559] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, // ...s_texColor0.. - 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x02, 0x23, 0x07, 0x00, // .....&.......#.. + 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0xd8, 0x05, 0x00, 0x00, 0x03, 0x02, 0x23, 0x07, 0x00, // .....&.......#.. 0x00, 0x01, 0x00, 0x0b, 0x00, 0x08, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, // ................ 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, // ...............G 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, // LSL.std.450..... @@ -154,78 +154,138 @@ static const uint8_t fs_texture_msdf_spv[1599] = 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, // ...............Q 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x01, // ................ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00, 0x01, // ................ - 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x51, // ...%...........Q - 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xee, // ...Q............ - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfa, // ................ - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0xf9, // .......(........ - 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xee, // ...Q............ - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfd, // ................ - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfc, // .......%........ - 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, // ................ - 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x83, // ...(............ - 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x80, // ................ - 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0xd5, // ................ - 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xd5, // ................ - 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xda, // ................ - 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x07, // ................ - 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xda, // ...........+.... - 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x0e, // ...e...k...P.... - 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xdb, // ................ - 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, // ................ - 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6c, // ...........i...l - 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x04, // .......>........ - 0x01, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // .......8....... + 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x0c, // ...%............ + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, // ...............( + 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x07, // ...........Q.... + 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, // ................ + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, // ...............% + 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x07, // ................ + 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xf5, // ...........(.... + 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xd5, // ................ + 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00, 0x07, // ................ + 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x07, // ................ + 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x81, // ................ + 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0x80, // ................ + 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6b, // ...+.......e...k + 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xdb, // ...P............ + 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x0c, // ................ + 0x00, 0x08, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, // ................ + 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x3e, // ...i...l.......> + 0x00, 0x03, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, // ...............8 + 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ....... }; -static const uint8_t fs_texture_msdf_dx11[716] = +static const uint8_t fs_texture_msdf_wgsl[954] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, // ...s_texColor0.. + 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x79, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, // .....&.y...diagn + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, // ostic(off, deriv + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, // ative_uniformity + 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, // );.diagnostic(of + 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, // f, subgroup_unif + 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, // ormity);..@group + 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, // (0u) @binding(18 + 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // u) var s_texColo + 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, // rSampler : sampl + 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // er;..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(2u) var + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, // s_texColorTextu + 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, // re : texture_2d< + 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, // f32>;..struct Un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, // iformBlock {. u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // _params0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // in_inner(v_texco + 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ord0 : vec3 + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, // ) {. let v_1 = + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x65, 0x76, // textureSampleLev + 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, // el(s_texColorTex + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ture, s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // Sampler, v_texco + 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, // ord0.xy, v.u_par + 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // ams0.x);. let v + 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // _2 = v_1.x;. le + 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x79, 0x3b, 0x0a, 0x20, // t v_3 = v_1.y;. + 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, 0x78, 0x28, // let v_4 = (max( + 0x6d, 0x69, 0x6e, 0x28, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x2c, 0x20, 0x6d, // min(v_2, v_3), m + 0x69, 0x6e, 0x28, 0x6d, 0x61, 0x78, 0x28, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, // in(max(v_2, v_3) + 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x2e, 0x7a, 0x29, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x35, 0x66, // , v_1.z)) - 0.5f + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x63, // );. let v_5 = c + 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x28, 0x28, 0x76, 0x5f, 0x34, 0x20, 0x2f, 0x20, 0x66, 0x77, 0x69, // lamp(((v_4 / fwi + 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, 0x34, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x66, // dth(v_4)) + 0.5f + 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, // ), 0.0f, 1.0f);. + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // bgfx_FragData0 + 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // = mix(vec4 + 0x28, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, // (), vec4(1. + 0x30, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // 0f), vec4(v + 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, 0x35, 0x2c, 0x20, 0x76, 0x5f, // _5, v_5, v_5, v_ + 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, // 5));.}..@fragmen + 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // t.fn main(@locat + 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(1u) v_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec3) + 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, // -> @location(0u + 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, // ) vec4 {. + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, // main_inner(v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // coord0);. retur + 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // n bgfx_FragData0 + 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // ;.}....... +}; +static const uint8_t fs_texture_msdf_dx11[695] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, // ...s_texColor0.. - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol - 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, // or0.........x... - 0x44, 0x58, 0x42, 0x43, 0xe8, 0x17, 0xeb, 0xe0, 0xa9, 0x27, 0x8f, 0x9d, 0x5f, 0xda, 0x47, 0x4b, // DXBC.....'.._.GK - 0xde, 0x4f, 0x3e, 0xff, 0x01, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // .O>.....x....... - 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, // ,...........ISGN - 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, // l...........P... - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, // ............b... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ................ - 0x07, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, // ....SV_POSITION. - 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, // COLOR.TEXCOORD.. - 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // OSGN,........... - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, // ........SV_TARGE - 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0x9c, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, // T...SHEX....P... - 0x67, 0x00, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, // g...j...Y...F. . - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, // ........Z....`.. - 0x00, 0x00, 0x00, 0x00, 0x58, 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....X....p...... - 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // UU..b...2....... - 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, // e.... ......h... - 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0xc2, 0x00, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, // ....H.......CU.. - 0x72, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // r.......F....... - 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // F~.......`...... - 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x07, // .. .........4... - 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x07, 0x52, 0x00, 0x10, 0x00, // ........3...R... - 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x10, 0x00, // ....V........... - 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....4........... - 0x2a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // *............... - 0x00, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x7a, 0x00, 0x00, 0x05, // .....@......z... - 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // "............... - 0x7c, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, // |...B........... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........"....... - 0x2a, 0x00, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x80, // *............... - 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, // .........@.....? - 0x36, 0x20, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, // 6 ... .......... - 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // ....>....... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0xe8, // .......x...DXBC. + 0x17, 0xeb, 0xe0, 0xa9, 0x27, 0x8f, 0x9d, 0x5f, 0xda, 0x47, 0x4b, 0xde, 0x4f, 0x3e, 0xff, 0x01, // ....'.._.GK.O>.. + 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, // ...x.......,.... + 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, // .......ISGNl.... + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // .......P........ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .......b........ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x53, // ...............S + 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, // V_POSITION.COLOR + 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, // .TEXCOORD..OSGN, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // ........... .... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, // ...SV_TARGET...S + 0x48, 0x45, 0x58, 0x9c, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x6a, // HEX....P...g...j + 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // ...Y...F. ...... + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, // ...Z....`......X + 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, // ....p......UU..b + 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, // ...2.......e.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x48, // ......h.......H + 0x00, 0x00, 0x8e, 0xc2, 0x00, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0x72, 0x00, 0x10, 0x00, 0x00, // .......CU..r.... + 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, // ...F.......F~... + 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, // ....`........ .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, // .......4........ + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x07, 0x52, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, // ...3...R.......V + 0x06, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, // ...............4 + 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x10, 0x00, 0x00, // ...........*.... + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x12, // ................ + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // ................ + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x7a, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x00, // @......z...".... + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x05, 0x42, // ...........|...B + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x10, 0x80, 0x81, // ...".......*.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, // ................ + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x36, 0x20, 0x00, 0x05, 0xf2, // ....@.....?6 ... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, // ..............> + 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // ....... }; -static const uint8_t fs_texture_msdf_mtl[942] = +static const uint8_t fs_texture_msdf_mtl[984] = { 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x11, 0x73, // FSH............s 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // _texColorSampler @@ -233,7 +293,7 @@ static const uint8_t fs_texture_msdf_mtl[942] = 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x11, 0x01, 0xff, 0xff, // ColorTexture.... 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, // .......u_params0 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // ...........s_tex - 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, // Color..........7 + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, // Color..........a 0x03, 0x00, 0x00, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x6d, 0x65, 0x74, // ...#include .#incl 0x75, 0x64, 0x65, 0x20, 0x3c, 0x73, 0x69, 0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, // ude ............ 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, // ...8....... }; -static const uint8_t fs_texture_sdf_dx11[820] = +static const uint8_t fs_texture_sdf_wgsl[890] = { - 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x75, // FSH............u + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ + 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x02, // ...s_texColor0.. + 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x39, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, 0x6e, // .....&.9...diagn + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, // ostic(off, deriv + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, // ative_uniformity + 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, // );.diagnostic(of + 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, 0x66, // f, subgroup_unif + 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, // ormity);..@group + 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x38, // (0u) @binding(18 + 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // u) var s_texColo + 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, // rSampler : sampl + 0x65, 0x72, 0x3b, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, // er;..@group(0u) + 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x32, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, // @binding(2u) var + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, // s_texColorTextu + 0x72, 0x65, 0x20, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64, 0x3c, // re : texture_2d< + 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, // f32>;..struct Un + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, // iformBlock {. u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // _params0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x75, 0x29, // 0u) @binding(1u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x0a, // : UniformBlock;. + 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x67, // .var bg + 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, 0x20, 0x3a, 0x20, 0x76, // fx_FragData0 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, // ec4;..fn ma + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // in_inner(v_texco + 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // ord0 : vec3 + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, // ) {. let v_1 = + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x65, 0x76, // textureSampleLev + 0x65, 0x6c, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, // el(s_texColorTex + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // ture, s_texColor + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // Sampler, v_texco + 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x76, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, // ord0.xy, v.u_par + 0x61, 0x6d, 0x73, 0x30, 0x2e, 0x78, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, // ams0.x).x;. let + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x76, 0x5f, // v_2 = fwidth(v_ + 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, // 1);. let v_3 = + 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, // clamp(smoothstep + 0x28, 0x28, 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2d, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x2c, 0x20, 0x28, // ((0.5f - v_2), ( + 0x30, 0x2e, 0x35, 0x66, 0x20, 0x2b, 0x20, 0x76, 0x5f, 0x32, 0x29, 0x2c, 0x20, 0x76, 0x5f, 0x31, // 0.5f + v_2), v_1 + 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, // ), 0.0f, 1.0f);. + 0x20, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // bgfx_FragData0 + 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // = mix(vec4 + 0x28, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x31, 0x2e, // (), vec4(1. + 0x30, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x76, // 0f), vec4(v + 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x2c, 0x20, 0x76, 0x5f, // _3, v_3, v_3, v_ + 0x33, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, // 3));.}..@fragmen + 0x74, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // t.fn main(@locat + 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(1u) v_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec3) + 0x20, 0x2d, 0x3e, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, // -> @location(0u + 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, // ) vec4 {. + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x76, 0x5f, 0x74, 0x65, 0x78, // main_inner(v_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // coord0);. retur + 0x6e, 0x20, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x30, // n bgfx_FragData0 + 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, // ;.}....... +}; +static const uint8_t fs_texture_sdf_dx11[799] = +{ + 0x46, 0x53, 0x48, 0x0b, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09, 0x75, // FSH............u 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x30, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // _params0........ 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x01, 0x00, // ...s_texColor0.. - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol - 0x6f, 0x72, 0x30, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x02, 0x00, 0x00, // or0............. - 0x44, 0x58, 0x42, 0x43, 0x4f, 0x1d, 0x84, 0x8c, 0xc3, 0x2e, 0xde, 0x50, 0x93, 0x1c, 0x37, 0x7a, // DXBCO......P..7z - 0x17, 0xdc, 0x82, 0x70, 0x01, 0x00, 0x00, 0x00, 0xe0, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ...p............ - 0x2c, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, // ,...........ISGN - 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, // l...........P... - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, // ............b... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ................ - 0x07, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, // ....SV_POSITION. - 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, // COLOR.TEXCOORD.. - 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // OSGN,........... - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ............... - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, // ........SV_TARGE - 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x45, 0x58, 0x04, 0x02, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, // T...SHEX....P... - 0x81, 0x00, 0x00, 0x00, 0x6a, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, // ....j...Y...F. . - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, // ........Z....`.. - 0x00, 0x00, 0x00, 0x00, 0x58, 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....X....p...... - 0x55, 0x55, 0x00, 0x00, 0x62, 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // UU..b...2....... - 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, // e.... ......h... - 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x8e, 0xc2, 0x00, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, // ....H.......CU.. - 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, // ........F....... - 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // F~.......`...... - 0x0a, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x05, // .. .........z... - 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // "............... - 0x7c, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, // |...B........... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........"....... - 0x2a, 0x00, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x80, // *............... - 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, // ............B... - 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, // .............@.. - 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x08, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ...?...."....... - 0x1a, 0x00, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, // ....A........@.. - 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x08, 0x52, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ...?....R....... - 0x56, 0x05, 0x10, 0x80, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x10, 0x00, // V...A........... - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ........"....... - 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, // .@.....?...?...? - 0x00, 0x00, 0x80, 0x3f, 0x2a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x20, 0x00, 0x07, // ...?*.......8 .. - 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, // ........2..."... - 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, // .............@.. - 0x00, 0x00, 0x00, 0xc0, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x38, 0x00, 0x00, 0x07, // .....@....@@8... - 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, // ........8....... - 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x0a, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ....3.... ...... - 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, // .........@.....? - 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x3e, 0x00, 0x00, 0x01, // ...?...?...?>... - 0x00, 0x00, 0x10, 0x00, // .... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x02, 0x00, 0x00, 0x44, 0x58, 0x42, 0x43, 0x4f, // ...........DXBCO + 0x1d, 0x84, 0x8c, 0xc3, 0x2e, 0xde, 0x50, 0x93, 0x1c, 0x37, 0x7a, 0x17, 0xdc, 0x82, 0x70, 0x01, // ......P..7z...p. + 0x00, 0x00, 0x00, 0xe0, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xa0, // ...........,.... + 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, // .......ISGNl.... + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // .......P........ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .......b........ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x53, // ...............S + 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, // V_POSITION.COLOR + 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, // .TEXCOORD..OSGN, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // ........... .... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, // ...SV_TARGET...S + 0x48, 0x45, 0x58, 0x04, 0x02, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x6a, // HEX....P.......j + 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // ...Y...F. ...... + 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, // ...Z....`......X + 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x62, // ....p......UU..b + 0x10, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, // ...2.......e.... + 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x48, // ......h.......H + 0x00, 0x00, 0x8e, 0xc2, 0x00, 0x00, 0x80, 0x43, 0x55, 0x15, 0x00, 0x12, 0x00, 0x10, 0x00, 0x00, // .......CU....... + 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, // ...F.......F~... + 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x80, 0x20, 0x00, 0x00, // ....`........ .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x00, // .......z...".... + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x05, 0x42, // ...........|...B + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x10, 0x80, 0x81, // ...".......*.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, // .......B........ + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, // ........@.....?. + 0x00, 0x00, 0x08, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x80, 0x41, // ..."...........A + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, // ........@.....?. + 0x00, 0x00, 0x08, 0x52, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x80, 0x41, // ...R.......V...A + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, // ................ + 0x00, 0x00, 0x0a, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, // ..."........@... + 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x2a, // ..?...?...?...?* + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x20, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, // .......8 ....... + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, // ...2..."........ + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, // ........@....... + 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x38, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, // @....@@8........ + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, // ...8............ + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, // ...............3 + 0x00, 0x00, 0x0a, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, // .... ........... + 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, // ....@.....?...?. + 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // ..?...?>....... }; static const uint8_t fs_texture_sdf_mtl[904] = { diff --git a/tools/texturev/vs_texture.bin.h b/tools/texturev/vs_texture.bin.h index e9d73d21f..bc5c3263e 100644 --- a/tools/texturev/vs_texture.bin.h +++ b/tools/texturev/vs_texture.bin.h @@ -138,6 +138,67 @@ static const uint8_t vs_texture_spv[1234] = 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, // ....8........... 0x40, 0x00, // @. }; +static const uint8_t vs_texture_wgsl[926] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........f...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec3; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec3, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, // texcoord0 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, // position.y, 0.0f + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, // , 1.0f));. v_2 + 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // = a_color0;. v_ + 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, // 3 = a_texcoord0; + 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // .}..struct tint_ + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, // symbol {. @buil + 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, // tin(position). + 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, // m : vec4,. + 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, // @location(0u). + 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // m_1 : vec4 + 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, // ,. @location(1u + 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, // ). m_2 : vec3,.}..@vertex. + 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // fn main(@locatio + 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // n(0u) a_color0 : + 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, // vec4, @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ation(1u) a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // tion : vec3 + 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, // , @location(2u) + 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // a_texcoord0 : ve + 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, // c3) -> tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, // _symbol {. main + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, // _inner(a_color0, + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, // a_position, a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // excoord0);. ret + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, // urn tint_symbol( + 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, // v_1, v_2, v_3);. + 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // }.........@.@. +}; static const uint8_t vs_texture_dx11[594] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u diff --git a/tools/texturev/vs_texture_cube.bin.h b/tools/texturev/vs_texture_cube.bin.h index 3995c0e44..6f6b64886 100644 --- a/tools/texturev/vs_texture_cube.bin.h +++ b/tools/texturev/vs_texture_cube.bin.h @@ -137,6 +137,68 @@ static const uint8_t vs_texture_cube_spv[1238] = 0x3d, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, 0x05, 0x00, // =.......8....... 0x01, 0x00, 0x10, 0x00, 0x40, 0x00, // ....@. }; +static const uint8_t vs_texture_cube_wgsl[934] = +{ + 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj.. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x03, 0x00, 0x00, 0x64, 0x69, 0x61, 0x67, // ........n...diag + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, 0x72, 0x69, // nostic(off, deri + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, // vative_uniformit + 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, // y);.diagnostic(o + 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x6e, 0x69, // ff, subgroup_uni + 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, // formity);..struc + 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // t UniformBlock_1 + 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // _1 {. u_modelVi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, 0x3c, // ewProj : mat4x4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, // f32>,.}..@group( + 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, // 0u) @binding(0u) + 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, // var v + 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, // : UniformBlock_1 + 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // _1;..var v_1 : vec4;..var + 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // v_2 : vec4 + 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, // ;..var + 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, // v_3 : vec3; + 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, // ..fn main_inner( + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, // a_color0 : vec4< + 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // f32>, a_position + 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, // : vec3, a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, // texcoord0 : vec3 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, // ) {. v_1 = + 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // (v.u_modelViewP + 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // roj * vec4( + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, // a_position.x, a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, // position.y, a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, // sition.z, 1.0f)) + 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ;. v_2 = a_colo + 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, // r0;. v_3 = a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, // xcoord0;.}..stru + 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x7b, // ct tint_symbol { + 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x28, 0x70, 0x6f, 0x73, 0x69, // . @builtin(posi + 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, // tion). m : vec4 + 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // ,. @locati + 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, // on(0u). m_1 : v + 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, 0x6f, 0x63, // ec4,. @loc + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, 0x32, 0x20, // ation(1u). m_2 + 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, // : vec3,.}.. + 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, // @vertex.fn main( + 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x20, 0x61, 0x5f, // @location(0u) a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, // color0 : vec4, @location(1u + 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // ) a_position : v + 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, // ec3, @locat + 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ion(2u) a_texcoo + 0x72, 0x64, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, // rd0 : vec3) + 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, // -> tint_symbol + 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, // {. main_inner(a + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // _color0, a_posit + 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // ion, a_texcoord0 + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, // );. return tint + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, // _symbol(v_1, v_2 + 0x2c, 0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x01, 0x00, // , v_3);.}....... + 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, // ..@.@. +}; static const uint8_t vs_texture_cube_dx11[634] = { 0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, // VSH............u