Files
dolphin/Source/Core/VideoCommon/VideoCommon.h
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
1.6 KiB
C++
Raw Normal View History

// Copyright 2008 Dolphin Emulator Project
2015-05-18 01:08:10 +02:00
// Licensed under GPLv2+
// Refer to the license.txt file included.
#pragma once
2014-09-07 20:06:58 -05:00
#include "Common/CommonTypes.h"
// These are accurate (disregarding AA modes).
2019-04-28 11:39:59 +02:00
constexpr u32 EFB_WIDTH = 640;
constexpr u32 EFB_HEIGHT = 528;
2015-07-25 01:46:41 +08:00
// Max XFB width is 720. You can only copy out 640 wide areas of efb to XFB
// so you need multiple copies to do the full width.
// The VI can do horizontal scaling (TODO: emulate).
2019-04-28 11:39:59 +02:00
constexpr u32 MAX_XFB_WIDTH = 720;
2016-11-10 00:41:16 +00:00
// Although EFB height is 528, 576-line XFB's can be created either with
// vertical scaling by the EFB copy operation or copying to multiple XFB's
// that are next to each other in memory (TODO: handle that situation).
2019-04-28 11:39:59 +02:00
constexpr u32 MAX_XFB_HEIGHT = 576;
2020-11-13 22:33:26 -05:00
#define PRIM_LOG(...) DEBUG_LOG_FMT(VIDEO, ##__VA_ARGS__)
2013-02-21 11:45:29 +01:00
// warning: mapping buffer should be disabled to use this
2020-11-13 22:33:26 -05:00
// #define LOG_VTX() DEBUG_LOG_FMT(VIDEO, "vtx: {} {} {}, ",
// ((float*)g_vertex_manager_write_ptr)[-3],
// ((float*)g_vertex_manager_write_ptr)[-2],
// ((float*)g_vertex_manager_write_ptr)[-1]);
#define LOG_VTX()
2016-07-21 19:04:57 -04:00
enum class APIType
2010-06-14 14:36:01 +00:00
{
2016-07-21 19:04:57 -04:00
OpenGL,
D3D,
2016-08-13 00:55:00 +10:00
Vulkan,
2016-07-21 19:04:57 -04:00
Nothing
};
2010-06-14 14:36:01 +00:00
2010-12-27 03:09:11 +00:00
inline u32 RGBA8ToRGBA6ToRGBA8(u32 src)
{
u32 color = src;
color &= 0xFCFCFCFC;
color |= (color >> 6) & 0x03030303;
return color;
}
inline u32 RGBA8ToRGB565ToRGBA8(u32 src)
2010-12-27 03:09:11 +00:00
{
u32 color = (src & 0xF8FCF8);
color |= (color >> 5) & 0x070007;
color |= (color >> 6) & 0x000300;
color |= 0xFF000000;
2010-12-27 03:09:11 +00:00
return color;
}
inline u32 Z24ToZ16ToZ24(u32 src)
{
return (src & 0xFFFF00) | (src >> 16);
}