Commit Graph

78 Commits

Author SHA1 Message Date
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
Бранимир Караџић
7ffeaefad2 API version 116. 2022-09-17 18:18:51 -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
ichordev
81c6610293
Minor rewording & increase of clarity (#2752)
* Minor rewording & increase of clarity

* Corrected a noun that was being used as a verb

* Slight rewording of the C99 bindings notices

* Actually, this sounds better & looks nicer
2022-03-31 18:07:21 -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
Бранимир Караџић
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
Бранимир Караџић
60c64a3f77 Cleanup. 2021-12-01 11:22:36 -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
Daniel Collin
0a4ed20b59
Cleanup bgfx.idl (#2597) 2021-08-29 11:07:02 -07: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
Бранимир Караџић
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
Бранимир Караџић
7daf5e0ba7 Cleanup. 2021-02-07 15:01:02 -08: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
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
Бранимир Караџић
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
Бранимир Караџић
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
Бранимир Караџић
00d1225cc6 Updated docs. 2020-04-16 21:27:48 -07:00
Бранимир Караџић
6a1db4c2a2 Updated docs. 2020-04-14 20:13:22 -07:00
Бранимир Караџић
000a3b704c Cleanup. 2020-04-14 08:37:07 -07:00
Бранимир Караџић
06460b8ac2 Fixed discard flags. 2020-04-02 19:04:13 -07:00
Бранимир Караџић
23f9ba6552 Cleanup dicard flags. 2020-04-01 19:23:40 -07:00
Cedric Guillemet
dbb83d2525 PR feedback 2020-03-18 02:14:20 +00:00
Cedric Guillemet
0881d98bd2 Discard flags for submit call 2020-03-18 02:14:20 +00:00
Бранимир Караџић
880f932cb8 Fixed issue #2002. 2020-01-22 19:54:14 -08:00
Бранимир Караџић
b14f9dc280 Cleanup. 2020-01-21 20:08:48 -08:00
Бранимир Караџић
de9a508409 Cleanup. 2020-01-21 09:16:55 -08:00
Cedric Guillemet
97005355c2 space 2020-01-21 09:11:53 -08:00
Cedric Guillemet
9ee39e8241 PR feedback 2020-01-21 09:11:53 -08:00