temp.bgfx.idl.inl 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
  3. */
  4. /*
  5. *
  6. * AUTO GENERATED! DO NOT EDIT!
  7. *
  8. */
  9. #define BGFX_C99_ENUM_CHECK(_enum, _c99enumcount) \
  10. BX_STATIC_ASSERT(_enum::Count == _enum::Enum(_c99enumcount) )
  11. BGFX_C99_ENUM_CHECK(bgfx::Fatal, BGFX_FATAL_COUNT);
  12. BGFX_C99_ENUM_CHECK(bgfx::RendererType, BGFX_RENDERER_TYPE_COUNT);
  13. BGFX_C99_ENUM_CHECK(bgfx::Attrib, BGFX_ATTRIB_COUNT);
  14. BGFX_C99_ENUM_CHECK(bgfx::AttribType, BGFX_ATTRIB_TYPE_COUNT);
  15. BGFX_C99_ENUM_CHECK(bgfx::TextureFormat, BGFX_TEXTURE_FORMAT_COUNT);
  16. BGFX_C99_ENUM_CHECK(bgfx::UniformType, BGFX_UNIFORM_TYPE_COUNT);
  17. BGFX_C99_ENUM_CHECK(bgfx::BackbufferRatio, BGFX_BACKBUFFER_RATIO_COUNT);
  18. BGFX_C99_ENUM_CHECK(bgfx::OcclusionQueryResult, BGFX_OCCLUSION_QUERY_RESULT_COUNT);
  19. BGFX_C99_ENUM_CHECK(bgfx::Topology, BGFX_TOPOLOGY_COUNT);
  20. BGFX_C99_ENUM_CHECK(bgfx::TopologyConvert, BGFX_TOPOLOGY_CONVERT_COUNT);
  21. BGFX_C99_ENUM_CHECK(bgfx::RenderFrame, BGFX_RENDER_FRAME_COUNT);
  22. #undef BGFX_C99_ENUM_CHECK
  23. #define BGFX_C99_STRUCT_SIZE_CHECK(_cppstruct, _c99struct) \
  24. BX_STATIC_ASSERT(sizeof(_cppstruct) == sizeof(_c99struct) )
  25. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Memory, bgfx_memory_t);
  26. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Transform, bgfx_transform_t);
  27. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Stats, bgfx_stats_t);
  28. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::VertexDecl, bgfx_vertex_decl_t);
  29. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::TransientIndexBuffer, bgfx_transient_index_buffer_t);
  30. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::TransientVertexBuffer, bgfx_transient_vertex_buffer_t);
  31. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::InstanceDataBuffer, bgfx_instance_data_buffer_t);
  32. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::TextureInfo, bgfx_texture_info_t);
  33. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::UniformInfo, bgfx_uniform_info_t);
  34. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Attachment, bgfx_attachment_t);
  35. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Caps::GPU, bgfx_caps_gpu_t);
  36. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Caps::Limits, bgfx_caps_limits_t);
  37. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::Caps, bgfx_caps_t);
  38. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::PlatformData, bgfx_platform_data_t);
  39. BGFX_C99_STRUCT_SIZE_CHECK(bgfx::InternalData, bgfx_internal_data_t);
  40. #undef BGFX_C99_STRUCT_SIZE_CHECK
  41. $c99
  42. /* user define functions */
  43. BGFX_C_API void bgfx_init_ctor(bgfx_init_t* _init)
  44. {
  45. BX_PLACEMENT_NEW(_init, bgfx::Init);
  46. }
  47. BGFX_C_API bool bgfx_init(const bgfx_init_t * _init)
  48. {
  49. bgfx_init_t init =*_init;
  50. if (init.callback != NULL)
  51. {
  52. static bgfx::CallbackC99 s_callback;
  53. s_callback.m_interface = init.callback;
  54. init.callback = reinterpret_cast<bgfx_callback_interface_t*>(&s_callback);
  55. }
  56. if (init.allocator != NULL)
  57. {
  58. static bgfx::AllocatorC99 s_allocator;
  59. s_allocator.m_interface = init.allocator;
  60. init.allocator = reinterpret_cast<bgfx_allocator_interface_t*>(&s_allocator);
  61. }
  62. union { const bgfx_init_t* c; const bgfx::Init* cpp; } in;
  63. in.c = &init;
  64. return bgfx::init(*in.cpp);
  65. }
  66. /**/
  67. BGFX_C_API bgfx_interface_vtbl_t* bgfx_get_interface(uint32_t _version)
  68. {
  69. if (_version == BGFX_API_VERSION)
  70. {
  71. static bgfx_interface_vtbl_t s_bgfx_interface =
  72. {
  73. $interface_import
  74. };
  75. return &s_bgfx_interface;
  76. }
  77. return NULL;
  78. }