Commit Graph

8369 Commits

Author SHA1 Message Date
wraitii 64efa0acf9 Delay a distance computation in UnitMotion.
Minor optimisation to computing a point goal.

Differential Revision: https://code.wildfiregames.com/D5035
This was SVN commit r27700.
2023-06-14 07:48:45 +00:00
wraitii 61e932a890 Turn off SPECTRE mitigation in jit code
SPECTRE attacks mitigations were added to SpiderMonkey's JIT output in
version 57. Turning these off is a very large speedup, around 10-20%
wall time (on my computer) depending on the map and the situation.
For the most part, from profiling on my machine, this is from memory
fences after JIT -> C++ calls. 0 A.D. does a lot of these.

The SPECTRE class of attack is a timing attack based on speculative
execution to leak sensitive information, and it seems extraordinarily
unlikely that something like this could be successfully mounted using 0
A.D.

Differential Revision: https://code.wildfiregames.com/D5014
This was SVN commit r27699.
2023-06-14 07:44:23 +00:00
wraitii 9399ba043e Speed up AI computation by not using structured clones
Following the AI unthreading in 4df03ed2d2 / D3769, structured clones
are no longer needed to pass the gamestate around.
This is much faster, about 10-15% wall time on an AI 1v1 profile.

This also potentially reduces memory fragmentation and GC needs, as
writing clones allocated a lot of data.

Differential Revision: https://code.wildfiregames.com/D5019
This was SVN commit r27698.
2023-06-14 07:32:22 +00:00
wraitii e5acc73fcf Remove useless line from 507f44f7f9
This is unused and makes the function twice as slow as it needs to be.

Differential Revision: https://code.wildfiregames.com/D5015
This was SVN commit r27697.
2023-06-14 07:28:37 +00:00
wraitii 080599442f Don't send PositionChanged messages in TurnTo when not actually turning
FaceTowardsTarget is called quite often by UnitAI, and we can skip some
un-necessary messages as an optimisation.

Differential Revision: https://code.wildfiregames.com/D5005
This was SVN commit r27695.
2023-06-14 07:23:05 +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 8f78ac1ef8 Decouples renderer code from VideoMode to get backend device.
Differential Revision: https://code.wildfiregames.com/D5043
This was SVN commit r27693.
2023-06-14 07:06:22 +00:00
Freagarach 5893c4bc85 Allow to set the biome with the autostart command.
Basically a patch by: @wraitii
Differential revision: https://code.wildfiregames.com/D4976
Comments by: @bb, @sera
Accepted by: @Langbart
Fixes #6521

This was SVN commit r27692.
2023-06-14 06:35:27 +00:00
wraitii 7350b9042e Don't poll territory in Position component
CmpPosition::TurnStart checks whether the territory changed underneath
each entityevery turn. The only user of this is TerritoryDecay
(structures, for the most part). It is rather inefficient to have this
done for all entities.
The simplest solution is to listen to position-changed messages in
TerritoryDecay instead. This should hardly ever happen in vanilla 0
A.D., except in Atlas, so it's basically free.

This sort of reverts 19965ce37a (original implementation) and
c44b48bd59.

Accepted By: Freagarach (concept only)
Differential Revision: https://code.wildfiregames.com/D5009
This was SVN commit r27673.
2023-06-13 15:48:03 +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
Stan 7c07083724 Fix the removal of implicit conversions in libfmt 10 by using explicit casts.
Patch by: @phosit
Accepted by: @vladislavbelov
Comments by: @sera
Differential Revision: https://code.wildfiregames.com/D4998
This was SVN commit r27657.
2023-05-31 12:03:04 +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
Itms 04f55f7cf5 Check the validity of a couple pointers in low-level tests, refs #5288.
Reported By: PVS-Studio
Patch By: animus
Reviewed By: phosit
Differential Revision: https://code.wildfiregames.com/D4994
This was SVN commit r27647.
2023-05-18 16:52:29 +00:00
Stan 8472240573 Fix compilation with GCC 13.
gcc-13 less often includes cstdint so one might need to include it
manually if needed.

The headers already included in Message.h are included within namespace
AtlasMessage which didn't break by chance, move them out and add
cstdint.

Patch by: @sera
Reviewed by: @phosit
Fixes: #6800
Differential Revision: https://code.wildfiregames.com/D4997
This was SVN commit r27644.
2023-05-13 12:08:23 +00:00
Stan ede58a2065 Fix two oversights.
This was SVN commit r27639.
2023-05-10 16:02:53 +00:00
Stan 173e016172 Allow starting by command with sandbox AI.
|| takes 0 as false; ?? doesn't.

Patch by: @Freagarach
Accepted by: @sera, @Langbart
Fixes: #6771

