PS5 graphics (#42)

This commit is contained in:
InoriRus
2022-08-16 13:38:38 +03:00
parent e110bd0f63
commit 90acd3d364
46 changed files with 12642 additions and 3962 deletions
@@ -13,7 +13,7 @@ namespace Kyty::Libs::Graphics {
class StorageTextureObject: public GpuObject
{
public:
static constexpr int PARAM_DFMT_NFMT = 0;
static constexpr int PARAM_FORMAT = 0;
static constexpr int PARAM_PITCH = 1;
static constexpr int PARAM_WIDTH_HEIGHT = 2;
static constexpr int PARAM_LEVELS = 3;
@@ -21,10 +21,10 @@ public:
static constexpr int PARAM_NEO = 5;
static constexpr int PARAM_SWIZZLE = 6;
StorageTextureObject(uint32_t dfmt, uint32_t nfmt, uint32_t width, uint32_t height, uint32_t pitch, uint32_t base_level,
StorageTextureObject(uint8_t dfmt, uint8_t nfmt, uint16_t fmt, uint32_t width, uint32_t height, uint32_t pitch, uint32_t base_level,
uint32_t levels, uint32_t tile, bool neo, uint32_t swizzle)
{
params[PARAM_DFMT_NFMT] = (static_cast<uint64_t>(dfmt) << 32u) | nfmt;
params[PARAM_FORMAT] = (static_cast<uint64_t>(fmt) << 16u) | (static_cast<uint64_t>(dfmt) << 8u) | nfmt;
params[PARAM_PITCH] = pitch;
params[PARAM_WIDTH_HEIGHT] = (static_cast<uint64_t>(width) << 32u) | height;
params[PARAM_LEVELS] = (static_cast<uint64_t>(base_level) << 32u) | levels;
@@ -13,7 +13,7 @@ namespace Kyty::Libs::Graphics {
class TextureObject: public GpuObject
{
public:
static constexpr int PARAM_DFMT_NFMT = 0;
static constexpr int PARAM_FORMAT = 0;
static constexpr int PARAM_PITCH = 1;
static constexpr int PARAM_WIDTH_HEIGHT = 2;
static constexpr int PARAM_LEVELS = 3;
@@ -21,10 +21,10 @@ public:
static constexpr int PARAM_NEO = 5;
static constexpr int PARAM_SWIZZLE = 6;
TextureObject(uint32_t dfmt, uint32_t nfmt, uint32_t width, uint32_t height, uint32_t pitch, uint32_t base_level, uint32_t levels,
uint32_t tile, bool neo, uint32_t swizzle)
TextureObject(uint8_t dfmt, uint8_t nfmt, uint16_t fmt, uint32_t width, uint32_t height, uint32_t pitch, uint32_t base_level,
uint32_t levels, uint32_t tile, bool neo, uint32_t swizzle)
{
params[PARAM_DFMT_NFMT] = (static_cast<uint64_t>(dfmt) << 32u) | nfmt;
params[PARAM_FORMAT] = (static_cast<uint64_t>(fmt) << 16u) | (static_cast<uint64_t>(dfmt) << 8u) | nfmt;
params[PARAM_PITCH] = pitch;
params[PARAM_WIDTH_HEIGHT] = (static_cast<uint64_t>(width) << 32u) | height;
params[PARAM_LEVELS] = (static_cast<uint64_t>(base_level) << 32u) | levels;