Commit Graph
300 Commits
Author SHA1 Message Date
Branimir Karadžić 780f7bf00a Fix MSAA blit into a multisampled destination and stale MSAA resolve. (#3921) 2026-08-23 04:44:43 +00:00
Branimir Karadžić cffee4ee96 GLES 3.2: Various fixes. (#3914) 2026-08-21 15:51:00 +00:00
Branimir Karadžić 7e2f4e34c0 GL: Bind missing vertex attributes to offset 0. (#3906) 2026-08-19 14:01:40 -07:00
Branimir Karadžić fde976604c Raised minimum OpenGL version to 4.3. OpenGLES to 3.0. Removed glsl-optimizer. (#3905) 2026-08-19 10:12:25 -07:00
Branimir Karadžić 56ef37bcf8 Implemented BGFX_SAMPLER_SAMPLE_STENCIL in all backends. (#3884) 2026-08-13 15:38:58 -07:00
Sam 56ecfded54 Fix: add missing memory barriers for compute writes (#3878)
* Fix: add missing memory barriers for compute writes

* Check define GL_TEXTURE_FETCH_BARRIER_BIT
2026-08-10 23:37:33 +00:00
Branimir Karadžić 129248d16f GL: Fixed headless mode. (#3863) 2026-07-30 14:34:54 -07:00
Branimir Karadžić 8377801ee0 Add BC4S, BC5S, BC6HU, RGB10A2U and D32FS8 texture formats. (#3857) 2026-07-29 21:25:53 +00:00
Branimir Karadžić 1862bf0480 Guard against undersized texture updates. Fix compute image views. (#3856) 2026-07-29 14:10:57 +00:00
Branimir Karadžić ef73539985 GL: Added support for external texture. (#3839) 2026-07-17 20:44:37 +00:00
Branimir Karadžić 435627021d Added clear texture API. (#3836) 2026-07-16 05:41:58 +00:00
Branimir Karadžić 91805892e9 Unified StateCache implementation. (#3729) 2026-06-06 18:19:56 -07:00
Branimir Karadžić 11151de78d Added setTexture view API. (#3728) 2026-06-06 17:34:02 +00:00
Branimir Karadžić 4baed6e076 Happy New Year! (#3550) 2026-01-14 16:26:51 +00:00
Branimir Karadžić f510ab6db8 Cleanup. (#3501) 2025-11-20 03:13:42 +00:00
Branimir Karadžić ee2072d02f Emscripten: Added missing define. (#3498) 2025-11-14 17:44:50 +00:00
Branimir Karadžić 9e8ecf4af4 Added EAC texture formats. (#3487) 2025-11-11 08:39:24 -08:00
Бранимир Караџић 8a9bc3ed65 EGL: Improved initialization. 2025-11-08 20:16:08 -08:00
Бранимир Караџић 959cab248e Added ability to configure backbuffer depth/stencil. 2025-10-29 12:10:41 -07:00
Бранимир Караџић fb893903c0 Fix Emscripten build. 2025-09-28 19:37:01 -07:00
Бранимир Караџић 860bafb23f Happy New Year! 2025-01-13 15:45:40 -08:00
Бранимир Караџић 83dfadf673 Happy New Year! 2024-01-14 01:56:36 -08:00
Branimir Karadžić de9f4b3385 Remove unsupported platforms. 2023-11-03 21:42:02 -07:00
Бранимир Караџић 93815ab7c7 Cleanup. 2023-06-26 21:16:17 -07:00
Branimir Karadžić d6a251670a Fixed build. 2023-06-26 20:10:25 -07:00
Бранимир Караџић b74da5c643 GL: Removed GLX context code. 2023-06-26 19:18:49 -07:00
Бранимир Караџић 928800feab macOS, iOS: Removed OpenGL/OpenGLES support. 2023-06-24 08:13:00 -07:00
Бранимир Караџић cb7ca00fe1 GL: Include glcontext_* based on defines. 2023-06-23 21:14:06 -07:00
Бранимир Караџић bea82a1343 GLES3+: Fix headers. 2023-01-21 08:51:44 -08:00
Бранимир Караџић 466c6a4e95 Happy New Year! 2023-01-14 10:05:12 -08:00
Бранимир Караџић d5230bbbda GL: Added more missing ASTC formats. 2022-10-25 19:03:33 -07:00
Бранимир Караџић 42b154d925 GL: Added missing ASTC formats. 2022-10-25 19:00:30 -07:00
Raziel AlphadiosandRaziel 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
Бранимир Караџић 2d6c85ac7a Fixed emscripten build. 2022-09-23 10:01:47 -07:00
Бранимир Караџић 01f308dd58 GL: Fixed instace data offset when i_dataX is missing in shader. 2022-09-20 20:48:48 -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
Sandy 561e91a62b opengl: Implement texture swizzle mapping (#2892)
* opengl: Implement texture swizzle mapping

* imageformats: Fix compilation on android

Android GLES does not have a definition for GL_BGR: Swizzle instead.
2022-08-25 06:54:57 -07:00
Бранимир Караџић 4581f14cd4 Happy New Year! 2022-01-15 11:59:06 -08:00
Branimir Karadžić 46384208ad Define WIN32_LEAN_AND_MEAN if it's not defined when including windows.h. 2021-10-13 20:18:03 -07:00
Branimir Karadžić c5aea5325d Fixed MSVC build. 2021-05-19 07:03:02 -07:00
Бранимир Караџић a47a1c8917 Fixed WebGL instancing and EGL context upgrade. 2021-05-18 22:41:51 -07:00
Бранимир Караџић 9310d19141 Cleanup. 2021-04-27 09:18:22 -07:00
Бранимир Караџић d8cfb8f64d Fixed issue #2368. 2021-01-22 07:33:59 -08:00
Бранимир Караџић af49c5d264 Happy New Year! 2021-01-14 15:53:49 -08:00
Christophe DehaisandChristophe Dehais 6b790dc96b Add opt-in compile flag for GL read back emulation (#2305)
Co-authored-by: Christophe Dehais <christophe.dehais@fittingbox.com>
2020-11-05 14:54:17 -08:00
generalzzdandZidi 0cce398530 generalzzd fix ios compling error (#2288)
Co-authored-by: Zidi <zzd007@hotmail.com>
2020-10-17 20:02:25 -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
Бранимир Караџић ffb2518d5a Cleanup. 2020-09-28 10:05:18 -07:00
Christophe DehaisandChristophe Dehais 816026a8bf Add blitting fallback for OGL (#2269)
Co-authored-by: Christophe Dehais <christophe.dehais@fittingbox.com>
2020-09-28 09:53:37 -07:00
Бранимир Караџић d5d3d29e9c Cleanup. 2020-06-20 14:29:25 -07:00