summaryrefslogtreecommitdiff
path: root/src/gpu/texture_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/texture_manager.cc')
-rw-r--r--src/gpu/texture_manager.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/gpu/texture_manager.cc b/src/gpu/texture_manager.cc
index e69425f..0c30c94 100644
--- a/src/gpu/texture_manager.cc
+++ b/src/gpu/texture_manager.cc
@@ -2,10 +2,19 @@
// It implements the TextureManager.
#include "gpu/texture_manager.h"
-#include "platform/platform.h" // Include for WGPU_TEX_COPY_INFO and WGPU_TEX_DATA_LAYOUT
#include <cstdio>
#include <vector>
+#if defined(DEMO_CROSS_COMPILE_WIN32)
+// Old API
+#define WGPU_TEX_COPY_INFO WGPUImageCopyTexture
+#define WGPU_TEX_DATA_LAYOUT WGPUTextureDataLayout
+#else
+// New API
+#define WGPU_TEX_COPY_INFO WGPUTexelCopyTextureInfo
+#define WGPU_TEX_DATA_LAYOUT WGPUTexelCopyBufferLayout
+#endif
+
void TextureManager::init(WGPUDevice device, WGPUQueue queue) {
device_ = device;
queue_ = queue;
@@ -51,7 +60,11 @@ void TextureManager::create_texture(const std::string& name, int width,
tex_desc.format = WGPUTextureFormat_RGBA8Unorm;
tex_desc.mipLevelCount = 1;
tex_desc.sampleCount = 1;
- tex_desc.label = label_view(name.c_str());
+#if defined(DEMO_CROSS_COMPILE_WIN32)
+ tex_desc.label = nullptr;
+#else
+ tex_desc.label = {nullptr, 0};
+#endif
WGPUTexture texture = wgpuDeviceCreateTexture(device_, &tex_desc);