Commit Graph

682 Commits

Author SHA1 Message Date
Бранимир Караџић
466c6a4e95 Happy New Year! 2023-01-14 10:05:12 -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
Бранимир Караџић
d8370ecb03 Cleanup. 2022-09-22 19:01:30 -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
Бранимир Караџић
4c0baf5603 D3D11: Enable compilation on Linux. 2022-09-15 22:13:34 -07:00
Бранимир Караџић
750e95f7d0 Cleanup. 2022-08-26 21:32:34 -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
Бранимир Караџић
74b7a35efb Cleanup. 2022-07-16 09:46:16 -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
Бранимир Караџић
eed8ed95dd Updated bindings. 2022-03-31 18:41:55 -07: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
Бранимир Караџић
4581f14cd4 Happy New Year! 2022-01-15 11:59:06 -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
Бранимир Караџић
403b69db78 Cleanup. 2021-09-10 23:26:09 -07:00
Бранимир Караџић
ee0fbea726 Added AGC renderer stub. 2021-08-24 19:35:09 -07:00
kingscallop
d75e1d7724
Split embedded shaders into essl and glsl - Part 2 (#2536)
Here's part 2 of the embedded shaders change.
2021-06-06 16:48:13 -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
Бранимир Караџић
a735fccd15 Cleanup. 2021-03-05 18:07:45 -08:00
Бранимир Караџић
239ce7a612 Fixed typo. 2021-02-07 07:35:18 -08:00
Бранимир Караџић
af49c5d264 Happy New Year! 2021-01-14 15:53:49 -08:00
Бранимир Караџић
e2eb3d56e6 Cleanup. 2020-12-18 06:40:28 -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
Бранимир Караџић
3042c52ea6 Cleanup. Issue #2319. 2020-11-29 15:16:03 -08: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
云风
4d6445896e
Add missing VertexLayoutHandle for C APIs (#2249) 2020-09-01 08:36:52 -07:00
Бранимир Караџић
9e3704c4aa Fixed docs. 2020-07-16 20:39:17 -07:00
Бранимир Караџић
8065659e90 Added configurable minimum resource command buffer size. 2020-06-03 17:58:54 -07:00
Бранимир Караџић
977188e9de Added weldVertices 32-bit indices support. 2020-05-30 21:38:41 -07:00
Бранимир Караџић
2baa857065 Fixed IDL generator mix of short/long Doxygen comments. 2020-05-30 09:21:49 -07:00
Бранимир Караџић
1c063fdc67 Fixed spelling. 2020-05-30 08:22:08 -07:00
Hugo Amnov
b62302631e
Add Webgpu backend (#2132)
* WebGPU first draft (shaderc bin version 8)

* WebGPU scripts
2020-05-08 08:53:53 -07:00
Бранимир Караџић
f2e79bbe41 Fixed #2133. 2020-05-03 19:58:15 -07:00
Бранимир Караџић
7792a893af Cleanup. 2020-04-25 09:50:52 -07:00