diff options
| author | Andre Weissflog <floooh@gmail.com> | 2021-02-10 18:36:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-10 18:36:43 +0100 |
| commit | d2826d75c0931bc48a4b474f6db1ae301552a423 (patch) | |
| tree | 228adb3eaebd2af28675d6dd52ddc59d9318c682 /util/sokol_fontstash.h | |
| parent | 9acfe8cf7b3597bfad39847a0daa564dad91b8ae (diff) | |
Language-binding-friendly API changes. (#458)
See: https://floooh.github.io/2021/02/07/sokol-api-overhaul.html
Diffstat (limited to 'util/sokol_fontstash.h')
| -rw-r--r-- | util/sokol_fontstash.h | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/util/sokol_fontstash.h b/util/sokol_fontstash.h index 1db20019..9bb915fb 100644 --- a/util/sokol_fontstash.h +++ b/util/sokol_fontstash.h @@ -1610,7 +1610,7 @@ static int _sfons_render_create(void* user_ptr, int width, int height) { ub->uniforms[0].type = SG_UNIFORMTYPE_FLOAT4; ub->uniforms[0].array_count = 8; shd_desc.fs.images[0].name = "tex"; - shd_desc.fs.images[0].type = SG_IMAGETYPE_2D; + shd_desc.fs.images[0].image_type = SG_IMAGETYPE_2D; shd_desc.fs.images[0].sampler_type = SG_SAMPLERTYPE_FLOAT; shd_desc.label = "sokol-fontstash-shader"; #if defined(SOKOL_GLCORE33) @@ -1624,16 +1624,12 @@ static int _sfons_render_create(void* user_ptr, int width, int height) { shd_desc.fs.entry = "main0"; switch (sg_query_backend()) { case SG_BACKEND_METAL_MACOS: - shd_desc.vs.byte_code = _sfons_vs_bytecode_metal_macos; - shd_desc.vs.byte_code_size = sizeof(_sfons_vs_bytecode_metal_macos); - shd_desc.fs.byte_code = _sfons_fs_bytecode_metal_macos; - shd_desc.fs.byte_code_size = sizeof(_sfons_fs_bytecode_metal_macos); + shd_desc.vs.bytecode = SG_RANGE(_sfons_vs_bytecode_metal_macos); + shd_desc.fs.bytecode = SG_RANGE(_sfons_fs_bytecode_metal_macos); break; case SG_BACKEND_METAL_IOS: - shd_desc.vs.byte_code = _sfons_vs_bytecode_metal_ios; - shd_desc.vs.byte_code_size = sizeof(_sfons_vs_bytecode_metal_ios); - shd_desc.fs.byte_code = _sfons_fs_bytecode_metal_ios; - shd_desc.fs.byte_code_size = sizeof(_sfons_fs_bytecode_metal_ios); + shd_desc.vs.bytecode = SG_RANGE(_sfons_vs_bytecode_metal_ios); + shd_desc.fs.bytecode = SG_RANGE(_sfons_fs_bytecode_metal_ios); break; default: shd_desc.vs.source = _sfons_vs_source_metal_sim; @@ -1641,10 +1637,8 @@ static int _sfons_render_create(void* user_ptr, int width, int height) { break; } #elif defined(SOKOL_D3D11) - shd_desc.vs.byte_code = _sfons_vs_bytecode_hlsl4; - shd_desc.vs.byte_code_size = sizeof(_sfons_vs_bytecode_hlsl4); - shd_desc.fs.byte_code = _sfons_fs_bytecode_hlsl4; - shd_desc.fs.byte_code_size = sizeof(_sfons_fs_bytecode_hlsl4); + shd_desc.vs.bytecode = SG_RANGE(_sfons_vs_bytecode_hlsl4); + shd_desc.fs.bytecode = SG_RANGE(_sfons_fs_bytecode_hlsl4); #elif defined(SOKOL_WGPU) shd_desc.vs.byte_code = _sfons_vs_bytecode_wgpu; shd_desc.vs.byte_code_size = sizeof(_sfons_vs_bytecode_wgpu); @@ -1663,9 +1657,9 @@ static int _sfons_render_create(void* user_ptr, int width, int height) { sg_pipeline_desc pip_desc; memset(&pip_desc, 0, sizeof(pip_desc)); pip_desc.shader = sfons->shd; - pip_desc.blend.enabled = true; - pip_desc.blend.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA; - pip_desc.blend.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA; + pip_desc.colors[0].blend.enabled = true; + pip_desc.colors[0].blend.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA; + pip_desc.colors[0].blend.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA; sfons->pip = sgl_make_pipeline(&pip_desc); } @@ -1776,16 +1770,16 @@ SOKOL_API_IMPL void sfons_flush(FONScontext* ctx) { _sfons_t* sfons = (_sfons_t*) ctx->params.userPtr; if (sfons->img_dirty) { sfons->img_dirty = false; - sg_image_content content; - memset(&content, 0, sizeof(content)); - content.subimage[0][0].ptr = ctx->texData; - content.subimage[0][0].size = sfons->width * sfons->height; - sg_update_image(sfons->img, &content); + sg_image_data data; + memset(&data, 0, sizeof(data)); + data.subimage[0][0].ptr = ctx->texData; + data.subimage[0][0].size = (size_t) (sfons->width * sfons->height); + sg_update_image(sfons->img, &data); } } SOKOL_API_IMPL uint32_t sfons_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a) { - return (r) | (g<<8) | (b<<16) | (a<<24); + return ((uint32_t)r) | ((uint32_t)g<<8) | ((uint32_t)b<<16) | ((uint32_t)a<<24); } #endif /* SOKOL_FONTSTASH_IMPL */ |