aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/surface.h
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-05-18 23:54:07 +0200
committercrueter <crueter@eden-emu.dev>2026-05-18 23:54:07 +0200
commit4eb082485d4d2cf96ee1debf14d1f6c5dd8ee80c (patch)
treede858ae5026eb688f732a5ecd99f488b75458fec /src/video_core/surface.h
parent74558545289ea47e77f1364728cdd2371c7429cb (diff)
[video_core] fix odr violation in formatter for pixelFormat (#3504)
Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3504 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'src/video_core/surface.h')
-rw-r--r--src/video_core/surface.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/video_core/surface.h b/src/video_core/surface.h
index c659a977c1..5611dbdffa 100644
--- a/src/video_core/surface.h
+++ b/src/video_core/surface.h
@@ -5,6 +5,8 @@
#pragma once
+#undef PIXEL_FORMAT_LIST
+
#include <climits>
#include <utility>
#include "common/assert.h"
@@ -128,7 +130,7 @@ namespace VideoCore::Surface {
PIXEL_FORMAT_ELEM(S8_UINT_D24_UNORM, 1, 1, 32) \
PIXEL_FORMAT_ELEM(D32_FLOAT_S8_UINT, 1, 1, 64)
-enum class PixelFormat {
+enum class PixelFormat : u32 {
#define PIXEL_FORMAT_ELEM(name, ...) name,
PIXEL_FORMAT_LIST
#undef PIXEL_FORMAT_ELEM
@@ -192,6 +194,13 @@ constexpr u32 BytesPerBlock(PixelFormat pixel_format) {
return BitsPerBlock(pixel_format) / CHAR_BIT;
}
+}
+
+#include "video_core/gpu.h"
+#include "video_core/textures/texture.h"
+
+namespace VideoCore::Surface {
+
SurfaceTarget SurfaceTargetFromTextureType(Tegra::Texture::TextureType texture_type);
bool SurfaceTargetIsLayered(SurfaceTarget target);
bool SurfaceTargetIsArray(SurfaceTarget target);