Vladislav Belov
dba968013f
Fixes Vulkan device selection.
...
According to #6936 some lower devices (especially virtual ones) might
report more memory than regular ones. So we can't use the memory
amount as a score for now.
2024-12-16 23:18:20 +01:00
Ralph Sennhauser
ead62bba78
Update trac links with gitea links
...
This replaces all links pointing to trac with their corresponding links
to gitea. Also replace http with https while at it.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-10 11:29:48 +01:00
Vladislav Belov
9e371824c2
Adds storage buffer support to Vulkan and GL.
...
The idea is similar to the storage images but we need a separate
descriptor set in Vulkan and a program interface to gather used buffer
in GL.
For Vulkan we also need to track buffers to free used descriptor sets.
2024-12-09 22:47:15 +01:00
Vladislav Belov
60b4072b29
Avoids assertions on Vulkan backend device creation in case of driver bugs.
2024-12-05 18:32:15 +01:00
phosit
256152df6d
Add CXeromycesEngine
...
This way the destructor can be used for clean up and `Singleton` can be
used.
2024-11-17 18:03:49 +01:00
Vladislav Belov
0a6703762d
Removes hardcoded Vulkan uniform descriptor set ranges.
2024-11-06 23:24:22 +01:00
Vladislav Belov
3a01d852e2
Adds binding slot type to Vulkan shader program.
2024-11-06 19:09:22 +01:00
Vladislav Belov
eecc5a8fea
Updates the list of GL extensions for glad.
2024-11-03 20:35:28 +01:00
Stan
361a32a7e5
Fix parameter typo in GL backend
2024-11-01 13:30:12 +01:00
Vladislav Belov
2b324fdd94
Avoids recalculating Vulkan pipeline state in case of the same desc.
2024-10-25 21:23:47 +02:00
Vladislav Belov
960b3180e5
Reduces code duplication for Vulkan pipeline state binding.
2024-10-19 19:58:03 +02:00
Vladislav Belov
3eb1da6e5c
Fixes incorrect Vulkan buffer usage enum name.
2024-10-19 00:13:50 +02:00
Stan
09e42692bb
Fix GLES 2.0 build after the compute shader addition
2024-10-08 08:13:33 +02:00
Itms
35e0a98940
Avoid a copy in a range-for-loop
...
This fixes -Wrange-loop-construct with FreeBSD's clang17.
2024-09-28 21:55:30 +02:00
vladislavbelov
6d5dc7f311
Fixes zero usage for Vulkan upload buffer after b9fd6f18f0.
...
This was SVN commit r28110.
2024-06-14 22:05:32 +00:00
vladislavbelov
b9fd6f18f0
Adds proper IBuffer usage instead of dynamic flag.
...
Comments By: phosit
Differential Revision: https://code.wildfiregames.com/D5281
This was SVN commit r28107.
2024-06-10 19:31:41 +00:00
vladislavbelov
e9bc76040d
Accounts maxAnisotropy for Vulkan samplers.
...
This was SVN commit r28034.
2024-02-16 18:46:44 +00:00
vladislavbelov
aeeeb2c8d9
Makes pipeline state dirty on Vulkan only when VertexInputLayout was changed.
...
This was SVN commit r28011.
2024-01-17 19:55:28 +00:00
vladislavbelov
e3f46bb809
Adds compute shaders support and scaling with FSR.
...
Fixes #6842
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D5218
This was SVN commit r28010.
2024-01-17 19:40:27 +00:00
vladislavbelov
ffc4a56b9f
Revert non-ASCII characters from source and configuration files introduced in 157c6af18e.
...
Fixes #6846
Differential Revision: https://code.wildfiregames.com/D5185
This was SVN commit r27965.
2023-12-03 00:30:12 +00:00
vladislavbelov
a905932712
Moves single descriptor set binding management for Vulkan to a separate class.
...
Differential Revision: https://code.wildfiregames.com/D5163
This was SVN commit r27921.
2023-11-07 21:43:52 +00:00
vladislavbelov
c78ad51057
Fixes incorrect case of GLX extensions. Fixes #6547
...
Patch By: xone47
Differential Revision: https://code.wildfiregames.com/D5160
This was SVN commit r27920.
2023-11-07 21:28:59 +00:00
vladislavbelov
5e583beb22
Fixes result of VkDescriptorSet creation forgotten in 6ef27d2ffe.
...
This was SVN commit r27887.
2023-10-13 18:32:22 +00:00
vladislavbelov
6ef27d2ffe
Merges UID from different Vulkan device objects and unifies single type descriptor set creation.
...
Differential Revision: https://code.wildfiregames.com/D5140
This was SVN commit r27879.
2023-10-09 18:34:50 +00:00
vladislavbelov
af13be489e
Adds printing error names to Vulkan backend.
...
Differential Revision: https://code.wildfiregames.com/D5121
This was SVN commit r27839.
2023-09-13 17:36:52 +00:00
vladislavbelov
37b2f93a3c
Adds texture checks for framebuffer attachments on Vulkan.
...
This was SVN commit r27817.
2023-08-28 17:53:41 +00:00
vladislavbelov
11e8f80b58
Fixes descriptor pool type for GetSingleTypePool.
...
This was SVN commit r27809.
2023-08-22 17:48:22 +00:00
vladislavbelov
23f1949e2a
Handles VK_INCOMPLETE for vkGetSwapchainImagesKHR.
...
Differential Revision: https://code.wildfiregames.com/D5090
This was SVN commit r27797.
2023-08-15 17:27:23 +00:00
bb
157c6af18e
Make the space in 0 A.D. non-breaking throughout the codebase.
...
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful
Will add linter rule in seperate commit
Happy recompiling everyone!
Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
2023-07-27 20:54:46 +00:00
vladislavbelov
94e30ae08e
Adds mipLODBias usage to Vulkan samplers.
...
This was SVN commit r27784.
2023-07-25 20:22:28 +00:00
vladislavbelov
5807e2982f
Makes GL ShaderProgram stage independent.
...
Differential Revision: https://code.wildfiregames.com/D5069
This was SVN commit r27761.
2023-07-17 22:07:13 +00:00
vladislavbelov
a9fc21fae7
Fixes printing a log of a GL shader compilation following b193633e59.
...
This was SVN commit r27745.
2023-06-30 10:02:24 +00:00
vladislavbelov
b193633e59
Moves GLSL compiling function out of CShaderProgram as it's independent.
...
This was SVN commit r27743.
2023-06-27 21:27:56 +00:00
vladislavbelov
3d071e4649
Removes OpenGL driver DLL version from reports on Windows.
...
Differential Revision: https://code.wildfiregames.com/D5052
This was SVN commit r27718.
2023-06-18 16:29:13 +00:00
vladislavbelov
44611294de
Fixes Sampler::Desc comment about using BorderColor.
...
This was SVN commit r27694.
2023-06-14 07:14:31 +00:00
vladislavbelov
9707931878
Fixes Vulkan hazards reported by validation layers.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D5024
This was SVN commit r27665.
2023-06-05 16:32:18 +00:00
vladislavbelov
1b948580c7
Adds color blend state to Vulkan pipeline description only if color attachments are present.
...
This was SVN commit r27661.
2023-06-01 17:48:23 +00:00
vladislavbelov
753949eb73
Enables PolygonMode for Vulkan only when allowed by fillModeNonSolid.
...
This was SVN commit r27660.
2023-06-01 17:12:27 +00:00
vladislavbelov
cd8eb70859
Disables framebuffer invalidating by default for GL as some drivers perform it incorrectly.
...
Fixes #6805
Tested By: Itms
Differential Revision: https://code.wildfiregames.com/D5003
This was SVN commit r27654.
2023-05-29 20:53:10 +00:00
vladislavbelov
cd1dccd59f
Fixes the property name of available devices in a Vulkan report.
...
This was SVN commit r27579.
2023-03-14 20:21:53 +00:00
vladislavbelov
05c77b1819
Switches VMA to Vulkan 1.1.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4947
This was SVN commit r27573.
2023-03-11 19:12:54 +00:00
vladislavbelov
f2519d92a0
Fixes GL ES version report after GL_INVALID_ENUM triggered by glEnable(GL_TEXTURE_2D).
...
This was SVN commit r27564.
2023-02-28 16:56:36 +00:00
vladislavbelov
4355c8675b
Implements framebuffer readback for Vulkan to allow screenshots.
...
Differential Revision: https://code.wildfiregames.com/D4940
This was SVN commit r27552.
2023-02-17 17:36:10 +00:00
vladislavbelov
f8520e0275
Increases minImageCount for Vulkan swapchain only when there is a room for that.
...
This was SVN commit r27537.
2023-02-12 23:12:28 +00:00
vladislavbelov
afd0f181e1
Fixes invalid swapchain size during a window minimize.
...
Differential Revision: https://code.wildfiregames.com/D4932
This was SVN commit r27536.
2023-02-12 22:58:36 +00:00
vladislavbelov
6126b518c4
Fixes overflow of inplace vertex and index Vulkan buffers.
...
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4920
This was SVN commit r27522.
2023-02-01 22:09:25 +00:00
vladislavbelov
2339067737
Makes Vulkan device selection stop searching after a first suitable queue family.
...
This was SVN commit r27516.
2023-01-31 17:01:47 +00:00
vladislavbelov
ac75966d67
Fixes descriptor set overwrite when multiple textures reference it with delayed deletion. Fixes #6717
...
Refs #6636
Comments By: phosit, Stan
Tested By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4916
This was SVN commit r27511.
2023-01-30 21:23:44 +00:00
vladislavbelov
c17bffff1e
Extends logs for Vulkan available device.
...
Differential Revision: https://code.wildfiregames.com/D4917
This was SVN commit r27510.
2023-01-30 21:16:47 +00:00
vladislavbelov
c80bfc8732
Uses Vulkan physical device indices as the last comparison for device selection.
...
This was SVN commit r27503.
2023-01-29 23:06:42 +00:00