public void QueryBufferDefaults() { var setupDesc = new sg_desc { pass_pool_size = 1 }; sg_setup(ref setupDesc); var bufferDesc = default(sg_buffer_desc); var desc = sg_query_buffer_defaults(ref bufferDesc); Assert.True(desc.type == sg_buffer_type.SG_BUFFERTYPE_VERTEXBUFFER); Assert.True(desc.usage == sg_usage.SG_USAGE_IMMUTABLE); bufferDesc = new sg_buffer_desc { type = sg_buffer_type.SG_BUFFERTYPE_INDEXBUFFER }; desc = sg_query_buffer_defaults(ref bufferDesc); Assert.True(desc.type == sg_buffer_type.SG_BUFFERTYPE_INDEXBUFFER); Assert.True(desc.usage == sg_usage.SG_USAGE_IMMUTABLE); bufferDesc = new sg_buffer_desc { usage = sg_usage.SG_USAGE_DYNAMIC }; desc = sg_query_buffer_defaults(ref bufferDesc); Assert.True(desc.type == sg_buffer_type.SG_BUFFERTYPE_VERTEXBUFFER); Assert.True(desc.usage == sg_usage.SG_USAGE_DYNAMIC); sg_shutdown(); }
public void GenerationCounter() { var setupDesc = new sg_desc { pass_pool_size = 1 }; sg_setup(ref setupDesc); var data = stackalloc float[4]; data[0] = 1.0f; data[1] = 2.0f; data[2] = 3.0f; data[4] = 4.0f; for (var i = 0; i < 64; i++) { var desc = new sg_buffer_desc { size = sizeof(float) * 4, content = data }; var buffer = sg_make_buffer(ref desc); Assert.True(buffer.id != SG_INVALID_ID); var bufferState = sg_query_buffer_state(buffer); Assert.True(bufferState == sg_resource_state.SG_RESOURCESTATE_VALID); Assert.True(buffer.id >> 16 == (uint)(i + 1)); sg_destroy_buffer(buffer); bufferState = sg_query_buffer_state(buffer); Assert.True(bufferState == sg_resource_state.SG_RESOURCESTATE_INVALID); } sg_shutdown(); }
public static extern sg_buffer_desc sg_query_buffer_defaults([In] ref sg_buffer_desc desc);
public static extern void sg_init_buffer(sg_buffer buf_id, [In] ref sg_buffer_desc desc);
public static extern sg_buffer sg_make_buffer([In] ref sg_buffer_desc desc);