aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2025-04-08 18:44:14 +0200
committerAndre Weissflog <floooh@gmail.com>2025-04-08 18:44:14 +0200
commitb58d216c0cbe7fcdab30903bbee80bd0abd79f2a (patch)
tree08c7ca1ac8698f0229f02ea1f84931afceb07d3d /util
parent88652e4d4d466f58b8a40ca7c7b327a93a0fb00f (diff)
fix sokol_gfx_imgui.h for sg_buffer/image_usage
Diffstat (limited to 'util')
-rw-r--r--util/sokol_gfx_imgui.h44
1 files changed, 18 insertions, 26 deletions
diff --git a/util/sokol_gfx_imgui.h b/util/sokol_gfx_imgui.h
index e14398e9..375d19c1 100644
--- a/util/sokol_gfx_imgui.h
+++ b/util/sokol_gfx_imgui.h
@@ -1159,24 +1159,6 @@ _SOKOL_PRIVATE const char* _sgimgui_backend_string(sg_backend b) {
}
}
-_SOKOL_PRIVATE const char* _sgimgui_buffertype_string(sg_buffer_type t) {
- switch (t) {
- case SG_BUFFERTYPE_VERTEXBUFFER: return "SG_BUFFERTYPE_VERTEXBUFFER";
- case SG_BUFFERTYPE_INDEXBUFFER: return "SG_BUFFERTYPE_INDEXBUFFER";
- case SG_BUFFERTYPE_STORAGEBUFFER: return "SG_BUFFERTYPE_STORAGEBUFFER";
- default: return "???";
- }
-}
-
-_SOKOL_PRIVATE const char* _sgimgui_usage_string(sg_usage u) {
- switch (u) {
- case SG_USAGE_IMMUTABLE: return "SG_USAGE_IMMUTABLE";
- case SG_USAGE_DYNAMIC: return "SG_USAGE_DYNAMIC";
- case SG_USAGE_STREAM: return "SG_USAGE_STREAM";
- default: return "???";
- }
-}
-
_SOKOL_PRIVATE const char* _sgimgui_imagetype_string(sg_image_type t) {
switch (t) {
case SG_IMAGETYPE_2D: return "SG_IMAGETYPE_2D";
@@ -3375,10 +3357,15 @@ _SOKOL_PRIVATE void _sgimgui_draw_buffer_panel(sgimgui_t* ctx, sg_buffer buf) {
igText("Label: %s", buf_ui->label.buf[0] ? buf_ui->label.buf : "---");
_sgimgui_draw_resource_slot(&info.slot);
igSeparator();
- igText("Type: %s", _sgimgui_buffertype_string(buf_ui->desc.type));
- igText("Usage: %s", _sgimgui_usage_string(buf_ui->desc.usage));
+ igText("Usage:\n");
+ igText(" vertex_buffer: %s", _sgimgui_bool_string(buf_ui->desc.usage.vertex_buffer));
+ igText(" index_buffer: %s", _sgimgui_bool_string(buf_ui->desc.usage.index_buffer));
+ igText(" storage_buffer: %s", _sgimgui_bool_string(buf_ui->desc.usage.storage_buffer));
+ igText(" immutable: %s", _sgimgui_bool_string(buf_ui->desc.usage.immutable));
+ igText(" dynamic_update: %s", _sgimgui_bool_string(buf_ui->desc.usage.dynamic_update));
+ igText(" stream_update: %s", _sgimgui_bool_string(buf_ui->desc.usage.stream_update));
igText("Size: %d", (int)buf_ui->desc.size);
- if (buf_ui->desc.usage != SG_USAGE_IMMUTABLE) {
+ if (!buf_ui->desc.usage.immutable) {
igSeparator();
igText("Num Slots: %d", info.num_slots);
igText("Active Slot: %d", info.active_slot);
@@ -3429,15 +3416,19 @@ _SOKOL_PRIVATE void _sgimgui_draw_image_panel(sgimgui_t* ctx, sg_image img) {
_sgimgui_draw_embedded_image(ctx, img, &img_ui->ui_scale);
igSeparator();
igText("Type: %s", _sgimgui_imagetype_string(desc->type));
- igText("Usage: %s", _sgimgui_usage_string(desc->usage));
- igText("Render Target: %s", _sgimgui_bool_string(desc->render_target));
+ igText("Usage:\n");
+ igText(" render_attachment: %s", _sgimgui_bool_string(desc->usage.render_attachment));
+ igText(" storage_attachment: %s", _sgimgui_bool_string(desc->usage.storage_attachment));
+ igText(" immutable: %s", _sgimgui_bool_string(desc->usage.immutable));
+ igText(" dynamic_update: %s", _sgimgui_bool_string(desc->usage.dynamic_update));
+ igText(" stream_update: %s", _sgimgui_bool_string(desc->usage.stream_update));
igText("Width: %d", desc->width);
igText("Height: %d", desc->height);
igText("Num Slices: %d", desc->num_slices);
igText("Num Mipmaps: %d", desc->num_mipmaps);
igText("Pixel Format: %s", _sgimgui_pixelformat_string(desc->pixel_format));
igText("Sample Count: %d", desc->sample_count);
- if (desc->usage != SG_USAGE_IMMUTABLE) {
+ if (!desc->usage.immutable) {
igSeparator();
igText("Num Slots: %d", info.num_slots);
igText("Active Slot: %d", info.active_slot);
@@ -3602,7 +3593,7 @@ _SOKOL_PRIVATE void _sgimgui_draw_shader_panel(sgimgui_t* ctx, sg_shader shd) {
}
igText("- slot: %d", i);
igText(" stage: %s", _sgimgui_shaderstage_string(sbuf->stage));
- igText(" readonly: %s", sbuf->readonly ? "true" : "false");
+ igText(" readonly: %s", _sgimgui_bool_string(sbuf->readonly));
if (sbuf->readonly) {
igText(" hlsl_register_t_n: %d", sbuf->hlsl_register_t_n);
} else {
@@ -3626,7 +3617,7 @@ _SOKOL_PRIVATE void _sgimgui_draw_shader_panel(sgimgui_t* ctx, sg_shader shd) {
igText(" stage: %s", _sgimgui_shaderstage_string(sid->stage));
igText(" image_type: %s", _sgimgui_imagetype_string(sid->image_type));
igText(" sample_type: %s", _sgimgui_imagesampletype_string(sid->sample_type));
- igText(" multisampled: %s", sid->multisampled ? "true" : "false");
+ igText(" multisampled: %s", _sgimgui_bool_string(sid->multisampled));
igText(" hlsl_register_t_n: %d", sid->hlsl_register_t_n);
igText(" msl_texture_n: %d", sid->msl_texture_n);
igText(" wgsl_group1_binding_n: %d", sid->wgsl_group1_binding_n);
@@ -4281,6 +4272,7 @@ _SOKOL_PRIVATE void _sgimgui_draw_caps_panel(void) {
igText(" mrt_independent_write_mask: %s", _sgimgui_bool_string(f.mrt_independent_write_mask));
igText(" compute: %s", _sgimgui_bool_string(f.compute));
igText(" msaa_image_bindings: %s", _sgimgui_bool_string(f.msaa_image_bindings));
+ igText(" separate_buffer_types: %s", _sgimgui_bool_string(f.separate_buffer_types));
sg_limits l = sg_query_limits();
igText("\nLimits:\n");
igText(" max_image_size_2d: %d", l.max_image_size_2d);