Differential Revision: https://code.wildfiregames.com/D4975
This was SVN commit r27637.
2023-05-10 15:34:38 +00:00
Stan d8b1935493 Add a script to build spir-v shaders for the bundle.
Fixes: #6636
Refs: #6718
Discussed with: @vladislavbelov

Differential Revision: https://code.wildfiregames.com/D4988
This was SVN commit r27633.
2023-05-08 14:25:23 +00:00
vladislavbelov 3ceeedf169 Adds script to generate SPIR-V from GLSL shaders. Refs #6636
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4969
This was SVN commit r27627.
2023-05-02 17:31:28 +00:00
Stan ae9f47e741 encoding="utf-8" is not supported before Python 3.10.
This was SVN commit r27622.
2023-04-28 09:24:21 +00:00
Stan a6546cc0a4 Update infrastructure to use the new transifex API.
- Fix Jenkins warnings about leaked credentials.
- Fix one script not loading utf-8 on windows.
- Fix command line arguments not working when inlined on Linux.

This was SVN commit r27621.
2023-04-27 16:55:06 +00:00
Stan eb29373ba7 Use the new client for the pull script.
This was SVN commit r27620.
2023-04-27 14:20:26 +00:00
vladislavbelov 635314ccef Removes assertion for big screenshots with a too small window. Fixes #5225
Differential Revision: https://code.wildfiregames.com/D4983
This was SVN commit r27613.
2023-04-19 20:35:26 +00:00
Itms a3abe8605c Ignore broken symlinks instead of crashing on them, fixes #6586.
Print a warning in the debug output for now, as the logger is not
available at this point.

Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4743
This was SVN commit r27612.
2023-04-19 16:35:00 +00:00
vladislavbelov 3147123611 Adds CStrIntern for FXAA and dummy shader names for consistency.
Reported By: Stan
This was SVN commit r27608.
2023-04-16 22:39:36 +00:00
vladislavbelov beef529cc6 Adds more libraries to feedback reports. Refs #6711
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4949
This was SVN commit r27607.
2023-04-16 22:28:55 +00:00
vladislavbelov a28fddcf72 Adds an option to disable mouse grab in fullscreen.
Refs #6649
Refs #545

Differential Revision: https://code.wildfiregames.com/D4974
This was SVN commit r27603.
2023-04-12 06:59:37 +00:00
vladislavbelov c138527abc Removes assertion from MinimapTexture on entities overflow.
Differential Revision: https://code.wildfiregames.com/D4977
This was SVN commit r27601.
2023-04-11 09:50:35 +00:00
Itms ef71533d70 Use a lower default MTU for ENet hosts, and make it configurable.
This fixes packet loss issues on some VPN solutions.

Patch By: sera
Differential Revision: https://code.wildfiregames.com/D4967
This was SVN commit r27599.
2023-04-10 08:21:07 +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 b150ab7e75 Fixes decals with default normal texture.
Differential Revision: https://code.wildfiregames.com/D4966
This was SVN commit r27576.
2023-03-12 13:01:51 +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 6adc9446be Removes ogl.h from PCH.
Differential Revision: https://code.wildfiregames.com/D4950
This was SVN commit r27556.
2023-02-20 20:06:53 +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
Stan 929d593658 Fix build-archives.sh's shebang.
Reported by: @Itms
Refs #6701

This was SVN commit r27542.
2023-02-13 12:19:24 +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 0fce64ed5a Fixes Atlas previews after e4455a8e8f.
Differential Revision: https://code.wildfiregames.com/D4919
This was SVN commit r27521.
2023-02-01 21:56:35 +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
trompetin17 c422eb242a ATLAS UI be aware of GUI Scale user config
Comment by: @Phosit, @Stan, @Vladislav
Differential Revision: https://code.wildfiregames.com/D4915
Fixes: #6715

This was SVN commit r27513.
2023-01-30 22:05:17 +00:00
vladislavbelov d0ff565aa8 Fixes DisplayVersion in NSIS on Windows.
Tested By: Itms
Differential Revision: https://code.wildfiregames.com/D4892
This was SVN commit r27512.
2023-01-30 21:29:10 +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
Freagarach 83b786dcf5 Tokens for required technologies.
Use tokens for required technologies, allowing `-tech` and easier
replacements.
Fixes requiring `replace=""` when replacing techs.
Also a minor fix in the TemplateParser.js for upgrade requirements.
Refs. 9bb9ff8b16.

Differential revision: https://code.wildfiregames.com/D4912
Comments by: @Stan
This was SVN commit r27505.
2023-01-30 08:05:34 +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
vladislavbelov e050a32eef Adds more features to report for Vulkan backend.
This was SVN commit r27502.
2023-01-29 22:10:52 +00:00
Stan e27a3c4e53 Fix Molten VK printing too many log messages
Reported by: @Langbart
Fixes #6719
Differential Revision: https://code.wildfiregames.com/D4913
This was SVN commit r27501.
2023-01-29 13:03:58 +00:00