Remove unnecessary ALIGN macros
This commit is contained in:
@@ -12,29 +12,29 @@ namespace AZ
|
||||
{
|
||||
namespace Simd
|
||||
{
|
||||
static AZ_ALIGN(constexpr float g_sinCoef1[4], 16) = { -0.0001950727f, -0.0001950727f, -0.0001950727f, -0.0001950727f };
|
||||
static AZ_ALIGN(constexpr float g_sinCoef2[4], 16) = { 0.0083320758f, 0.0083320758f, 0.0083320758f, 0.0083320758f };
|
||||
static AZ_ALIGN(constexpr float g_sinCoef3[4], 16) = { -0.1666665247f, -0.1666665247f, -0.1666665247f, -0.1666665247f };
|
||||
static AZ_ALIGN(constexpr float g_cosCoef1[4], 16) = { -0.0013602249f, -0.0013602249f, -0.0013602249f, -0.0013602249f };
|
||||
static AZ_ALIGN(constexpr float g_cosCoef2[4], 16) = { 0.0416566950f, 0.0416566950f, 0.0416566950f, 0.0416566950f };
|
||||
static AZ_ALIGN(constexpr float g_cosCoef3[4], 16) = { -0.4999990225f, -0.4999990225f, -0.4999990225f, -0.4999990225f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef1[4], 16) = { -0.0012624911f, -0.0012624911f, -0.0012624911f, -0.0012624911f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef2[4], 16) = { 0.0066700901f, 0.0066700901f, 0.0066700901f, 0.0066700901f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef3[4], 16) = { -0.0170881256f, -0.0170881256f, -0.0170881256f, -0.0170881256f };
|
||||
static AZ_ALIGN(constexpr float g_acosHiCoef4[4], 16) = { 0.0308918810f, 0.0308918810f, 0.0308918810f, 0.0308918810f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef1[4], 16) = { -0.0501743046f, -0.0501743046f, -0.0501743046f, -0.0501743046f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef2[4], 16) = { 0.0889789874f, 0.0889789874f, 0.0889789874f, 0.0889789874f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef3[4], 16) = { -0.2145988016f, -0.2145988016f, -0.2145988016f, -0.2145988016f };
|
||||
static AZ_ALIGN(constexpr float g_acosLoCoef4[4], 16) = { 1.5707963050f, 1.5707963050f, 1.5707963050f, 1.5707963050f };
|
||||
static AZ_ALIGN(constexpr float g_acosCoef1[4], 16) = { -0.0200752200f, -0.0200752200f, -0.0200752200f, -0.0200752200f };
|
||||
static AZ_ALIGN(constexpr float g_acosCoef2[4], 16) = { 0.0759031500f, 0.0759031500f, 0.0759031500f, 0.0759031500f };
|
||||
static AZ_ALIGN(constexpr float g_acosCoef3[4], 16) = { -0.2126757000f, -0.2126757000f, -0.2126757000f, -0.2126757000f };
|
||||
static AZ_ALIGN(constexpr float g_atanHiRange[4], 16) = { 2.4142135624f, 2.4142135624f, 2.4142135624f, 2.4142135624f };
|
||||
static AZ_ALIGN(constexpr float g_atanLoRange[4], 16) = { 0.4142135624f, 0.4142135624f, 0.4142135624f, 0.4142135624f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef1[4], 16) = { 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef2[4], 16) = { -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef3[4], 16) = { 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f };
|
||||
static AZ_ALIGN(constexpr float g_atanCoef4[4], 16) = { -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f };
|
||||
alignas(16) static constexpr float g_sinCoef1[4] = { -0.0001950727f, -0.0001950727f, -0.0001950727f, -0.0001950727f };
|
||||
alignas(16) static constexpr float g_sinCoef2[4] = { 0.0083320758f, 0.0083320758f, 0.0083320758f, 0.0083320758f };
|
||||
alignas(16) static constexpr float g_sinCoef3[4] = { -0.1666665247f, -0.1666665247f, -0.1666665247f, -0.1666665247f };
|
||||
alignas(16) static constexpr float g_cosCoef1[4] = { -0.0013602249f, -0.0013602249f, -0.0013602249f, -0.0013602249f };
|
||||
alignas(16) static constexpr float g_cosCoef2[4] = { 0.0416566950f, 0.0416566950f, 0.0416566950f, 0.0416566950f };
|
||||
alignas(16) static constexpr float g_cosCoef3[4] = { -0.4999990225f, -0.4999990225f, -0.4999990225f, -0.4999990225f };
|
||||
alignas(16) static constexpr float g_acosHiCoef1[4] = { -0.0012624911f, -0.0012624911f, -0.0012624911f, -0.0012624911f };
|
||||
alignas(16) static constexpr float g_acosHiCoef2[4] = { 0.0066700901f, 0.0066700901f, 0.0066700901f, 0.0066700901f };
|
||||
alignas(16) static constexpr float g_acosHiCoef3[4] = { -0.0170881256f, -0.0170881256f, -0.0170881256f, -0.0170881256f };
|
||||
alignas(16) static constexpr float g_acosHiCoef4[4] = { 0.0308918810f, 0.0308918810f, 0.0308918810f, 0.0308918810f };
|
||||
alignas(16) static constexpr float g_acosLoCoef1[4] = { -0.0501743046f, -0.0501743046f, -0.0501743046f, -0.0501743046f };
|
||||
alignas(16) static constexpr float g_acosLoCoef2[4] = { 0.0889789874f, 0.0889789874f, 0.0889789874f, 0.0889789874f };
|
||||
alignas(16) static constexpr float g_acosLoCoef3[4] = { -0.2145988016f, -0.2145988016f, -0.2145988016f, -0.2145988016f };
|
||||
alignas(16) static constexpr float g_acosLoCoef4[4] = { 1.5707963050f, 1.5707963050f, 1.5707963050f, 1.5707963050f };
|
||||
alignas(16) static constexpr float g_acosCoef1[4] = { -0.0200752200f, -0.0200752200f, -0.0200752200f, -0.0200752200f };
|
||||
alignas(16) static constexpr float g_acosCoef2[4] = { 0.0759031500f, 0.0759031500f, 0.0759031500f, 0.0759031500f };
|
||||
alignas(16) static constexpr float g_acosCoef3[4] = { -0.2126757000f, -0.2126757000f, -0.2126757000f, -0.2126757000f };
|
||||
alignas(16) static constexpr float g_atanHiRange[4] = { 2.4142135624f, 2.4142135624f, 2.4142135624f, 2.4142135624f };
|
||||
alignas(16) static constexpr float g_atanLoRange[4] = { 0.4142135624f, 0.4142135624f, 0.4142135624f, 0.4142135624f };
|
||||
alignas(16) static constexpr float g_atanCoef1[4] = { 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f, 8.05374449538e-2f };
|
||||
alignas(16) static constexpr float g_atanCoef2[4] = { -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f, -1.38776856032e-1f };
|
||||
alignas(16) static constexpr float g_atanCoef3[4] = { 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f, 1.99777106478e-1f };
|
||||
alignas(16) static constexpr float g_atanCoef4[4] = { -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f, -3.33329491539e-1f };
|
||||
|
||||
namespace Common
|
||||
{
|
||||
|
||||
@@ -24,24 +24,24 @@ namespace AZ
|
||||
{
|
||||
namespace Simd
|
||||
{
|
||||
static AZ_ALIGN(constexpr float g_vec1111[4], 16) = { 1.0f, 1.0f, 1.0f, 1.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec1000[4], 16) = { 1.0f, 0.0f, 0.0f, 0.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec0100[4], 16) = { 0.0f, 1.0f, 0.0f, 0.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec0010[4], 16) = { 0.0f, 0.0f, 1.0f, 0.0f };
|
||||
static AZ_ALIGN(constexpr float g_vec0001[4], 16) = { 0.0f, 0.0f, 0.0f, 1.0f };
|
||||
static AZ_ALIGN(constexpr float g_Pi[4], 16) = { Constants::Pi, Constants::Pi, Constants::Pi, Constants::Pi };
|
||||
static AZ_ALIGN(constexpr float g_TwoPi[4], 16) = { Constants::TwoPi, Constants::TwoPi, Constants::TwoPi, Constants::TwoPi };
|
||||
static AZ_ALIGN(constexpr float g_HalfPi[4], 16) = { Constants::HalfPi, Constants::HalfPi, Constants::HalfPi, Constants::HalfPi };
|
||||
static AZ_ALIGN(constexpr float g_QuarterPi[4], 16) = { Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi };
|
||||
static AZ_ALIGN(constexpr float g_TwoOverPi[4], 16) = { Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi };
|
||||
static AZ_ALIGN(constexpr int32_t g_absMask[4], 16) = { (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateMask[4], 16) = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateXMask[4], 16) = { (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateYMask[4], 16) = { (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateZMask[4], 16) = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateWMask[4], 16) = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_negateXYZMask[4], 16) = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
static AZ_ALIGN(constexpr int32_t g_wMask[4], 16) = { (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr float g_vec1111[4] = { 1.0f, 1.0f, 1.0f, 1.0f };
|
||||
alignas(16) static constexpr float g_vec1000[4] = { 1.0f, 0.0f, 0.0f, 0.0f };
|
||||
alignas(16) static constexpr float g_vec0100[4] = { 0.0f, 1.0f, 0.0f, 0.0f };
|
||||
alignas(16) static constexpr float g_vec0010[4] = { 0.0f, 0.0f, 1.0f, 0.0f };
|
||||
alignas(16) static constexpr float g_vec0001[4] = { 0.0f, 0.0f, 0.0f, 1.0f };
|
||||
alignas(16) static constexpr float g_Pi[4] = { Constants::Pi, Constants::Pi, Constants::Pi, Constants::Pi };
|
||||
alignas(16) static constexpr float g_TwoPi[4] = { Constants::TwoPi, Constants::TwoPi, Constants::TwoPi, Constants::TwoPi };
|
||||
alignas(16) static constexpr float g_HalfPi[4] = { Constants::HalfPi, Constants::HalfPi, Constants::HalfPi, Constants::HalfPi };
|
||||
alignas(16) static constexpr float g_QuarterPi[4] = { Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi, Constants::QuarterPi };
|
||||
alignas(16) static constexpr float g_TwoOverPi[4] = { Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi, Constants::TwoOverPi };
|
||||
alignas(16) static constexpr int32_t g_absMask[4] = { (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff, (int32_t)0x7fffffff };
|
||||
alignas(16) static constexpr int32_t g_negateMask[4] = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000 };
|
||||
alignas(16) static constexpr int32_t g_negateXMask[4] = { (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_negateYMask[4] = { (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_negateZMask[4] = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_negateWMask[4] = { (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x00000000, (int32_t)0x80000000 };
|
||||
alignas(16) static constexpr int32_t g_negateXYZMask[4] = { (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x80000000, (int32_t)0x00000000 };
|
||||
alignas(16) static constexpr int32_t g_wMask[4] = { (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0xffffffff, (int32_t)0x00000000 };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ namespace AZ
|
||||
}
|
||||
|
||||
// or _m128i and VMX ???
|
||||
AZ_ALIGN(unsigned char data[16], 16);
|
||||
alignas(16) unsigned char data[16];
|
||||
};
|
||||
} // namespace AZ
|
||||
|
||||
|
||||
@@ -88,15 +88,6 @@
|
||||
|
||||
# define AZ_FORCE_INLINE __forceinline
|
||||
|
||||
/// Aligns a declaration.
|
||||
# define AZ_ALIGN(_decl, _alignment) \
|
||||
AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \
|
||||
__declspec(align(_alignment)) \
|
||||
_decl \
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
/// Return the alignment of a type. This if for internal use only (use AZStd::alignment_of<>())
|
||||
# define AZ_INTERNAL_ALIGNMENT_OF(_type) __alignof(_type)
|
||||
/// Pointer will be aliased.
|
||||
# define AZ_MAY_ALIAS
|
||||
/// Function signature macro
|
||||
@@ -120,15 +111,7 @@
|
||||
#define AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
# define AZ_FORCE_INLINE inline
|
||||
/// Aligns a declaration.
|
||||
# define AZ_ALIGN(_decl, _alignment) \
|
||||
AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \
|
||||
_decl \
|
||||
__attribute__((aligned(_alignment)))
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
/// Return the alignment of a type. This if for internal use only (use AZStd::alignment_of<>())
|
||||
# define AZ_INTERNAL_ALIGNMENT_OF(_type) __alignof__(_type)
|
||||
/// Pointer will be aliased.
|
||||
# define AZ_MAY_ALIAS __attribute__((__may_alias__))
|
||||
/// Function signature macro
|
||||
|
||||
@@ -162,7 +162,7 @@ namespace UnitTest
|
||||
struct CreationCounter
|
||||
{
|
||||
AZ_TYPE_INFO(CreationCounter, "{E9E35486-4366-4066-86E5-1A8CEB44198B}");
|
||||
AZ_ALIGN(int test[size / sizeof(int)], alignment);
|
||||
alignas(alignment) int test[size / sizeof(int)];
|
||||
|
||||
static int s_count;
|
||||
static int s_copied;
|
||||
|
||||
@@ -384,7 +384,7 @@ namespace AZStd
|
||||
*/
|
||||
union
|
||||
{
|
||||
AZ_ALIGN(char m_buffer[Internal::ANY_SBO_BUF_SIZE], 32); // Used for objects smaller than SBO_BUF_SIZE
|
||||
alignas(32) char m_buffer[Internal::ANY_SBO_BUF_SIZE]; // Used for objects smaller than SBO_BUF_SIZE
|
||||
void* m_pointer; // Pointer to large objects
|
||||
};
|
||||
type_info m_typeInfo;
|
||||
|
||||
@@ -164,7 +164,7 @@ namespace AZStd
|
||||
//enough.
|
||||
struct Node
|
||||
{
|
||||
AZ_ALIGN(T m_value, 64); //alignment to avoid cache line sharing
|
||||
alignas(64) T m_value; //alignment to avoid cache line sharing
|
||||
thread::id m_threadId;
|
||||
Node* m_next;
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace AZStd
|
||||
template<typename T>
|
||||
struct lock_free_stamped_node_ptr
|
||||
{
|
||||
AZ_ALIGN(struct lock_free_stamped_queue_node<T>* m_node, 8);
|
||||
alignas(8) struct lock_free_stamped_queue_node<T>* m_node;
|
||||
unsigned int m_stamp;
|
||||
};
|
||||
|
||||
|
||||
@@ -1073,7 +1073,7 @@ cleanup:
|
||||
}
|
||||
|
||||
HANDLE hThread = nativeThread;
|
||||
AZ_ALIGN(CONTEXT context, 8); // Without this alignment the function randomly crashes in release.
|
||||
CONTEXT alignas(8) context; // Without this alignment the function randomly crashes in release.
|
||||
context.ContextFlags = CONTEXT_ALL;
|
||||
GetThreadContext(hThread, &context);
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace UnitTestInternal
|
||||
}
|
||||
|
||||
// We use this class on the stack often, so alignment more than 16 bytes will not work on all platforms.
|
||||
AZ_ALIGN(int m_data, 16);
|
||||
alignas(16) int m_data;
|
||||
bool m_isMoved;
|
||||
};
|
||||
|
||||
|
||||
@@ -982,7 +982,7 @@ namespace UnitTest
|
||||
: m_data(data) {}
|
||||
~MyClass() {}
|
||||
|
||||
AZ_ALIGN(int m_data, 32);
|
||||
alignas(32) int m_data;
|
||||
};
|
||||
// Explicitly doesn't have AZ_CLASS_ALLOCATOR
|
||||
class MyDerivedClass
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace UnitTest
|
||||
|
||||
struct Aligned16
|
||||
{
|
||||
AZ_ALIGN(char m_data, 16);
|
||||
alignas(16) char m_data;
|
||||
};
|
||||
|
||||
//! Class that changes a value when it's created and destroyed.
|
||||
|
||||
@@ -109,9 +109,6 @@ typedef unsigned char byte;
|
||||
|
||||
#define INVALID_FILE_ATTRIBUTES (-1)
|
||||
|
||||
#define DEFINE_ALIGNED_DATA(type, name, alignment) \
|
||||
type __attribute__ ((aligned(alignment))) name;
|
||||
|
||||
#include "LinuxSpecific.h"
|
||||
// these functions do not exist int the wchar.h header
|
||||
#undef wscasecomp
|
||||
|
||||
@@ -126,10 +126,6 @@ typedef uint8 byte;
|
||||
#define STDMETHODCALLTYPE
|
||||
#endif
|
||||
|
||||
#define _ALIGN(num) \
|
||||
__attribute__ ((aligned(num))) \
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
#define _PACK __attribute__ ((packed))
|
||||
|
||||
// Safe memory freeing
|
||||
@@ -265,9 +261,6 @@ typedef union _LARGE_INTEGER
|
||||
|
||||
#define INVALID_FILE_ATTRIBUTES (-1)
|
||||
|
||||
#define DEFINE_ALIGNED_DATA(type, name, alignment) \
|
||||
type __attribute__ ((aligned(alignment))) name;
|
||||
|
||||
#define BST_UNCHECKED 0x0000
|
||||
|
||||
#ifndef HRESULT_VALUES_DEFINED
|
||||
|
||||
@@ -2146,7 +2146,7 @@ inline uint8 CCamera::IsOBBVisible_EH(const Vec3& wpos, const OBB& obb, f32 usca
|
||||
//--- ADDITIONAL-TEST ---
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
extern _MS_ALIGN(64) uint32 BoxSides[];
|
||||
alignas(64) extern uint32 BoxSides[];
|
||||
|
||||
// Description:
|
||||
// A box can easily straddle one of the view-frustum planes far
|
||||
|
||||
@@ -1243,7 +1243,6 @@ struct Matrix33_tpl
|
||||
typedef Matrix33_tpl<f32> Matrix33; //always 32 bit
|
||||
typedef Matrix33_tpl<f64> Matrix33d; //always 64 bit
|
||||
typedef Matrix33_tpl<real> Matrix33r; //variable float precision. depending on the target system it can be between 32, 64 or 80 bit
|
||||
typedef _MS_ALIGN(16) Matrix33_tpl<f32> _ALIGN (16) Matrix33A;
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
@@ -1224,7 +1224,11 @@ struct Matrix34_tpl
|
||||
typedef Matrix34_tpl<f32> Matrix34; //always 32 bit
|
||||
typedef Matrix34_tpl<f64> Matrix34d;//always 64 bit
|
||||
typedef Matrix34_tpl<real> Matrix34r;//variable float precision. depending on the target system it can be between 32, 64 or bit
|
||||
typedef _MS_ALIGN(16) Matrix34_tpl<f32> _ALIGN (16) Matrix34A;
|
||||
#if AZ_COMPILER_MSVC
|
||||
typedef __declspec(align(16)) Matrix34_tpl<f32> Matrix34A;
|
||||
#elif AZ_COMPILER_CLANG
|
||||
typedef Matrix34_tpl<f32> __attribute__((aligned(16))) Matrix34A;
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
@@ -666,7 +666,11 @@ struct Matrix44_tpl
|
||||
typedef Matrix44_tpl<f32> Matrix44; //always 32 bit
|
||||
typedef Matrix44_tpl<f64> Matrix44d; //always 64 bit
|
||||
typedef Matrix44_tpl<real> Matrix44r; //variable float precision. depending on the target system it can be between 32, 64 or 80 bit
|
||||
typedef _MS_ALIGN(16) Matrix44_tpl<f32> _ALIGN (16) Matrix44A;
|
||||
#if AZ_COMPILER_MSVC
|
||||
typedef __declspec(align(16)) Matrix44_tpl<f32> Matrix44A;
|
||||
#elif AZ_COMPILER_CLANG
|
||||
typedef Matrix44_tpl<f32> __attribute__((aligned(16))) Matrix44A;
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
@@ -908,14 +908,6 @@ typedef Quat_tpl<f32> CryQuat;
|
||||
typedef Quat_tpl<f32> quaternionf;
|
||||
typedef Quat_tpl<real> quaternion;
|
||||
|
||||
// alligned versions
|
||||
#ifndef MAX_API_NUM
|
||||
typedef DEFINE_ALIGNED_DATA (Quat, QuatA, 16); // typedef __declspec(align(16)) Quat_tpl<f32> CryQuatA;
|
||||
typedef DEFINE_ALIGNED_DATA (Quatd, QuatrA, 32); // typedef __declspec(align(16)) Quat_tpl<f32> quaternionfA;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
*
|
||||
* The "inner product" or "dot product" operation.
|
||||
@@ -1425,11 +1417,6 @@ typedef QuatT_tpl<f32> QuatT; //always 32 bit
|
||||
typedef QuatT_tpl<f64> QuatTd;//always 64 bit
|
||||
typedef QuatT_tpl<real> QuatTr;//variable float precision. depending on the target system it can be between 32, 64 or bit
|
||||
|
||||
// alligned versions
|
||||
typedef DEFINE_ALIGNED_DATA (QuatT, QuatTA, 32); //wastest 4byte per quatT // typedef __declspec(align(16)) Quat_tpl<f32> QuatTA;
|
||||
typedef DEFINE_ALIGNED_DATA (QuatTd, QuatTrA, 16); // typedef __declspec(align(16)) Quat_tpl<f32> QuatTrA;
|
||||
|
||||
|
||||
/*!
|
||||
*
|
||||
* Implements the multiplication operator: QuatT=Quatpos*Quat
|
||||
@@ -1711,10 +1698,6 @@ typedef QuatTS_tpl<f32> QuatTS; //always 64 bit
|
||||
typedef QuatTS_tpl<f64> QuatTSd;//always 64 bit
|
||||
typedef QuatTS_tpl<real> QuatTSr;//variable float precision. depending on the target system it can be between 32, 64 or 80 bit
|
||||
|
||||
// alligned versions
|
||||
typedef DEFINE_ALIGNED_DATA (QuatTS, QuatTSA, 16); // typedef __declspec(align(16)) Quat_tpl<f32> QuatTSA;
|
||||
typedef DEFINE_ALIGNED_DATA (QuatTSd, QuatTSrA, 64); // typedef __declspec(align(16)) QuatTS_tpl<f32> QuatTSrA;
|
||||
|
||||
template<class F1, class F2>
|
||||
ILINE QuatTS_tpl<F1> operator * (const QuatTS_tpl<F1>& a, const Quat_tpl<F2>& b)
|
||||
{
|
||||
@@ -1972,11 +1955,6 @@ typedef QuatTNS_tpl<f32> QuatTNS;
|
||||
typedef QuatTNS_tpl<f64> QuatTNSr;
|
||||
typedef QuatTNS_tpl<f64> QuatTNS_f64;
|
||||
|
||||
// alligned versions
|
||||
typedef DEFINE_ALIGNED_DATA (QuatTNS, QuatTNSA, 16);
|
||||
typedef DEFINE_ALIGNED_DATA (QuatTNSr, QuatTNSrA, 64);
|
||||
typedef DEFINE_ALIGNED_DATA (QuatTNS_f64, QuatTNS_f64A, 64);
|
||||
|
||||
template<class F1, class F2>
|
||||
ILINE QuatTNS_tpl<F1> operator * (const QuatTNS_tpl<F1>& a, const Quat_tpl<F2>& b)
|
||||
{
|
||||
|
||||
@@ -753,7 +753,7 @@ struct SBending
|
||||
// Description:
|
||||
// Interface for the skinnable objects (renderer calls its functions to get the skinning data).
|
||||
// should only created by EF_CreateSkinningData
|
||||
_MS_ALIGN(16) struct SSkinningData
|
||||
struct alignas(16) SSkinningData
|
||||
{
|
||||
uint32 nNumBones;
|
||||
uint32 nHWSkinningFlags;
|
||||
@@ -768,9 +768,10 @@ _MS_ALIGN(16) struct SSkinningData
|
||||
// members below are for Software Skinning
|
||||
void* pCustomData; // client specific data, used for example for sw-skinning on animation side
|
||||
SSkinningData* pNextSkinningData; // List to the next element which needs SW-Skinning
|
||||
} _ALIGN(16);
|
||||
[[maybe_unused]] int m_padding[2]; // padding to avoid MSVC warning 4324
|
||||
};
|
||||
|
||||
struct SRenderObjData
|
||||
struct alignas(16) SRenderObjData
|
||||
{
|
||||
uintptr_t m_uniqueObjectId;
|
||||
|
||||
@@ -837,7 +838,7 @@ struct SRenderObjData
|
||||
{
|
||||
AZ_UNUSED(pSizer);
|
||||
}
|
||||
} _ALIGN(16);
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Objects using in shader pipeline
|
||||
@@ -856,7 +857,7 @@ struct ShadowMapFrustum;
|
||||
/// It can be compiled into the platform specific efficient rendering compiled object.
|
||||
///
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
_MS_ALIGN(16) class CRenderObject
|
||||
class alignas(16) CRenderObject
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(CRenderObject, AZ::LegacyAllocator, 0);
|
||||
@@ -929,6 +930,8 @@ public:
|
||||
|
||||
PerInstanceConstantBufferKey m_PerInstanceConstantBufferKey;
|
||||
|
||||
[[maybe_unused]] int m_padding[1]; // padding to avoid MSVC warning 4324
|
||||
|
||||
//! Embedded SRenderObjData, optional data carried by CRenderObject
|
||||
SRenderObjData m_data;
|
||||
|
||||
@@ -1007,7 +1010,7 @@ protected:
|
||||
}
|
||||
|
||||
friend class CRenderer;
|
||||
} _ALIGN(16);
|
||||
};
|
||||
|
||||
enum EResClassName
|
||||
{
|
||||
@@ -1200,8 +1203,8 @@ struct SEfTexModificator
|
||||
return false;
|
||||
}
|
||||
|
||||
_MS_ALIGN(16) Matrix44 m_TexGenMatrix _ALIGN(16);
|
||||
_MS_ALIGN(16) Matrix44 m_TexMatrix _ALIGN(16);
|
||||
alignas(16) Matrix44 m_TexGenMatrix;
|
||||
alignas(16) Matrix44 m_TexMatrix;
|
||||
|
||||
float m_Tiling[3];
|
||||
float m_Offs[3];
|
||||
|
||||
@@ -91,9 +91,6 @@ typedef unsigned char byte;
|
||||
|
||||
#define INVALID_FILE_ATTRIBUTES (-1)
|
||||
|
||||
#define DEFINE_ALIGNED_DATA(type, name, alignment) \
|
||||
type __attribute__ ((aligned(alignment))) name;
|
||||
|
||||
#include "LinuxSpecific.h"
|
||||
|
||||
#define TARGET_DEFAULT_ALIGN (0x4U)
|
||||
|
||||
@@ -97,9 +97,6 @@ typedef uint8 byte;
|
||||
|
||||
#define INVALID_FILE_ATTRIBUTES (-1)
|
||||
|
||||
#define DEFINE_ALIGNED_DATA(type, name, alignment) \
|
||||
type __attribute__ ((aligned(alignment))) name;
|
||||
|
||||
#include "LinuxSpecific.h"
|
||||
|
||||
#define TARGET_DEFAULT_ALIGN (0x8U)
|
||||
|
||||
@@ -83,10 +83,6 @@ typedef float FLOAT;
|
||||
#define STDMETHODCALLTYPE
|
||||
#endif
|
||||
|
||||
#define _ALIGN(num) \
|
||||
__attribute__ ((aligned(num))) \
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
#define _PACK __attribute__ ((packed))
|
||||
|
||||
// Safe memory freeing
|
||||
|
||||
@@ -101,12 +101,6 @@ int64 CryGetTicksPerSec();
|
||||
}
|
||||
#endif
|
||||
|
||||
#define _MS_ALIGN(num) \
|
||||
AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \
|
||||
__declspec(align(num))
|
||||
|
||||
#define DEFINE_ALIGNED_DATA(type, name, alignment) _declspec(align(alignment)) type name;
|
||||
|
||||
#ifndef FILE_ATTRIBUTE_NORMAL
|
||||
#define FILE_ATTRIBUTE_NORMAL 0x00000080
|
||||
#endif
|
||||
|
||||
@@ -84,12 +84,6 @@ int64 CryGetTicksPerSec();
|
||||
}
|
||||
#endif
|
||||
|
||||
#define _MS_ALIGN(num) \
|
||||
AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \
|
||||
__declspec(align(num))
|
||||
|
||||
#define DEFINE_ALIGNED_DATA(type, name, alignment) _declspec(align(alignment)) type name;
|
||||
|
||||
#ifndef FILE_ATTRIBUTE_NORMAL
|
||||
#define FILE_ATTRIBUTE_NORMAL 0x00000080
|
||||
#endif
|
||||
|
||||
@@ -372,16 +372,6 @@ threadID CryGetCurrentThreadId();
|
||||
#define __PACKED
|
||||
#endif
|
||||
|
||||
// Fallback for Alignment macro of GCC/CLANG (must be after the class definition)
|
||||
#if !defined(_ALIGN)
|
||||
#define _ALIGN(num) AZ_POP_DISABLE_WARNING
|
||||
#endif
|
||||
|
||||
// Fallback for Alignment macro of MSVC (must be before the class definition)
|
||||
#if !defined(_MS_ALIGN)
|
||||
#define _MS_ALIGN(num) AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option")
|
||||
#endif
|
||||
|
||||
#if defined(AZ_RESTRICTED_PLATFORM)
|
||||
#define AZ_RESTRICTED_SECTION PLATFORM_H_SECTION_13
|
||||
#include AZ_RESTRICTED_FILE(platform_h)
|
||||
|
||||
@@ -339,7 +339,7 @@ inline void CryDebugStr([[maybe_unused]] const char* format, ...)
|
||||
*/
|
||||
}
|
||||
|
||||
_MS_ALIGN(64) uint32 BoxSides[0x40 * 8] = {
|
||||
alignas(64) uint32 BoxSides[0x40 * 8] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, //00
|
||||
0, 4, 6, 2, 0, 0, 0, 4, //01
|
||||
7, 5, 1, 3, 0, 0, 0, 4, //02
|
||||
|
||||
@@ -279,28 +279,3 @@ namespace AZ
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Emits an error when padding is introduced into a struct.
|
||||
#if defined (AZ_COMPILER_MSVC)
|
||||
|
||||
#define AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN \
|
||||
__pragma(warning(push)) \
|
||||
__pragma(warning(error : 4820))
|
||||
|
||||
#define AZ_ASSERT_NO_ALIGNMENT_PADDING_END \
|
||||
__pragma(warning(pop))
|
||||
|
||||
#elif defined (AZ_COMPILER_CLANG) || defined (AZ_COMPILER_GCC)
|
||||
|
||||
#define AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN \
|
||||
_Pragma("GCC diagnostic push") \
|
||||
_Pragma("GCC diagnostic error \"-Wpadded\"")
|
||||
|
||||
#define AZ_ASSERT_NO_ALIGNMENT_PADDING_END \
|
||||
_Pragma("GCC diagnostic pop")
|
||||
|
||||
#else
|
||||
#define AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
#define AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
#endif
|
||||
|
||||
@@ -67,8 +67,6 @@ namespace AZ
|
||||
|
||||
BufferBindFlags GetBufferBindFlags(ScopeAttachmentUsage usage, ScopeAttachmentAccess access);
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
/**
|
||||
* A buffer corresponds to a region of linear memory and used for rendering operations.
|
||||
* Its lifecycle is managed by buffer pools.
|
||||
@@ -103,8 +101,6 @@ namespace AZ
|
||||
/// The mask of queue classes supporting shared access of this resource.
|
||||
HardwareQueueClassMask m_sharedQueueMask = HardwareQueueClassMask::All;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -19,8 +19,6 @@ namespace AZ
|
||||
|
||||
namespace RHI
|
||||
{
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
//! Buffer views describe how to interpret a region of memory in a buffer.
|
||||
struct BufferViewDescriptor
|
||||
{
|
||||
@@ -85,7 +83,5 @@ namespace AZ
|
||||
// manual alignment padding
|
||||
char m_pad0 = 0, m_pad1 = 0, m_pad2 = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,6 @@ namespace AZ
|
||||
{
|
||||
ImageBindFlags GetImageBindFlags(ScopeAttachmentUsage usage, ScopeAttachmentAccess access);
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
/**
|
||||
* Images are comprised of sub-resources corresponding to the number of mip-mip levels
|
||||
* and array slices. Image data is stored as pixels in opaque swizzled formats. Images
|
||||
@@ -111,8 +109,6 @@ namespace AZ
|
||||
uint32_t m_isCubemap = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
/// Returns whether mip 'A' is more detailed than mip 'B'.
|
||||
inline bool IsMipMoreDetailedThan(uint32_t mipA, uint32_t mipB)
|
||||
{
|
||||
|
||||
@@ -20,8 +20,6 @@ namespace AZ
|
||||
|
||||
namespace RHI
|
||||
{
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
/**
|
||||
* Image views map to a range of mips / array slices in an image.
|
||||
*/
|
||||
@@ -124,7 +122,5 @@ namespace AZ
|
||||
/// This is needed because a texture array can have 1 layer only.
|
||||
uint32_t m_isArray = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,8 +42,6 @@ namespace AZ
|
||||
|
||||
AZ_DEFINE_ENUM_BITWISE_OPERATORS(AZ::RHI::IndirectCommandTiers);
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
//! Arguments when setting an indirect Vertex Buffer View command.
|
||||
struct IndirectBufferViewArguments
|
||||
{
|
||||
@@ -84,8 +82,6 @@ namespace AZ
|
||||
IndirectBufferViewArguments m_vertexBufferArgs;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
AZ_FORCE_INLINE bool operator==(const IndirectCommandDescriptor& lhs, const IndirectCommandDescriptor& rhs)
|
||||
{
|
||||
return
|
||||
|
||||
@@ -19,8 +19,6 @@ namespace AZ
|
||||
|
||||
namespace RHI
|
||||
{
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
// Defines a custom sample position when doing Multisample rendering.
|
||||
// Sample positions have the origin(0, 0) at the pixel top left.
|
||||
// Each of the X and Y coordinates are unsigned values in the range 0 (top / left) to Limits::Pipeline::MultiSampleCustomLocationGridSize - 1 (bottom / right).
|
||||
@@ -56,7 +54,5 @@ namespace AZ
|
||||
uint16_t m_samples = 1;
|
||||
uint16_t m_quality = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ namespace AZ
|
||||
{
|
||||
namespace RHI
|
||||
{
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
struct ResourceBindingInfo
|
||||
{
|
||||
AZ_TYPE_INFO(ResourceBindingInfo, "{2B25FA97-21C2-4567-8F01-6A64F7B9DFF6}");
|
||||
@@ -45,7 +44,6 @@ namespace AZ
|
||||
/// Register id of a resource.
|
||||
Register m_registerId = InvalidRegister;
|
||||
};
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
/**
|
||||
* This class describes binding information about the Shader Resource Group
|
||||
|
||||
@@ -23,7 +23,6 @@ namespace AZ
|
||||
{
|
||||
static const uint32_t InvalidRenderAttachmentIndex = Limits::Pipeline::RenderAttachmentCountMax;
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
//! Describes one render attachment that is part of a layout.
|
||||
struct RenderAttachmentDescriptor
|
||||
{
|
||||
@@ -91,7 +90,6 @@ namespace AZ
|
||||
//! List with the layout of each subpass.
|
||||
AZStd::array<SubpassRenderAttachmentLayout, Limits::Pipeline::SubpassCountMax> m_subpassLayouts;
|
||||
};
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
//! Describes the layout of a collection of subpasses and it defines which of the subpasses this
|
||||
//! configuration will be using.
|
||||
|
||||
@@ -82,8 +82,6 @@ namespace AZ
|
||||
|
||||
void ReflectRenderStateEnums(ReflectContext* context);
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
struct RasterState
|
||||
{
|
||||
AZ_TYPE_INFO(RasterState, "{57D4BE50-EBE2-4ABE-90A4-C99BF2EA43FB}");
|
||||
@@ -216,8 +214,6 @@ namespace AZ
|
||||
static constexpr int32_t RenderStates_InvalidInt = std::numeric_limits<int32_t>::max();
|
||||
static constexpr float RenderStates_InvalidFloat = std::numeric_limits<float>::max();
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
//! Merges any render states in stateToMerge into the result state object.
|
||||
//! The values in stateToMerge are only copied over into the result if they are
|
||||
//! not invalid (see also GetInvalidState below).
|
||||
|
||||
@@ -70,8 +70,6 @@ namespace AZ
|
||||
|
||||
void ReflectSamplerStateEnums(ReflectContext* context);
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
class SamplerState
|
||||
{
|
||||
public:
|
||||
@@ -107,8 +105,6 @@ namespace AZ
|
||||
float m_mipLodBias = 0.0f;
|
||||
BorderColor m_borderColor = BorderColor::TransparentBlack;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
|
||||
AZ_TYPE_INFO_SPECIALIZE(RHI::FilterMode, "{CFAE2156-0293-4D71-87D5-68F5C9F98884}");
|
||||
|
||||
@@ -24,8 +24,6 @@ namespace AZ
|
||||
|
||||
uint32_t GetIndexFormatSize(IndexFormat indexFormat);
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
class IndexBufferView
|
||||
{
|
||||
public:
|
||||
@@ -61,7 +59,5 @@ namespace AZ
|
||||
// Padding the size so it's 8 bytes aligned
|
||||
uint32_t m_pad = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,6 @@ namespace AZ
|
||||
class Buffer;
|
||||
class IndirectBufferSignature;
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
//! Provides a view into a buffer, to be used as an indirect buffer. The content of the view is a contiguous
|
||||
//! list of commands sequences. It is provided to the RHI back-end at draw time.
|
||||
class IndirectBufferView
|
||||
@@ -62,7 +60,5 @@ namespace AZ
|
||||
// Padding the size so it's 8 bytes aligned
|
||||
uint32_t m_pad = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,6 @@ namespace AZ
|
||||
class Buffer;
|
||||
class InputStreamLayout;
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
/**
|
||||
* Provides a view into a buffer, to be used as vertex stream. The content of the view is a contiguous
|
||||
* list of input vertex data. It is provided to the RHI back-end at draw time.
|
||||
@@ -68,8 +66,6 @@ namespace AZ
|
||||
uint32_t m_pad = 0;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
/// Utility function for checking that the set of StreamBufferViews aligns with the InputStreamLayout
|
||||
bool ValidateStreamBufferViews(const InputStreamLayout& inputStreamLayout, AZStd::array_view<StreamBufferView> streamBufferViews);
|
||||
}
|
||||
|
||||
@@ -58,7 +58,6 @@ namespace AZ
|
||||
RHI::Origin m_offset;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
struct BarrierInfo
|
||||
{
|
||||
VkPipelineStageFlags m_srcStageMask = {};
|
||||
@@ -67,7 +66,6 @@ namespace AZ
|
||||
|
||||
bool operator==(const BarrierInfo& other) { return ::memcmp(this, &other, sizeof(BarrierInfo)) == 0; }
|
||||
};
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
void EmmitBarriers(CommandList& commandList, const AZStd::vector<BarrierInfo>& barriers) const;
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ namespace AZ
|
||||
class SwapChain;
|
||||
class Fence;
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
struct QueueId
|
||||
{
|
||||
uint32_t m_familyIndex = 0;
|
||||
@@ -32,7 +31,6 @@ namespace AZ
|
||||
bool operator==(const QueueId& other) const { return ::memcmp(this, &other, sizeof(other)) == 0; }
|
||||
bool operator!=(const QueueId& other) const { return !(*this == other); }
|
||||
};
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
class Queue final
|
||||
: public RHI::DeviceObject
|
||||
|
||||
@@ -38,8 +38,6 @@ namespace AZ
|
||||
~RenderPass() = default;
|
||||
static RHI::Ptr<RenderPass> Create();
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_BEGIN
|
||||
|
||||
enum class AttachmentType : uint32_t
|
||||
{
|
||||
Color, // Color render target attachment
|
||||
@@ -98,8 +96,6 @@ namespace AZ
|
||||
SubpassAttachment m_depthStencilAttachment;
|
||||
};
|
||||
|
||||
AZ_ASSERT_NO_ALIGNMENT_PADDING_END
|
||||
|
||||
struct Descriptor
|
||||
{
|
||||
size_t GetHash() const;
|
||||
|
||||
@@ -98,15 +98,14 @@ namespace EMotionFX
|
||||
* Please keep in mind that the rotation is stored as non-delta value, while the position and scale are
|
||||
* stored as delta values.
|
||||
*/
|
||||
struct EMFX_API MCORE_ALIGN_PRE(16) Transformation
|
||||
struct EMFX_API alignas(16) Transformation
|
||||
{
|
||||
AZ::Quaternion m_rotation; /**< The rotation as absolute value. So not a delta value, but a target (absolute) rotation. */
|
||||
AZ::Quaternion m_scaleRotation; /**< The scale rotation, as absolute value. */
|
||||
AZ::Vector3 m_position; /**< The position as a delta, so the difference between the original and target position. */
|
||||
AZ::Vector3 m_scale; /**< The scale as a delta, so the difference between the original and target scale. */
|
||||
size_t m_nodeIndex; /**< The node number to apply this on. */
|
||||
}
|
||||
MCORE_ALIGN_POST(16);
|
||||
};
|
||||
|
||||
/**
|
||||
* The constructor.
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace EMotionFX
|
||||
enum EMotionExtractionFlags : uint8;
|
||||
|
||||
|
||||
class EMFX_API MCORE_ALIGN_PRE(16) Transform
|
||||
class EMFX_API alignas(16) Transform
|
||||
{
|
||||
MCORE_MEMORYOBJECTCATEGORY(Transform, MCore::MCORE_SIMD_ALIGNMENT, EMFX_MEMCATEGORY_TRANSFORM);
|
||||
|
||||
@@ -142,6 +142,5 @@ namespace EMotionFX
|
||||
#ifndef EMFX_SCALE_DISABLED
|
||||
AZ::Vector3 m_scale; /**< The scale. */
|
||||
#endif
|
||||
}
|
||||
MCORE_ALIGN_POST(16);
|
||||
};
|
||||
} // namespace EMotionFX
|
||||
|
||||
@@ -217,22 +217,6 @@ typedef uintptr_t uintPointer;
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
// alignment macro
|
||||
#if (MCORE_COMPILER == MCORE_COMPILER_MSVC || MCORE_COMPILER == MCORE_COMPILER_INTELC)
|
||||
#define MCORE_ALIGN(NUMBYTES, X) __declspec(align(NUMBYTES)) X
|
||||
#define MCORE_ALIGN_PRE(NUMBYTES) __declspec(align(NUMBYTES))
|
||||
#define MCORE_ALIGN_POST(NUMBYTES)
|
||||
#elif (MCORE_COMPILER == MCORE_COMPILER_GCC)
|
||||
#define MCORE_ALIGN(NUMBYTES, X) X __attribute__((aligned(NUMBYTES)))
|
||||
#define MCORE_ALIGN_PRE(NUMBYTES)
|
||||
#define MCORE_ALIGN_POST(NUMBYTES) __attribute__((aligned(NUMBYTES)))
|
||||
#else
|
||||
#define MCORE_ALIGN(NUMBYTES, X) X
|
||||
#define MCORE_ALIGN_PRE(NUMBYTES)
|
||||
#define MCORE_ALIGN_POST(NUMBYTES)
|
||||
#endif
|
||||
|
||||
|
||||
// detect and enable OpenMP support
|
||||
#if defined(_OPENMP)
|
||||
#define MCORE_OPENMP_ENABLED
|
||||
|
||||
@@ -69,8 +69,7 @@ namespace MCore
|
||||
* [Tx Ty Tz 1] // translation <br>
|
||||
*
|
||||
*/
|
||||
MCORE_ALIGN_PRE(16)
|
||||
class MCORE_API Matrix
|
||||
class MCORE_API alignas(16) Matrix
|
||||
{
|
||||
public:
|
||||
/**
|
||||
@@ -910,7 +909,7 @@ namespace MCore
|
||||
float m_m16[16]; // 16 floats as 1D array
|
||||
float m44[4][4]; // as 2D array
|
||||
};
|
||||
} MCORE_ALIGN_POST(16);
|
||||
};
|
||||
|
||||
|
||||
// include inline code
|
||||
|
||||
@@ -268,7 +268,7 @@ namespace ScriptCanvas
|
||||
|
||||
AZ_INLINE BehaviorContextObject* BehaviorContextObject::CreateDefaultBuffer(const AZ::BehaviorClass& behaviorClass)
|
||||
{
|
||||
AZ_ALIGN(char buffer[AZStd::Internal::ANY_SBO_BUF_SIZE], 32);
|
||||
alignas(32) char buffer[AZStd::Internal::ANY_SBO_BUF_SIZE];
|
||||
AZ::BehaviorObject object = InvokeConstructor(behaviorClass, AZStd::addressof(buffer));
|
||||
auto bco = aznew BehaviorContextObject(object.m_address, GetAnyTypeInfoObject(behaviorClass), Owned);
|
||||
behaviorClass.m_destructor(object.m_address, behaviorClass.m_userData);
|
||||
|
||||
Reference in New Issue
Block a user