phosit
00ee825374
Remove u8
...
It's better to use types from the standard library.
2026-09-21 18:11:14 +02:00
Vladislav Belov
0650721b19
Replaces round to closest power of two by std ones
2026-09-21 00:47:13 +02:00
Vladislav Belov
0b90eea56b
Replaces is_pow2 by std::has_single_bit
2026-09-21 00:47:11 +02:00
Vladislav Belov
4ae50fd4a4
Reduces memory peak during window resize
2026-09-10 15:38:55 +02:00
phosit
7bcee2ea0e
Remove XERO_ITER_EL
2026-09-08 10:32:51 +02:00
Vladislav Belov
f781181899
Adds sRGB support for proper lighting
...
Currently we're incorrectly using sRGB colors as raw inputs for lighting
instead of conversion to linear space. For proper PBR we need linear
values.
2026-07-29 01:29:09 +02:00
Vladislav Belov
e2f5b20922
Fixes GL internal format of textures in compute
...
In compute shaders load/store operations requires sized formats.
2026-07-28 23:32:23 +02:00
Vladislav Belov
db8c05572f
Adds Vulkan vertex format verification
2026-07-12 17:09:11 +02:00
Vladislav Belov
92ee2dba9e
Removes unused OGL legacy
2026-07-09 22:53:30 +02:00
Vladislav Belov
552d91e92a
Removes legacy GL error handling
...
We have GL_KHR_debug for proper error handling. ogl_WarnIfError isn't
really useful since it doesn't provide per-call granularity and requires
recompilation. So if it'll be really needed we can wrap all GL calls
into a macro like GL_CALL.
2026-07-09 22:53:29 +02:00
Vladislav Belov
11f78e5c1a
Uses GLAD to get GL version
2026-07-08 20:52:23 +02:00
Vladislav Belov
4ca83fa071
Uses GLAD to check extensions
...
If GLAD failed to load an extension then we can't use it. Because all
its functions are nullptr.
2026-07-08 20:06:18 +02:00
Vladislav Belov
2bc674cbaa
Removes extensions prior 2.1
...
Since we generate GL headers using GLAD with 2.1 version we don't need
to check extensions prior that.
2026-07-08 09:28:52 +02:00
Vladislav Belov
0a22bc66f7
Makes GL error handling explicit in report
2026-07-08 08:13:46 +02:00
Vladislav Belov
0168f45a65
Refactors GL device report
...
It makes the report function easier to read.
2026-07-08 08:13:44 +02:00
Vladislav Belov
0cc07aa209
Removes legacy glEnable of GL_TEXTURE_2D
...
It needs to bo enabled only for fixed-function pipeline.
https://registry.khronos.org/OpenGL-Refpages/gl2.1/
> If enabled and no fragment shader is active, two-dimensional texturing is performed
2026-06-28 15:56:33 +02:00
Ralph Sennhauser
4967922447
Don't load WGL
...
Depend on SDL and wxWidgets doing the necessary work.
Also remove WGL from glad.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com >
2026-06-28 09:49:26 +02:00
Ralph Sennhauser
c5a9d18cfa
Drop use of GLX and EGL
...
Only used for hw-report and only when using GLX which is for X11 only.
The usefulness of those reported properties is questionable and X11 is
becoming rarer.
This allows us to drop a direct dependency on X11 delegating the
handling to SDL and wxWidgets respectively GTK.
Further SDL3 wont expose supported video driver at compile time making
this step more meaningful.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com >
2026-06-28 09:49:26 +02:00
Ralph Sennhauser
08cd7e9096
Drop vsync workaround for wxWidgets
...
wxWidgets already sets it's prefered mode.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com >
2026-06-28 09:49:25 +02:00
vyordan
ec8b420abc
Move Script* classes to Script namespace
...
- Rename ScriptEngine, ScriptContext, ScriptInterface, ScriptRequest to
Script::Engine, Script::Context, Script::Interface, Script::Request
- Remove 'Script' prefix from filenames:
ScriptContext.* → Context.*
ScriptInterface.* → Interface.*
ScriptRequest.* → Request.*
ScriptEngine.* → Engine.*
ScriptConversions.* → Conversions.*
ScriptExceptions.* → Exceptions.*
ScriptForward.* → ForwardDeclarations.*
ScriptStats.* → Stats.*
- Update all includes, forward declarations, and friend classes
- Use namespace Script { ... } in .cpp definitions to avoid repetitive
Script:: prefix (keeping global callbacks outside)
- Rename internal implementation structs:
ScriptInterface_impl → Interface_impl
ScriptFunction → Function
- Update copyright year to 2026 in all touched files
- Suppress pre-existing cppcheck warnings (uninitvar, nullPointer, unknown
macro) by adding them to suppressions-list.txt (these are not caused
by this refactor)
Fixes #7516
2026-06-20 17:43:00 +02:00
Vladislav Belov
7a19f38070
Allows floating point textures based on extension
2026-06-20 13:29:13 +02:00
Vladislav Belov
7607d6bdd8
Decouples acquire/present from SubmitScheduler
...
SubmitScheduler doesn't have to know anything about Acquire/Present as
its responsibility to schedule and submit command buffers to a queue.
2026-06-08 18:27:10 +02:00
Vladislav Belov
07e5ad5b23
Fixes acquire and submit semaphores syncronization
...
I forgot to finish CSubmitScheduler synchronization in
7c84c23114 . Even ++m_FrameID was
forgotten. And it worked at the time. A proper synchronization is
described in renderer/backend/Vulkan/SwapChain.h.
2026-06-08 18:27:08 +02:00
Vladislav Belov
cf4a4d8fd5
Adds SwapChain as an explicit DeviceObject
...
It allows us more flexibility on how we control swapchain. That includes
toggling V-Sync in real time.
2026-06-08 18:26:58 +02:00
Vladislav Belov
1250ca1dac
Replaces FALLTHROUGH macro by attribute
...
It was forgotten during removing the FALLTHROUGH macro in
b41ca5ad78 .
2026-05-22 23:25:31 +02:00
Vladislav Belov
a0ecfbaa33
Skips UNIFORM buffers for GLES
...
Currently we don't support UNIFORM buffers for GLES.
Refs 54701868da
2026-05-22 23:14:30 +02:00
Vladislav Belov
2e87f6b5aa
Adds renderer backend-specific statistics
...
Different backend have different metrics to watch and debug. So we need
a simple way to collect that.
2026-05-10 19:26:16 +02:00
Vladislav Belov
a7967d4ad9
Adds PBR output texture to PostProc
2026-04-29 19:25:14 +02:00
Vladislav Belov
1a277269d3
Adds floating point textures to backends
...
R8G8B8A8_UNORM isn't enough to store HDR data as the scene can brighter
than 1.0 especially when looking into sun speculars.
2026-04-29 19:25:11 +02:00
Vladislav Belov
456e2a0b56
Removes dummy GL functions as replaced by core
2026-04-25 17:47:06 +02:00
Vladislav Belov
dd9124ae99
Fixes Vulkan uniform buffer size after 9e371824c2
...
32 was accidentally added during debugging.
2026-04-25 11:55:12 +02:00
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
phosit
df18e22277
Remove Script::CreateArray
...
It's better to construct a js-array from a `JS::RootedValueVector`.
Because it is more strongly typed and the index doesn't has to be
specified when appending an element.
Some usages are replaced with `JS::RootedValueArray`.
Fixes : #8702
2026-02-08 19:27:50 +01:00
Vladislav Belov
c0ea17f06e
Replaces choosedDeviceIt by chosenDeviceIt
2025-11-11 01:51:16 +01:00
Vladislav Belov
485200342d
Disables Vulkan devices sorting by default
...
Currently we always choose the best device. But it's not always
desirable. A more safe approach is to use the default device (with
index 0). The only downside of that is if a user didn't adjust
settings then the game might run on an integrated GPU instead of a
discrete one. In the future it'll be solved by selecting GPU in
options: #8529
Fixes #8455
2025-11-11 01:50:58 +01:00
Vladislav Belov
c4bc6c9627
Adds an option to destroy Vulkan old swapchain before
...
Now it's possible to destroy the old swapchain before creating a new
one. It might make the swapchain creation a bit slower but with a
lower memory peak.
2025-11-10 00:06:52 +01:00
Vladislav Belov
8a64182ca2
Waits Vulkan device idle also on window resize
...
Fixes the case when a swapchain was recreated on resize rather than
by VK_ERROR_OUT_OF_DATE_KHR.
2025-11-10 00:06:51 +01:00
Vladislav Belov
de36c75023
Deletes Vulkan resources on swapchain recreation
...
The change tries to minimize a memory peak during a window resizing.
Refs #6864
2025-11-10 00:06:41 +01:00
Vladislav Belov
8b1b1d28f8
Fixes missing Vulkan application version
...
Missing after dc830ccf55 .
2025-11-09 12:58:16 +01:00
Vladislav Belov
e8d9a8db67
Adds Vulkan timestamp limits to report
2025-10-16 00:36:02 +02:00
Vladislav Belov
f2752f7230
Removes ARBShader capability
2025-10-14 13:04:16 +02:00
Vladislav Belov
e8a5103f8c
Fixes #8057 by properly initializing atlas texture.
...
Fixes #8057
Fixes #8184
Fixes #8345
2025-09-17 14:31:16 +02:00
Vladislav Belov
e2d9450d0d
Revert "Font: make atlas uploads queue-aware on Vulkan"
...
This reverts commit 256dff7fd4 .
2025-09-17 12:32:08 +02: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
Ralph Sennhauser
2daa5385a8
Remove obsolete warning suppression
...
This was needed for old Visualstudio and is no longer needed with
VS2022.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com >
2025-08-24 11:09:57 +02:00
Ralph Sennhauser
5b5f678e3f
Fix some includes all over the place
...
Make include-what-you-use happy with some files in source and fix what
needs to be fixed.
Add markers to precompiled.h header includes to avoid
include-what-you-use wanting them to be removed.
Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com >
2025-08-14 20:15:30 +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
phosit
c0f20171f8
Remove wrong UNUSED2
...
Some variable are marked unused even though they are used.
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