Commit Graph

706 Commits

Author SHA1 Message Date
pezcode
f983367d75 Vulkan synchronization fixes (#2386)
* Fix out of bounds index for unknown device types

* Vulkan: Insert barrier before image host reads

* Vulkan: Make commands wait for the wait semaphore

Making commands wait at BOTTOM_OF_PIPE is a no-op, resulting in instant execution

* Vulkan: Insert barrier between views/dispatches instead of waiting on the host

* Vulkan: Fix determination of access flag from image layout

This fixes two write-after-write races with copy commands after a layout transition to VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL

* Add BGFX_MAX_FRAME_LATENCY define

Affected backends either used a magic value of 3 or defined their own XX_MAX_FRAMES_IN_FLIGHT to be 3

* Vulkan: Include indirect draw in pipeline barrier

* Vulkan: honor init.resolution.numBackBuffers for swapchain size

* Make max frame latency configurable at compile time
2021-02-11 20:29:52 -08:00
Бранимир Караџић
af49c5d264 Happy New Year! 2021-01-14 15:53:49 -08:00
Бранимир Караџић
4967c29c14 Added missing caps to debug output. 2020-12-20 11:06:40 -08:00
Бранимир Караџић
6f16d0e68c Cleanup. 2020-12-16 21:17:49 -08:00
Бранимир Караџић
600c7798fd Removed BGFX_CAPS_INDEX32 from D3D9. Added validation for BGFX_CAPS_INDEX32 support. 2020-12-15 20:23:01 -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
Бранимир Караџић
0714e7c41e Cleanup. 2020-12-01 21:58:01 -08:00
Branimir Karadžić
1cab71734c Cleanup. 2020-11-29 21:17:50 -08:00
Branimir Karadžić
52a33b8bd3 Fixed warnings. 2020-11-29 21:16:39 -08:00
Бранимир Караџић
02ed265d2d Cleanup. 2020-11-29 17:14:07 -08:00
Бранимир Караџић
2dfc04e411 Cleanup. 2020-11-29 10:21:20 -08:00
Бранимир Караџић
f5179b385f Added resolution/reset debug info. 2020-11-29 10:14:37 -08:00
Бранимир Караџић
597ffc1aae Fixed request screenshot mechanism to work better with Metal. 2020-11-10 18:18:20 -08:00
Бранимир Караџић
8c2b99d81e Cleanup. 2020-10-09 20:50:03 -07:00
Бранимир Караџић
3a8e0e2bb1 Fixed blit on cubemaps. 2020-10-09 20:47:50 -07:00
pezcode
09c11bca29 Mip + blit fixes (#2281)
* D3D12: Fix readback for non-zero mip

* Fix blit with non-zero mip

This required clamping the blit extents to the mip size, which is moved out of the renderers now

* Assert formatting
2020-10-09 15:32:50 -07:00
Бранимир Караџић
e878147cf9 Added version info to debug stats. 2020-10-05 19:45:22 -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
Бранимир Караџић
cce003c99f Fixed warning. 2020-09-16 09:12:09 -07:00
Бранимир Караџић
4c0b7621d9 Fixed Encoder allocation alignment. 2020-09-14 09:30:33 -07:00
Бранимир Караџић
7479651dc8 Added ability to disable discrete GPU selection. 2020-07-06 12:29:05 -07:00
BorisShir
290ffcf341 Fixing problem with Android armv7 optmization which causes alignment violation (#2188)
* Fixing problem with Android armv7 optmization which causes alignment violation
2020-06-30 08:30:30 -07:00
Бранимир Караџић
7f333698cc Cleanup. 2020-06-20 13:20:20 -07:00
Бранимир Караџић
2cbcb6ea90 RRenamed BX_CHECK to BX_ASSERT. 2020-06-16 10:06:18 -07:00
Бранимир Караџић
867b47bd40 Cleanup. 2020-06-15 10:34:47 -07:00
Бранимир Караџић
0f8c6aed5c Fixed max encoders in single-threaded mode bug. 2020-06-15 10:30:51 -07:00
Бранимир Караџић
40d7c6e98f Cleanup. 2020-06-03 18:13:52 -07:00
Бранимир Караџић
8065659e90 Added configurable minimum resource command buffer size. 2020-06-03 17:58:54 -07:00
Бранимир Караџић
346b1af9e9 Cleanup. 2020-05-31 22:36:09 -07:00
Бранимир Караџић
977188e9de Added weldVertices 32-bit indices support. 2020-05-30 21:38:41 -07:00
Бранимир Караџић
7676a2f2bd Cleanup. 2020-05-15 21:58:43 -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
Бранимир Караџић
7792a893af Cleanup. 2020-04-25 09:50:52 -07:00
Бранимир Караџић
36ec2a462d Removed alignment macros, and added functions instead. 2020-04-19 18:23:04 -07:00
Бранимир Караџић
06460b8ac2 Fixed discard flags. 2020-04-02 19:04:13 -07:00
Бранимир Караџић
c306e3b4bf Added bgfx version number. 2020-04-01 20:50:44 -07:00
Бранимир Караџић
387ac7fc25 Cleanup. 2020-03-18 21:39:48 -07:00
Бранимир Караџић
7f8471e168 Fixed aligned delete. 2020-03-18 18:34:05 -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
Бранимир Караџић
aea0759457 Cleanup. 2020-03-04 08:55:03 -08:00
Robin Allen
2f58755f6d Keep debug text colours the same with sRGB backbuffer on/off 2020-03-04 16:35:08 +00:00
Cedric Guillemet
b4cac17b93 default parameters 2020-01-21 09:11:53 -08:00
Cedric Guillemet
4b83e0f5bc discard flags 2020-01-21 09:11:53 -08:00
Бранимир Караџић
82f56b5987 Happy New Year! 2020-01-14 21:37:06 -08:00
Бранимир Караџић
bd9600e167 Fixed IDL. 2019-10-25 20:13:21 -07:00
Бранимир Караџић
acda24b16b Removed thread check for getInternalData. 2019-09-13 19:18:51 -07:00
Cloud Wu
cb89ae4a90 Fix memory leak in iOS 2019-09-06 08:28:43 -07:00
Leandro Freire
1db46f4fe6 Rename variables and constants 2019-08-17 12:32:16 -07:00