Added WGSL shaders. (#3543)

This commit is contained in:
Branimir Karadžić
2026-01-09 19:31:01 -08:00
committed by GitHub
parent 1c08bab55a
commit 967f7629b6
342 changed files with 5869 additions and 865 deletions

View File

@@ -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<f3
0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, // 2>;..var<private
0x3e, 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, 0x3b, 0x0a, 0x0a, 0x66, // : vec4<f32>;..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<f32
0x3e, 0x2c, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3a, // >, v_texcoord0 :
0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // vec4<f32>) {.
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<f32>(v_9, v_
0x39, 0x2c, 0x20, 0x76, 0x5f, 0x39, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, // 9, v_9), vec3<f3
0x32, 0x3e, 0x28, 0x76, 0x5f, 0x31, 0x30, 0x2c, 0x20, 0x76, 0x5f, 0x31, 0x30, 0x2c, 0x20, 0x76, // 2>(v_10, v_10, v
0x5f, 0x31, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, // _10), vec3<f32>(
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, // <f32>(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<f32>) ->
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<f32> {. 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