aboutsummaryrefslogtreecommitdiff
path: root/util/sokol_fontstash.h
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2021-02-10 18:36:43 +0100
committerGitHub <noreply@github.com>2021-02-10 18:36:43 +0100
commitd2826d75c0931bc48a4b474f6db1ae301552a423 (patch)
tree228adb3eaebd2af28675d6dd52ddc59d9318c682 /util/sokol_fontstash.h
parent9acfe8cf7b3597bfad39847a0daa564dad91b8ae (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.h38
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 */