Hugo Locurcio
31194f5b1c
Add `get_video_adapter_api_version()` to RenderingServer
...
This method can be used to get the graphics API version currently in
use (such as Vulkan). It can be used by projects for troubleshooting
or statistical purposes.
2022-05-03 01:18:35 +02:00
Rémi Verschelde
a647fb3e62
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Bastiaan Olij
a78a9fee71
Implementing OpenXR driver
2022-02-23 12:02:24 +01:00
Bastiaan Olij
1034459d61
vkQueueSubmit needs pWaitDstStageMask sized to waitSemaphoreCount
2022-02-19 13:43:46 +11:00
Rémi Verschelde
488116e4d8
Merge pull request #58236 from bruvzg/win_min_fix
2022-02-18 09:07:10 +01:00
bruvzg
0c27667124
[Windows] Fix Vulkan driver crash on sub-window minimization.
2022-02-17 13:34:08 +02:00
Bastiaan Olij
d7465d7c6a
We were only getting our available shader features, now we also enabling them
2022-02-17 00:50:38 +11:00
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
Bastiaan Olij
eb9d8ad44a
Nitpicking, VK_VERSION_* have been deprecated, replaced by VK_API_VERSION_*.
2022-02-09 15:04:47 +11:00
Nathan Franke
8a0a3accee
simplify formatting scripts, add a clang-tidy script, and run clang-tidy
2022-01-29 04:41:03 -06:00
Rémi Verschelde
d9a4ff7583
Merge pull request #55020 from bruvzg/vlk_device_surface_check
2022-01-17 13:34:23 +01:00
Haoyu Qiu
c0d3bdc0ca
Add list initialization support for Vector & LocalVector
2022-01-05 20:42:09 +08:00
Rémi Verschelde
095c72b03e
Merge pull request #55790 from Calinou/renderingserver-add-device-type-getter
...
Add `RenderingServer.get_video_adapter_type()` method
2022-01-04 16:43:23 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Eric Engestrom
83333f7e15
drivers/vulkan: limit pEngineName to only the engine name, without its version
...
It's supposed to be something stable that can be used to identify the engine
(using an equality check), so having the version number in there defeats
the purpose.
While at it, there is no need to prefix it with a second `"GodotEngine"`, nor
to copy the static C string into a C++ string to then extract a C string
from it :)
2021-12-24 01:24:22 +00:00
Eric Engestrom
961bf6e30f
drivers/vulkan: set the engineVersion to Godot's version
2021-12-23 18:10:22 +00:00
Hugo Locurcio
b3174e7af9
Add `RenderingServer.get_video_adapter_type()` method
...
This can be used to distinguish between integrated, dedicated, virtual
and software-emulated GPUs. This in turn can be used to automatically
adjust graphics settings, or warn users about features that may run
slowly on their hardware.
2021-12-10 17:10:47 +01:00
Je06jm
20deb0917d
Implemented AMD's FSR as a computer shader for upscaling 3D scenes
2021-11-23 14:16:03 -07:00
bruvzg
b11e619b19
[Vulkan] Check each device capabilities before selecting it.
...
Split instance and physical device selection function and move device selection to window creation, to reject devices without present capability.
Add device preferred type check in discrete > integrated > virtual > cpu > other order.
Add device list printout.
Add command line argument to override device selection.
2021-11-22 20:04:57 +02:00
Rémi Verschelde
3a6be64c12
clang-format: Various fixes to comments alignment from `clang-format` 13
...
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
M. Huri
033dc4dbef
Replaced NULL with nullptr
2021-10-12 20:20:19 +07:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Hugo Locurcio
ba65730cbf
Rename RID's `getornull()` to `get_or_null()`
2021-09-29 23:58:02 +02:00
Hugo Locurcio
81c14a2d25
Print the Vulkan API version and device used on the same line
...
This matches Godot 3.x's OpenGL renderer behavior and is more compact.
2021-09-14 18:32:27 +02:00
Bastiaan Olij
506ae80876
Expose Vulkan internal values for access from extensions
2021-09-09 22:28:32 +10:00
Bastiaan Olij
38e73ba69e
Fix init code so it works properly on Vulkan 1.1 devices
2021-08-17 23:53:07 +10:00
bruvzg
d7957a2a20
Use "volk" instead of statically linked Vulkan loader.
2021-08-12 14:25:15 +03:00
Rémi Verschelde
a12f832060
Merge pull request #51103 from Calinou/vulkan-detect-intel-title-case
...
Use title case instead of uppercase for Vulkan Intel GPU detection
2021-07-31 21:19:30 +02:00
Rémi Verschelde
00ce2d41ca
Merge pull request #51108 from Calinou/vulkan-print-verbose
...
Move Vulkan debugging prints to verbose
2021-07-31 20:48:54 +02:00
Hugo Locurcio
1bf402c061
Use title case instead of uppercase for Vulkan Intel GPU detection
...
This matches how the vendor name is displayed in most places.
The Apple GPU vendor was also added for the M1.
2021-07-31 16:43:54 +02:00
Hugo Locurcio
500ba02e90
Move Vulkan debugging prints to verbose
...
These messages can now be displayed in release builds if the
`--verbose` command line argument is specified, which is useful for
troubleshooting.
2021-07-31 16:28:35 +02:00
Hugo Locurcio
5920bc32c3
Print the Vulkan device name in release builds too
...
This is important information to include in bug reports for exported
projects, and is consistent with the behavior found in the GLES3 and
GLES2 renderers in `3.x`.
2021-07-31 14:31:31 +02:00
Hendrik Brucker
043ae91560
Restructure and reimplement vsync options
...
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
2021-07-06 16:34:26 +02:00
K. S. Ernest (iFire) Lee
d87526b391
Enum constant in boolean context
...
error: enum constant in boolean context [-Werror=int-in-bool-context]
2021-06-30 01:38:56 -07:00
reduz
4d19c052f7
Fix Context Validation Layer Errors
...
* Multisampling was wrongly selected, possibly fixes #49937
* Image semaphore acquisition is now per window, possibly fixes #41614
Please make sure to test the above two issues again, since I can't reproduce either anyway.
2021-06-28 17:43:10 -03:00
Bastiaan Olij
15c1a76361
Add stereoscopic rendering through multiview
2021-06-13 22:52:20 +10:00
Rémi Verschelde
ba82626c2c
Merge pull request #49506 from akien-mga/vulkan_prefer_discrete_gpu
...
Prefer discrete GPU over integrated one
2021-06-11 13:34:38 +02:00
Blazej Floch
36130e5a05
Prefer discrete GPU over integrated one
...
This unblocks launching on Linux laptops that default to the integrated
GPU which can not handle Vulkan in many instances.
Ideally a manual device selection, or an option for the optimal selection
strategy should be provided via CLI or config, but for the time being
this will unblock the Linux devs.
Partially addresses #42348 and #43714
2021-06-11 13:02:30 +02:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
...
Using codespell 2.0.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Hugo Locurcio
064ca9adae
Remove debugging prints in the Linux DisplayServer
...
Some Vulkan debugging prints were also changed to be printed only
in verbose mode.
2021-05-08 19:07:50 +02:00
Bastiaan Olij
90ef5d73c4
Cleanup vulkan capabilities check and add multiview check
2021-05-06 12:06:07 +10:00
Rémi Verschelde
5b16020846
Replace remaining uses of `NULL` with `nullptr`
...
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-29 11:53:27 +02:00
Szymon Majewski
0a29322991
Validation layers on Android
2021-04-12 10:09:06 -07:00
Rémi Verschelde
9e8acb3897
Merge pull request #47640 from BastiaanOlij/fix_vulkan_format
...
Chose format from supported ones that we support
2021-04-05 14:55:32 +02:00
Bastiaan Olij
ceebe4b565
Chose format from supported ones that we support
2021-04-05 22:39:17 +10:00
Rémi Verschelde
9bbe51dc27
Style: Apply clang-tidy's `modernize-use-nullptr`
2021-04-05 14:05:07 +02:00
Szymon Majewski
1328208063
Removed debug code
2021-04-01 20:09:48 -07:00
Rémi Verschelde
9cd1e50969
Merge pull request #47250 from BastiaanOlij/check_vulkan_version
...
Obtain supported Vulkan API
2021-03-31 13:45:43 +02:00
Szymon Majewski
c3de4aeb75
WIP: Add support for VK_EXT_debug_report in Vulkan
2021-03-30 10:18:16 -07:00