Vladislav Belov
9c560c36af
Removes ARBShadersShadow IDevice capability.
...
According to our stats `GL_ARB_fragment_program_shadow` is supported
by all our GL users. Also we're going to remove OpenGL ARB in A29. So
I remove ARBShadersShadow completely.
2025-04-12 23:14:28 +02:00
Vladislav Belov
fa3fb5d064
Allows compute shaders for GL only since 4.3.
...
It seems current checks for GL 4.2 aren't enough so just disable
compute shaders for GL 4.2. Fixes #7734 .
2025-04-12 16:56:18 +02:00
Vladislav Belov
bce6e2c238
Fixes out of bounds during GL buffer binding.
...
There was an out of bounds access during binding a uniform buffer on
GL. Fixes #7567 , #7598 .
2025-04-12 16:27:52 +02:00
Dunedan
8482f25800
Fix a bunch of spelling mistakes
...
This fixes a bunch of spelling mistakes found in user facing strings.
Fixes #7716
2025-04-11 06:24:32 +02:00
phosit
1a8757660f
Get config values without using return parameters
...
Many temporaries can be removed.
2025-04-09 12:51:21 +02:00
phosit
b41ca5ad78
Replace FALLTHROUGH by the standard attribute
2025-01-29 19:34:12 +01:00
phosit
473f8ca72e
Remove FALLTHROUGH on empty cases
...
`#include "lib/code_annotation.h"` can be removed in some places.
2025-01-29 19:34:12 +01:00
Vladislav Belov
a7ead4cf4c
Disables compute shaders for GL ARB backend.
2025-01-28 18:56:15 +01:00
Vladislav Belov
635a268dd9
Disables GL storage buffers on Mesa.
...
This is a workaround to avoid disabling GL storage buffers completely.
Because they might not work or might lead to a decreased performance.
We need to investigate that further when we have a local reproduce.
2025-01-28 01:40:47 +01:00
Vladislav Belov
8ee48a164a
Fixes missing SPIR-V shader combinations.
...
We have multiple renderer backends for a while. So we can't rely on
a single CONFIG_GLES2 macro for disabling features.
2025-01-07 02:49:38 +01:00
Vladislav Belov
0467d27b07
Fixes slow-path texture conversion on RPI4.
...
RPI4 returns `false` for `textureCompressionBC` because it doesn't
support formats above BC3. As the Vulkan specification requires to
support all BC formats to have `true` for `textureCompressionBC`.
2025-01-05 00:27:02 +01:00
Vladislav Belov
54701868da
Fixes GLES compilation.
2025-01-04 18:22:23 +01:00
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
de1257c8da
Adds GPU skinning support via compute shaders.
...
We use a shader with 64 bones by default to consume less uniform memory.
But if we meet bigger skeletons we batch and handle them afterwards.
In the future we need to sort the input models to have less changes for
bound buffers. Also we might want to skin up to 4 models per a single
dispatch.
2024-12-09 22:47:17 +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
f8afd49ae1
Return by value from CCamera::GetScreenCoordinates
...
Pack the two `float`s in to a `CVector2D`.
Rename some variables to not use underscore.
2024-11-17 20:27:58 +01:00
phosit
cf92c20020
Return by value from CCamera::GetViewQuad
...
Remove some temporaries by passing the return value directly to
range-based for loops.
2024-11-17 20:27:58 +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
9094c3adb0
Batches update and upload passes for model renderers.
2024-11-08 13:57:57 +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
5a5d518c28
Cleans up code after renaming HWLightingModelRenderer to CPUSkinnedModelRenderer.
2024-10-19 23:24:40 +02:00
Vladislav Belov
63faea7153
Renames HWLightingModelRenderer to CPUSkinnedModelRenderer.
2024-10-19 22:59:50 +02:00
Vladislav Belov
960b3180e5
Reduces code duplication for Vulkan pipeline state binding.
2024-10-19 19:58:03 +02:00
Vladislav Belov
4f7f2e056c
Fixes water foam texture size after scale.
2024-10-19 01:21:50 +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
Dunedan
56f6d76b78
Remove internationalization of log messages
...
As log messages aren't supposed to be translatable, this removes the
internationalization of all log messages, which had it enabled.
Patch by: @Dunedan
Accepted by: @Itms
Differential Revision: https://code.wildfiregames.com/D5314
This was SVN commit r28179.
2024-08-05 15:27:12 +00: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
f40942f6b3
Moves CVertexBufferManager from global scope to CRenderer.
...
Differential Revision: https://code.wildfiregames.com/D5171
This was SVN commit r27907.
2023-10-28 21:01:22 +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
e2c5a62a19
Moves model flags to ModelAbstract.
...
Differential Revision: https://code.wildfiregames.com/D5146
This was SVN commit r27880.
2023-10-09 18:37:56 +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
phosit
3fff9df4a0
Return CTerrain and CUnitManager references from CWorld instead of pointers
...
Accepted By: @vladislavbelov
Comments By: @Stan
Differential Revision: https://code.wildfiregames.com/D4739
This was SVN commit r27861.
2023-09-26 20:10:40 +00:00
vladislavbelov
c86d3bbb56
Refactors models and materials, part 2, replaces raw pointer by unique_ptr and adds test.
...
Comments By: phosit
Differential Revision: https://code.wildfiregames.com/D5128
This was SVN commit r27846.
2023-09-21 19:00:28 +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
442eb3ad4f
Avoids creating a post-processing blur texture with zero size.
...
This was SVN commit r27825.
2023-09-04 18:08:00 +00:00