summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
index 2ad752c07..232b0e310 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
+++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
@@ -45,11 +45,19 @@ private:
struct ZBCColorEntry {
u32 color_ds[4];
+#ifdef _MSC_VER
+ };
+#else
} __attribute__((packed));
+#endif
struct ZBCDepthEntry {
u32 depth[4];
+#ifdef _MSC_VER
+ };
+#else
} __attribute__((packed));
+#endif
std::array<ZBCColorEntry, MaxZBCTableSize> zbc_color_table{};
std::array<ZBCDepthEntry, MaxZBCTableSize> zbc_depth_table{};
@@ -139,6 +147,7 @@ private:
static_assert(sizeof(IoctlNvgpuGpuZcullGetInfoArgs) == 40,
"IoctlNvgpuGpuZcullGetInfoArgs is incorrect size");
+#ifdef _MSC_VER
#pragma pack(push, 1)
struct IoctlZbcSetTable {
u32 color_ds_table_index;
@@ -147,8 +156,18 @@ private:
u32 color_ds[4]; // 16 bytes
u32 color_l2[4]; // 16 bytes
u32 depth; // 4 bytes
- } __attribute__((packed)); // Use GCC's packed attribute
+ };
#pragma pack(pop)
+#else
+ struct IoctlZbcSetTable {
+ u32 color_ds_table_index;
+ u32 format;
+ u32 mode;
+ u32 color_ds[4]; // 16 bytes
+ u32 color_l2[4]; // 16 bytes
+ u32 depth; // 4 bytes
+ } __attribute__((packed));
+#endif
static_assert(sizeof(IoctlZbcSetTable) == 48, "IoctlZbcSetTable is incorrect size");