update sokol (views update for gfx was breaking change)

This commit is contained in:
2025-09-14 13:34:49 -04:00
parent 8ed60cca33
commit 841a23b707
66 changed files with 5534 additions and 4516 deletions

View File

@@ -3958,6 +3958,7 @@ typedef struct {
uint32_t init_cookie;
sdtx_desc_t desc;
sg_image font_img;
sg_view font_view;
sg_sampler font_smp;
sg_shader shader;
uint32_t fmt_buf_size;
@@ -4368,21 +4369,21 @@ static void _sdtx_setup_common(void) {
shd_desc.attrs[1].hlsl_sem_index = 1;
shd_desc.attrs[2].hlsl_sem_name = "TEXCOORD";
shd_desc.attrs[2].hlsl_sem_index = 2;
shd_desc.images[0].stage = SG_SHADERSTAGE_FRAGMENT;
shd_desc.images[0].image_type = SG_IMAGETYPE_2D;
shd_desc.images[0].sample_type = SG_IMAGESAMPLETYPE_FLOAT;
shd_desc.images[0].hlsl_register_t_n = 0;
shd_desc.images[0].msl_texture_n = 0;
shd_desc.images[0].wgsl_group1_binding_n = 64;
shd_desc.views[0].texture.stage = SG_SHADERSTAGE_FRAGMENT;
shd_desc.views[0].texture.image_type = SG_IMAGETYPE_2D;
shd_desc.views[0].texture.sample_type = SG_IMAGESAMPLETYPE_FLOAT;
shd_desc.views[0].texture.hlsl_register_t_n = 0;
shd_desc.views[0].texture.msl_texture_n = 0;
shd_desc.views[0].texture.wgsl_group1_binding_n = 64;
shd_desc.samplers[0].stage = SG_SHADERSTAGE_FRAGMENT;
shd_desc.samplers[0].sampler_type = SG_SAMPLERTYPE_FILTERING;
shd_desc.samplers[0].hlsl_register_s_n = 0;
shd_desc.samplers[0].msl_sampler_n = 0;
shd_desc.samplers[0].wgsl_group1_binding_n = 80;
shd_desc.image_sampler_pairs[0].stage = SG_SHADERSTAGE_FRAGMENT;
shd_desc.image_sampler_pairs[0].image_slot = 0;
shd_desc.image_sampler_pairs[0].sampler_slot = 0;
shd_desc.image_sampler_pairs[0].glsl_name = "tex_smp";
shd_desc.texture_sampler_pairs[0].stage = SG_SHADERSTAGE_FRAGMENT;
shd_desc.texture_sampler_pairs[0].view_slot = 0;
shd_desc.texture_sampler_pairs[0].sampler_slot = 0;
shd_desc.texture_sampler_pairs[0].glsl_name = "tex_smp";
#if defined(SOKOL_GLCORE)
shd_desc.vertex_func.source = (const char*)_sdtx_vs_source_glsl410;
shd_desc.fragment_func.source = (const char*)_sdtx_fs_source_glsl410;
@@ -4428,7 +4429,7 @@ static void _sdtx_setup_common(void) {
}
}
// create font texture and sampler
// create font image, texture view and sampler
sg_image_desc img_desc;
_sdtx_clear(&img_desc, sizeof(img_desc));
img_desc.width = 256 * 8;
@@ -4439,6 +4440,13 @@ static void _sdtx_setup_common(void) {
_sdtx.font_img = sg_make_image(&img_desc);
SOKOL_ASSERT(SG_INVALID_ID != _sdtx.font_img.id);
sg_view_desc view_desc;
_sdtx_clear(&view_desc, sizeof(view_desc));
view_desc.texture.image = _sdtx.font_img;
view_desc.label = "sdtx-font-texture-view";
_sdtx.font_view = sg_make_view(&view_desc);
SOKOL_ASSERT(SG_INVALID_ID != _sdtx.font_view.id);
sg_sampler_desc smp_desc;
_sdtx_clear(&smp_desc, sizeof(smp_desc));
smp_desc.min_filter = SG_FILTER_NEAREST;
@@ -4455,6 +4463,7 @@ static void _sdtx_setup_common(void) {
static void _sdtx_discard_common(void) {
sg_push_debug_group("sokol-debugtext");
sg_destroy_sampler(_sdtx.font_smp);
sg_destroy_view(_sdtx.font_view);
sg_destroy_image(_sdtx.font_img);
sg_destroy_shader(_sdtx.shader);
if (_sdtx.fmt_buf) {
@@ -4613,7 +4622,7 @@ SOKOL_API_IMPL void _sdtx_draw_layer(_sdtx_context_t* ctx, int layer_id) {
sg_bindings bindings;
_sdtx_clear(&bindings, sizeof(bindings));
bindings.vertex_buffers[0] = ctx->vbuf;
bindings.images[0] = _sdtx.font_img;
bindings.views[0] = _sdtx.font_view;
bindings.samplers[0] = _sdtx.font_smp;
sg_apply_bindings(&bindings);
for (int cmd_index = 0; cmd_index < ctx->commands.next; cmd_index++) {