fix(extra-natives-five): DrawCorona 16-byte vector alignment for SIMD instructions #3133
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal of this PR
The game function
addLightCorona
expects vectors to be aligned to a 16-byte memory boundary, butDirectX::XMFLOAT3
does not provide this alignment by default. This misalignment causes an access violation error when executingmovaps xmm5, xmmword ptr [rax]
in release builds.How is this PR achieving the goal
DirectX::XMFLOAT3
withDirectX::XMVECTOR
, which guarantees 16-byte alignment as required.This PR applies to the following area(s)
FiveM, Natives
Successfully tested on
Game builds: 1, 1604, 2060, 2189, 2372, 2545, 2612, 2699, 2802, 2944, 3095, 3258, 3407
Platforms: Windows (Client)
Checklist
Fixes issues
fixes #3132