Commit Graph

439 Commits

Author SHA1 Message Date
Catalin Moldovan 21f5f941bb
Added zig bindings generation (#2757) 2022-04-03 18:42:43 -07:00
Бранимир Караџић 6940ddd85e Cleanup. 2022-03-31 20:21:32 -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
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
ichordev 630890f5de
Fixed uint8_t being bound to byte instead of ubyte (#2735) 2022-03-05 16:32:38 -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
Бранимир Караџић 4581f14cd4 Happy New Year! 2022-01-15 11:59:06 -08:00
Бранимир Караџић 949142a75f Metal: Added GPU vendorId/deviceId detection. Fixed #2688. 2021-12-19 23:11:33 -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
Branimir Karadžić 00df353f0b Fixed project groups. 2021-10-26 20:13:30 -07:00
Бранимир Караџић 8392a44b3a Fixed assert macros, and improved error handling. 2021-10-25 18:59:32 -07:00
Branimir Karadžić b7213445db Added 46-fsr example. 2021-10-06 17:40:57 -07: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
kingscallop 17c9300afd
Allow shaders to be compiled on msys2 (#2539)
Adds support on tools.mk for the msys2 environment. The OS is still
considered windows but the command line tools for mkdir and rmdir
behave as if on linux.

The variable SHADER_TMP on the makefiles also had to be quoted to make
it work on msys2.
2021-06-12 11:36:54 -07:00
kingscallop c0adb2a51e
Make the generated embedded shader headers the same between linux and gnuwin32 (#2538)
This echo command on the makefile behaves differently between linux and gnuwin32:
```
-@echo extern const uint8_t* $(basename $(<))_pssl;>> $(@)
```

On linux the semicolon immediately ends the echo command and its output is never piped to the embedded shader's header.
If you try to fix it by quoting the string:
```
-@echo "extern const uint8_t* $(basename $(<))_pssl;" >> $(@)
```

It will work on linux but not on gnuwin32 because the quotes will appear on the outputted string.
The solution was to use printf which works consistently between the two.

Also on gnuwin32 the outputted string has 'CRLF' line endings, which clashes with the rest of the 'LF' line endings
of the embedded shaders header which were produced by shaderc.
The solution was to remove the 'CR' from the outputted string by using the tr command.
2021-06-12 10:22:19 -07:00
kingscallop 73784ac9eb
Split embedded shaders into essl and glsl - Part 1 (#2535)
In non-embedded shaders there is a separation between essl binaries (examples/runtime/shaders/essl)
and glsl binaries (examples/runtime/shaders/glsl). On embedded shaders there is no such separation
and by default essl shaders are being used by the OpenGL runtime. This usually doesn't cause any
issues but in the case of the debugdraw shaders, that started using uvec4, this now leads to a
runtime error. This patch fixes this by splitting the embedded shaders into essl and glsl.

As asked, this is the first part of the change.

To be able to compile the 'examples/common/debugdraw' shaders, pull
request #2362 is needed.
2021-06-06 13:53:26 -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
Hugo Amnov cf8ff18263
WebGPU update (#2477)
* WebGPU: Update to latest changes + Fixes

* WebGPU: Fix RG11B10F format as framebuffer
2021-04-18 11:39:52 -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
Бранимир Караџић a735fccd15 Cleanup. 2021-03-05 18:07:45 -08:00
pezcode 302c978b1d
Make shaderc output independent of backend enums (#2411)
* Fix typo in SPIR-V id

* Use backend-agnostic shaderc output

...as opposed to directly storing and comparing against Vulkan and WebGPU enums. This is backwards-compatible with existing code and shaders.

* Remove comments and Undefined value
2021-02-28 12:38:12 -08:00
Julian Sikorski 39cdaace39
Fix building with wayland (#2412) 2021-02-28 10:15:09 -08: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ć 1401a5333d 45-bokeh: Built shaders and added example. 2021-01-31 10:07:49 -08:00
Hugo Amnov a515dd3c3d
WebGPU update (#2364)
* Update WebGPU renderer to match new state of API

* Update WebGPU files
2021-01-19 15:18:30 -08:00
Бранимир Караџић af49c5d264 Happy New Year! 2021-01-14 15:53:49 -08:00
Branimir Karadžić 4c18b80c9d 44-sss: Built shaders and added example to GENie script. 2021-01-10 11:24:28 -08:00
Branimir Karadžić 4760628bb1 43-denoise: Added shaders. 2021-01-02 10:46:43 -08:00
Бранимир Караџић 76f3e0590f OSX: Added separate osx-arm64 build configuration. 2020-12-31 18:17:39 -08:00
Бранимир Караџић f232f93017 Added build rule to examples makefile. 2020-12-28 11:58:03 -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
Бранимир Караџић 115661d158 Updated natvis. 2020-09-30 13:49:34 -07:00
Бранимир Караџић 86402fec24 Updated version number. 2020-09-05 11:24:50 -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
Johan Sköld 74aae908ce
Updating xcode config. (#2198)
Changing the xcode platform to just `Native`. This lets xcode handle
all the target stuff, and works regardless of target.
2020-07-11 20:40:33 -07:00