Commit Graph

40 Commits

Author SHA1 Message Date
Бранимир Караџић
cd3749dac9 Cleanup. 2025-10-25 22:18:15 -07:00
Gary Hsu
e7c2c69edb Add optional layerIndex argument to overrideInternal (#3477)
* Add optional layerIndex argument to overrideInternal

* Run genie idl
2025-10-26 05:12:34 +00:00
Бранимир Караџић
860bafb23f Happy New Year! 2025-01-13 15:45:40 -08:00
Бранимир Караџић
af12904d8c Noop: Added missing caps. 2024-06-28 08:16:26 -07:00
Бранимир Караџић
83dfadf673 Happy New Year! 2024-01-14 01:56:36 -08:00
Branimir Karadžić
290295136b Added bx::Location, and removed allocator macros. 2023-04-23 19:19:22 -07:00
Бранимир Караџић
466c6a4e95 Happy New Year! 2023-01-14 10:05:12 -08: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
Бранимир Караџић
4581f14cd4 Happy New Year! 2022-01-15 11:59:06 -08:00
Бранимир Караџић
af49c5d264 Happy New Year! 2021-01-14 15:53:49 -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
Бранимир Караџић
82f56b5987 Happy New Year! 2020-01-14 21:37:06 -08:00
Leandro Freire
1db46f4fe6 Rename variables and constants 2019-08-17 12:32:16 -07:00
Leandro Freire
855623e153 Rename VertexDecl to VertexLayout 2019-08-13 18:42:01 -07:00
Бранимир Караџић
17a620a609 Cleanup. 2019-01-25 17:18:30 -08:00
Branimir Karadžić
200778511e Cleanup. 2019-01-24 20:35:09 -08:00
Бранимир Караџић
3f3a9450ba Happy New Year! 2019-01-13 17:13:25 -08:00
Branimir Karadžić
99e6da5b50 Added file/line argument to fatal callback. 2018-09-19 17:54:51 -07:00
Branimir Karadžić
9eaa42adc8 Fixed issue #1489. 2018-09-18 17:25:05 -07:00
Branimir Karadžić
f40bf8e862 Added ability to sample stencil part of depth/stencil texture. 2018-08-23 17:59:47 -07:00
Branimir Karadžić
e054389c3c Noop: Output perf stats. 2018-08-22 17:17:25 -07:00
Branimir Karadžić
db0ec1f5db Removed HMD API and OculusVR support. 2018-07-19 20:22:21 -07:00
Branimir Karadžić
d227f9e8bf Fixed memory leak. 2018-03-12 18:56:27 -07:00
Branimir Karadžić
8adb5fc020 Added maxTextureLayers to caps/limits. 2018-02-08 16:48:54 -08:00
Branimir Karadžić
f44c8e2b14 Happy New Year! 2018-01-01 11:16:06 -08:00
Branimir Karadžić
9e00fad8b3 WIP: Init params. 2017-12-07 21:52:52 -08:00
Branimir Karadžić
0e5f3457c3 Added support for texture direct access. 2017-12-02 22:12:27 -08:00
Branimir Karadžić
77c00da989 Changed API to use ViewId (uint16_t) instead of uint8_t. 2017-11-24 11:21:51 -08:00
Branimir Karadžić
3aec2b89bf Added bgfx::setName to set resource debug name. 2017-08-30 21:46:57 -07:00
Branimir Karadžić
a274c9a6c5 Replaced BX_OVERRIDE with override. 2017-07-15 00:17:29 -07:00
Branimir Karadžić
814d04fcc5 noop: Pretend all features are available. 2017-04-08 10:17:55 -07:00
Branimir Karadžić
8b14a7e977 Added fall back to noop renderer when device is removed. 2017-04-07 19:07:20 -07:00
Branimir Karadžić
a1184d53c5 Invalidate occlusion queries in flight when new occlusion query with the same id is created. 2017-03-03 18:05:36 -08:00
Branimir Karadžić
1444704901 Cleanup. 2017-03-02 19:29:34 -08:00
Branimir Karadžić
86fc54ccfc Added ability to specify swap chain for screenshot. 2017-03-02 18:02:14 -08:00
Branimir Karadžić
3b83f53ab1 Happy New Year! 2017-01-01 00:18:41 -08:00
benoitjacquier
061b805cfb readtexture mip / gl metal noop support 2016-10-24 10:02:08 +02:00
Branimir Karadžić
d639452e9b noop: Pretend all features that are not returning results to CPU are available. 2016-10-03 18:26:22 -07:00
Branimir Karadžić
f1a8c5f195 Cleanup. 2016-09-27 22:07:53 -07:00
Branimir Karadžić
9f53d33e80 Renamed null renderer to noop. 2016-09-24 08:35:31 -07:00