maxwell_3d: Add padding words to XFB entries

Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size
requirement.
This commit is contained in:
ReinUsesLisp 2020-03-11 01:08:28 -03:00
parent 4bc4851d45
commit afebdda203
1 changed files with 4 additions and 2 deletions

View File

@ -628,12 +628,13 @@ public:
float depth_range_far; float depth_range_far;
}; };
struct alignas(32) TransformFeedbackBinding { struct TransformFeedbackBinding {
u32 buffer_enable; u32 buffer_enable;
u32 address_high; u32 address_high;
u32 address_low; u32 address_low;
s32 buffer_size; s32 buffer_size;
s32 buffer_offset; s32 buffer_offset;
INSERT_UNION_PADDING_WORDS(3);
GPUVAddr Address() const { GPUVAddr Address() const {
return static_cast<GPUVAddr>((static_cast<GPUVAddr>(address_high) << 32) | return static_cast<GPUVAddr>((static_cast<GPUVAddr>(address_high) << 32) |
@ -642,10 +643,11 @@ public:
}; };
static_assert(sizeof(TransformFeedbackBinding) == 32); static_assert(sizeof(TransformFeedbackBinding) == 32);
struct alignas(16) TransformFeedbackLayout { struct TransformFeedbackLayout {
u32 stream; u32 stream;
u32 varying_count; u32 varying_count;
u32 stride; u32 stride;
INSERT_UNION_PADDING_WORDS(1);
}; };
static_assert(sizeof(TransformFeedbackLayout) == 16); static_assert(sizeof(TransformFeedbackLayout) == 16);