Commit graph

28 commits

Author SHA1 Message Date
Juan Linietsky
a345f50c8b Untested support for compute shaders 2019-12-12 17:09:04 +01:00
Juan Linietsky
a0a7732aec Visual GPU profiler and related profiling support in Vulkan. 2019-12-12 17:08:05 +01:00
Juan Linietsky
7919ef863b Several fixes to 3D rendering, and multimesh implementation. 2019-12-12 17:08:00 +01:00
Juan Linietsky
5f6ed2349c Rewrote large part of rendering, omni and spot shadows now work. 2019-12-12 17:07:48 +01:00
Juan Linietsky
7db3532b2e Environment sky more or less working. 2019-12-12 17:07:47 +01:00
Juan Linietsky
bb712cca18 Yay very basic 3D (only white) finally shows. 2019-12-12 17:06:46 +01:00
Juan Linietsky
75299f4a63 Base 3D engine done, still untested, though. 2019-12-12 17:06:38 +01:00
Rémi Verschelde
9ad3f02db1 SCons: Streamline Vulkan buildsystem + fixups
- Renamed option to `builtin_vulkan`, since that's the name of the
  library and if we were to add new components, we'd likely use that
  same option.
- Merge `vulkan_loader/SCsub` in `vulkan/SCsub`.
- Accordingly, don't use built-in Vulkan headers when not building
  against the built-in loader library.
- Drop Vulkan registry which we don't appear to need currently.
- Style and permission fixes.
2019-12-12 17:06:27 +01:00
Rémi Verschelde
9b2dc59003 Merge pull request #29993 from bruvzg/vulkan
Initial Vulkan support for macOS (MoltenVK) and Windows
2019-12-12 17:04:53 +01:00
bruvzg
397545e97f Add runtime GLES2 / Vulkan context selection. 2019-12-12 13:48:47 +01:00
bruvzg
142188639c Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2019-12-12 13:19:45 +01:00
Juan Linietsky
9ae5001b0e Added a spinlock template as well as a thread work pool class.
Also, optimized shader compilation to happen on threads.
2019-12-12 13:05:27 +01:00
Juan Linietsky
e7c33ca141 Moved the shader source compilation code outside RenderingDevice and Vulkan 2019-12-12 13:05:25 +01:00
Juan Linietsky
f5f3d820e0 Replaced GLSLang reflection by SPIRV-Reflect, eventually allowing to move GLSLang out. 2019-12-12 13:01:23 +01:00
Juan Linietsky
ffbc9823d9 Custom material support seems complete. 2019-12-12 12:54:09 +01:00
Juan Linietsky
55426a3ab4 Completed material/2D shader support (missing SCREEN_TEXTURE) 2019-12-12 12:21:24 +01:00
Juan Linietsky
7c2bb1ceff Modified light rendering to make it more compatible.
Modified polygon management to make it more compatible with MoltenVK
2019-12-12 12:01:48 +01:00
Juan Linietsky
75701f756f Normalmapping and Specularmapping working in 2D engine
Added support for Sprite, AnimatedSprite and Polygon2D (should add for tileset eventually).
2019-12-12 11:49:14 +01:00
Juan Linietsky
823feb8310 Added ability to retrieve back textures stored on GPU 2019-12-12 11:44:06 +01:00
Juan Linietsky
667785e474 Bugfixes and ability to better specify filter and repeat modes everywhere.
Removes antialiased flag for draw_* methods.
2019-12-12 11:33:08 +01:00
Juan Linietsky
017bcf9be4 basic 2D engine is more or less working with Vulkan, including editor.
Still a lot to do
2019-12-12 11:06:23 +01:00
Juan Linietsky
179145aaf5 Basic 2D engine is more or less working, needs more work for editor to be usable. 2019-12-12 10:57:32 +01:00
Juan Linietsky
e2ffdb2d01 A lot of progress with canvas rendering, still far from working. 2019-12-12 10:50:00 +01:00
Juan Linietsky
d128ef1ecb Changed my mind on Vulkan image API, images should now include mipmaps
This should make it easier to obtain the data directly from an Image
2019-12-12 10:15:57 +01:00
Juan Linietsky
ee921965be Modify RenderingDevice to use RIDs, now that they are O(1) 2019-12-12 09:23:03 +01:00
Juan Linietsky
b2b7a41318 Added support for push constants 2019-12-12 08:53:55 +01:00
Juan Linietsky
bba5752b4b Improved validation of attachments 2019-12-12 08:52:35 +01:00
Juan Linietsky
c5e77a1b2f Initial work on Vulkan:
-Added VulkanContext
-Added an X11 implementation
-Added a rendering device abstraction
-added a Vulkan rendering device abstraction
-Engine does not work, only shows Godot logo (run it from bin/)
2019-12-12 08:50:47 +01:00