Commit Graph

96 Commits

Author SHA1 Message Date
Jamil Halabi
f059531885
Added a new capability to check for PrimitiveID support (#3154) 2023-08-04 16:42:33 +02:00
IchorDev
878767e751
Culled D bindings for header-only C++ functions (#3130)
* Reformatted comments; fixed a couple of oversights

* D bindings: deterministic sub-struct order

* Added missing default to IDL

* Fixed sub-struct linkage; regenerate D binds

* Culled D bindings for header-only C++ functions

* Added missing default to bgfx.idl

* cppinline now supported by all auto-gen bindings

The pattern "func.cppinline and not func.conly" is to make sure that C bindings for `bgfx_vertex_layout_has` are still generated.
2023-07-19 20:53:42 -07:00
IchorDev
c3dab115a8
D bindings: deterministic sub-struct order (#3127)
* Reformatted comments; fixed a couple of oversights

* D bindings: deterministic sub-struct order

* Added missing default to IDL

* Fixed sub-struct linkage; regenerate D binds
2023-07-09 08:11:39 -07:00
IchorDev
d485a56f61
Reformatted comments; fixed a couple of oversights (#3125) 2023-07-07 12:40:22 -07:00
Бранимир Караџић
b2faea00bb Updated IDL. 2023-07-01 08:37:33 -07:00
Бранимир Караџић
c1afaa88e7 Updated IDL. 2023-06-26 11:22:34 -07:00
IchorDev
cbd83f57ca
New auto-generated D bindings (#3114)
* Added shaderc default defines to docs

* Update tools.rst

* Update tools.rst

* WIP new D bindings

* New bindings "nearly done"

* More unfinished changes

* Nearly done; ctors still don't work

* Bindings auto-generation is done

* New auto-generated D bindings

* Reduced D bindings file count back to 2

---------

Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-06-26 11:21:22 -07:00
Бранимир Караџић
6c8700d70c Removed non-existing C++ overloads from IDL. 2023-06-20 09:25:01 -07:00
Бранимир Караџић
02e67ff404 Cleanup. 2023-06-13 18:27:31 -07:00
云风
498c34273b
Larger debug text for retina display (#3109)
* Add Init.Resolution.scaleDebug

* clamp scale to BGFX_CONFIG_MAX_SCALE_DEBUG

* update version

* Use textWdith/textHeight in helloworld
2023-06-13 18:17:38 -07:00
Бранимир Караџић
4f878bf473 Updated version number. 2023-02-13 19:59:31 -08:00
Raziel Alphadios
c2bc5177b5
Add support for remaining unsupported ASTC formats (#2963)
* Add support for remaining unsupported ASTC formats
Add new ASTC formats into pixelformats example and ninja scripts
Rebuild ASTC textures

* Update idl and generate
Move comma in pixelformats

Co-authored-by: Raziel Alphadios <raziely@gmail.com>
2022-10-25 17:03:40 -07:00
Бранимир Караџић
e4be44e92b Updated API version. 2022-09-18 19:11:58 -07:00
jwdevel
f1f77a6cd3
Record frame num in view stats (#2908)
* Add 'frameNumber' to Frame struct

Previously, the frame number returned from bgfx::frame() was tracked separately in the Context. Now,
we store that information in the Frame. This will allow us to attach the frame number to ViewStats.

* Add frame number to ViewStats

When ViewStats are enabled, we tag each timer query with the current frame number, then include
that information in the final results. In this way, clients can correlate specific work that they
submitted to specific GPU timing information.

NOTE: Some backends not implemented, yet. They will always have 0 for frame number.
The ones which are implemented are:
 * OpenGL
 * Vulkan
 * D3D 9,11,12
 * Noop
2022-09-18 19:09:48 -07:00
Бранимир Караџић
6be057ba5c Updated IDL bindings. 2022-09-17 23:01:14 -07:00
pezcode
ba467be036
Add support for indirect draw with indirect count (#2925)
* Add indirect draw with indirect count (BGFX_CAPS_DRAW_INDIRECT_COUNT)

* Update bindings

* VK: Add support for BGFX_CAPS_DRAW_INDIRECT_COUNT

* D3D12: Add support for BGFX_CAPS_DRAW_INDIRECT_COUNT

* GL: Add support for BGFX_CAPS_DRAW_INDIRECT_COUNT

* 48-drawindirect: Use BGFX_CAPS_DRAW_INDIRECT_COUNT if available

* 48-drawindirect: Update shaders
2022-09-17 18:16:19 -07:00
Sandy
85910e9778
Add BGR versions of 16 bit formats (#2897)
* pixelformats: Add BGRA4

* pixelformats: Add BGR5A1

* pixelformats: Add B5G6R5

* make idl
2022-08-25 16:08:06 -07:00
ichordev
e9e9605304
Updated BGFX_PCI_ID docs to reflect GPU priority & added missing enums (#2888)
* Add new BGFX_PCI_ID enums

* Updated BGFX_PCI_ID docs to reflect GPU priority & added missing enums

* Updated bgx.idl; minor corrections; ran GENie
2022-08-23 09:30:01 -07:00
Cedric Guillemet
a3d52fab32
premultiplied backbuffer for UWP/SwapchainPanel (#2837)
* premultiplied backbuffer for UWP/SwapchainPanel

* init flag

* caps and feedback/opengl premul

* reduced #ifdef form

* removed ifdef
2022-07-18 09:23:57 -07:00
Бранимир Караџић
f06d7257b2 Fixed docs. 2022-07-11 05:45:02 -07:00
Cedric Guillemet
f0cf1794e7
Fix MSAA with ARM Mali OpenGL ES (#2818)
* Fix MSAA with ARM Mali OpenGL ES

* indenting
2022-06-15 03:35:19 -07:00
Catalin Moldovan
9204a536dd
Fixed indentation on zig wrapper functions and converted to uppercase 2D/3D (#2809) 2022-05-29 07:50:14 -07:00
Catalin Moldovan
f0741047d8
more idiomatic zig bindings (#2804) 2022-05-22 18:43:03 -07:00
Jared Miller
c084dd2616
Update Zig binding generation (#2765) 2022-04-08 06:41:00 -07:00
Бранимир Караџић
9dc93eb0b1 Updated IDL bindings. 2022-04-03 18:46:29 -07:00
Catalin Moldovan
21f5f941bb
Added zig bindings generation (#2757) 2022-04-03 18:42:43 -07:00
Бранимир Караџић
eed8ed95dd Updated bindings. 2022-03-31 18:41:55 -07:00
ichordev
6bc813fb76
Updated D bindings: enums expanded; added some C++ pre-processor functions (#2742)
* D binds: expanded enums; added some C++ pre-processor functions

* Updated D bindings files
2022-03-08 11:25:54 -08:00
Бранимир Караџић
7cfa401860 Updated bindings. 2022-03-05 16:33:03 -08:00
Бранимир Караџић
3d4bd88c06 Updated version number. 2022-02-12 10:01:31 -08:00
luzpaz
6875e96bcb
Fix various typos (#2719)
Found via `codespell -q 3 -S ./3rdparty,*.ttf -L attribut,ba,clude,conly,indext,inout,lod,nclude,retur,utput`
2022-02-05 11:34:15 -08:00
Бранимир Караџић
1e2ca25424 Added Apple vendor id. 2021-12-19 21:05:20 -08:00
jwdevel
fd9bcf541a
Enhance docs for BGFX_DEBUG_PROFILER, showing relation to per-view stats. (#2683)
Current docs are a little ambiguous with the term "profiling"; sometimes it means
bgfx::CallbackI functions, and sometimes per-view stats collection. This makes it a little clearer.
2021-12-13 12:46:06 -08:00
Cedric Guillemet
64a28415a8
Disable Batch indirect mode for Microsoft WARP (#2672)
* Disable Batch indirect mode for Microsoft WARP

* idl

Co-authored-by: Cedric Guillemet <ceguille@microsoft.com>
2021-12-01 11:19:47 -08:00
Бранимир Караџић
ee0fbea726 Added AGC renderer stub. 2021-08-24 19:35:09 -07:00
Бранимир Караџић
08e3d51a9e Fixed docs. 2021-05-25 20:13:59 -07:00
Бранимир Караџић
6baa370801 Fixed transient index buffer functions to all have 32-bit indices support, and removed 16-bit only restriction from docs. 2021-05-25 12:47:28 -07:00
Бранимир Караџић
e642efb03a Updated bindings. 2021-05-19 09:53:34 -07:00
Бранимир Караџић
117c999d6e Added bgfx::Init capabilities mask. 2021-04-22 20:18:48 -07:00
Бранимир Караџић
6109697ade Added bgfx::isFrameBufferValid API. 2021-04-16 22:13:26 -07:00
Бранимир Караџић
69fb21f50e Cleanup. 2021-04-13 21:55:56 -07:00
Sam
49fb72842a
Minor alteration to clarify that BGFX_DISCARD_STATE also discards uniforms (#2464)
Signed-off-by: Samuel Hellawell <sshellawell@gmail.com>
2021-04-09 21:51:03 -07:00
Aleš Mlakar
f2a42ec216
Updated Beef bindings (#2426)
* Vulkan shader compiler uniform size fix (>255).

* Updated IDL Beef bindings

Co-authored-by: Aleš Mlakar <ales.ambits@gmail.com>
2021-03-17 17:49:01 -07:00
Бранимир Караџић
239ce7a612 Fixed typo. 2021-02-07 07:35:18 -08:00
Branimir Karadžić
5c304dad3b Fixed issue #2330. Added support for 32-bit indices in transient index buffer. 2020-12-15 19:01:25 -08:00
Бранимир Караџић
796acfa98b Added Attachment.numLayers needed for viewport layer array support. 2020-12-12 10:04:14 -08:00
Бранимир Караџић
8dd39d42df Cleanup. 2020-12-02 21:08:25 -08:00
Aleš Mlakar
93f0cdfaf4
IDL Beef bindings (#2290)
Co-authored-by: Aleš Mlakar <ales.ambits@gmail.com>
2020-10-19 06:54:18 -07:00
kingscallop
436b7fab9e
Adds UAV support for D3D12, Vulkan and reworked for OpenGL, D3D11 (#2119)
* Adds UAV support for D3D12, Vulkan and reworked support for OpenGL, D3D11

UAV support is now uniform across compute and draw.
To set a UAV you just use bgfx::setImage() and IMAGE2D in the shader, just like in compute.
Due to these changes shaders will have to be recompiled.

The changes include:
	- D3D11 requires patching of the UAV slot number (which is now done by modifying the DXBC instead of using a macro)
	- If the DXBC binary includes a debug chunk, that is also patched to match the new slot number
	- All the other renderers don't need any kind of patching
	- There are some shader annotations to better convert the UAV format used in hlsl to spirv

Possibility of further enhancements:
	- bgfx::setViewFrameBuffer() only supports binding to a framebuffer or, using BGFX_INVALID_HANDLE, to bind the default backbuffer. This doesn't allow for the case where there is no need to bind to either one of them, for example when using a fragment shader only to read and write to an UAV.

* Bump shader version, because they need to be recompiled.
2020-10-04 21:51:41 -07:00
云风
0e1c095c3b
add *_with_layout APIs (#2251) 2020-09-01 20:19:14 -07:00