1
0
forked from mirrors/0ad
Commit Graph

39 Commits

Author SHA1 Message Date
Vladislav Belov 0432b86de7 Removes ARB (legacy OpenGL) backend
ARB is a legacy backend which uses old assembly shaders. It makes
writing shaders more complex. According to the stats
https://feedback.wildfiregames.com we small amount of players with
ARB.

Fixes #8533
2026-02-20 22:07:38 +01:00
Ralph Sennhauser 2cedb48de2 Remove custom span and use std::span
With C++20 the custom container PS:span, which was a backport of
std::span is no longer needed.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-24 11:09:57 +02:00
phosit eb3f0166f8 Prefer [[maybe_unused]] over UNUSED2
`[[maybe_unused]]` is in the C++ standard.
2025-07-28 13:16:37 +02:00
phosit 5be02743fa Don't use UNUSED2 on always unused variables
Not introducing a variable enforces that the variable is not used.
`UNUSED2` on the other hand is used to silence the warning.
2025-07-28 13:16:37 +02:00
Ralph Sennhauser f9e1e742bf Fix includes in source/renderer
Make include-what-you-use happy with files in source/renderer and
fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-27 16:07:14 +02:00
phosit 891908b801 Remove UNUSED
The `UNUSED` macro is used to mark a variable as unused but with a name.
Those usages are replaced with comments so that `UNUSED` can be removed.

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-unused
2025-06-26 17:25:05 +02:00
phosit d9795d29fe Remove the name of some unused arguments
Remove some usage of the `UNUSED` macro. Remove only those cases where
the names can be deduced from their type.

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-unused
2025-06-18 12:49:59 +02: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 54701868da Fixes GLES compilation. 2025-01-04 18:22:23 +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
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
Stan 09e42692bb Fix GLES 2.0 build after the compute shader addition 2024-10-08 08:13:33 +02: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
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 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 90f064ff03 Switches from per draw vertex attribute format to precompiled vertex input layout.
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4852
This was SVN commit r27363.
2023-01-06 00:39:25 +00:00
vladislavbelov 7c20a8c958 Reduces shader inputs duplication and wraps them in a macro. Refs #6636
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4837
This was SVN commit r27282.
2022-12-10 10:14:35 +00:00
vladislavbelov d8bf4f6e62 Makes GLES using high precision for both vertex and fragment shaders.
This was SVN commit r27275.
2022-12-06 18:30:34 +00:00
vladislavbelov 095838da0a Fixes A8 framebuffer format used for LOS interpolation and enables smooth LOS by default.
Tested By: Langbart, mastoras
Differential Revision: https://code.wildfiregames.com/D4654
This was SVN commit r26906.
2022-05-26 16:36:57 +00:00
vladislavbelov a6f60afdc5 Adds instancing support to backend and enables it for minimap.
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4650
This was SVN commit r26901.
2022-05-24 07:11:23 +00:00
vladislavbelov db8d251a8b Adds XML path of GL shader descriptions to file dependencies.
This was SVN commit r26864.
2022-05-09 10:13:19 +00:00
vladislavbelov 62e589ab76 Adds renderer backend interface and dummy backend.
Comments By: phosit, Stan
Tested By: Langbart, phosit
Differential Revision: https://code.wildfiregames.com/D4636
This was SVN commit r26858.
2022-05-08 22:02:46 +00:00
vladislavbelov a493a9f07f Removes ARB switch optimization as it triggers slow down. Fixes #6525
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4635
This was SVN commit r26849.
2022-05-02 21:25:13 +00:00
vladislavbelov 04bd96cee0 Moves uniform and texture binding to CDeviceCommandContext.
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4631
This was SVN commit r26848.
2022-05-02 20:57:22 +00:00
vladislavbelov d8b8128abb Adds AsFloatArray to CMatrix3D.
This was SVN commit r26834.
2022-04-27 19:53:42 +00:00
vladislavbelov df612ab8b4 Moves GLSL-specific uniform name workaround (added in 227f9e403f) to CShaderProgramGLSL.
This was SVN commit r26816.
2022-04-23 21:39:15 +00:00
vladislavbelov aba7a170d9 Moves vertex attribute binding to CDeviceCommandContext.
Tested By: Langbart, Stan
Differential Revision: https://code.wildfiregames.com/D4610
This was SVN commit r26815.
2022-04-23 20:11:14 +00:00
vladislavbelov e02b402a14 Uses vertex attribute name only for GLSL. Fixes #6500
This was SVN commit r26799.
2022-04-17 08:00:10 +00:00
vladislavbelov eaac0b0dbe Uses vertex streams to get attribute locations reducing duplication in XML.
Also adds missing streams.

This was SVN commit r26792.
2022-04-15 18:13:33 +00:00
vladislavbelov 37645670c1 Fixes crash in shader preprocessor introduced in d295dacb9b and appeared after 25332f9b86. Fixes #6033
This was SVN commit r26791.
2022-04-15 17:45:15 +00:00
vladislavbelov 8c1a469253 Uses GL device capabilities for all vertex attribute locations.
This was SVN commit r26782.
2022-04-12 16:49:04 +00:00
vladislavbelov ad2068dae0 Uses sequential numbering of GL vertex attributes for modern hardware. Refs #3054
Differential Revision: https://code.wildfiregames.com/D4601
This was SVN commit r26781.
2022-04-12 16:13:47 +00:00
vladislavbelov f6837978e8 Adds GL debug labels only if they are supported (forgotten in 3db24af763). Fixes #6495
This was SVN commit r26780.
2022-04-12 06:44:06 +00:00
vladislavbelov 811a540382 Simplifies GL::CShaderProgram to store less data.
This was SVN commit r26777.
2022-04-11 22:10:21 +00:00
vladislavbelov 3db24af763 Adds names to GL shaders and programs.
This was SVN commit r26776.
2022-04-11 20:30:23 +00:00
vladislavbelov b4253d48cb Moves CShaderProgram to backend and handling via CDeviceCommandContext.
Differential Revision: https://code.wildfiregames.com/D4548
This was SVN commit r26652.
2022-03-14 22:16:14 +00:00