Skip to content

Commit d184e8b

Browse files
committed
sokol_gfx.h: add helpers sg_query_view_image() and sg_query_view_buffer()
1 parent fe9577c commit d184e8b

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

sokol_gfx.h

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4789,6 +4789,8 @@ SOKOL_GFX_API_DECL int sg_query_image_num_mipmaps(sg_image img);
47894789
SOKOL_GFX_API_DECL sg_pixel_format sg_query_image_pixelformat(sg_image img);
47904790
SOKOL_GFX_API_DECL sg_image_usage sg_query_image_usage(sg_image img);
47914791
SOKOL_GFX_API_DECL int sg_query_image_sample_count(sg_image img);
4792+
SOKOL_GFX_API_DECL sg_image sg_query_view_image(sg_view view);
4793+
SOKOL_GFX_API_DECL sg_buffer sg_query_view_buffer(sg_view view);
47924794

47934795
// separate resource allocation and initialization (for async setup)
47944796
SOKOL_GFX_API_DECL sg_buffer sg_alloc_buffer(void);
@@ -21821,7 +21823,6 @@ SOKOL_API_IMPL sg_image_usage sg_query_image_usage(sg_image img_id) {
2182121823
}
2182221824

2182321825
SOKOL_API_IMPL int sg_query_image_sample_count(sg_image img_id) {
21824-
SOKOL_ASSERT(_sg.valid);
2182521826
SOKOL_ASSERT(_sg.valid);
2182621827
const _sg_image_t* img = _sg_lookup_image(img_id.id);
2182721828
if (img) {
@@ -21830,6 +21831,28 @@ SOKOL_API_IMPL int sg_query_image_sample_count(sg_image img_id) {
2183021831
return 0;
2183121832
}
2183221833

21834+
// NOTE: may return SG_INVALID_ID if view invalid or view not an image view
21835+
SOKOL_API_IMPL sg_image sg_query_view_image(sg_view view_id) {
21836+
SOKOL_ASSERT(_sg.valid);
21837+
sg_image img; _sg_clear(&img, sizeof(img));
21838+
const _sg_view_t* view = _sg_lookup_view(view_id.id);
21839+
if (view) {
21840+
img.id = view->cmn.img.ref.sref.id;
21841+
}
21842+
return img;
21843+
}
21844+
21845+
// NOTE: may return SG_INVALID_ID if view invalid or view not a buffer view
21846+
SOKOL_API_IMPL sg_buffer sg_query_view_buffer(sg_view view_id) {
21847+
SOKOL_ASSERT(_sg.valid);
21848+
sg_buffer buf; _sg_clear(&buf, sizeof(buf));
21849+
const _sg_view_t* view = _sg_lookup_view(view_id.id);
21850+
if (view) {
21851+
buf.id = view->cmn.buf.ref.sref.id;
21852+
}
21853+
return buf;
21854+
}
21855+
2183321856
SOKOL_API_IMPL sg_sampler_desc sg_query_sampler_desc(sg_sampler smp_id) {
2183421857
SOKOL_ASSERT(_sg.valid);
2183521858
sg_sampler_desc desc;

0 commit comments

Comments
 (0)