CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/GPU/Debugger/RecordFormat.h
Views: 1401
// Copyright (c) 2017- PPSSPP Project.12// This program is free software: you can redistribute it and/or modify3// it under the terms of the GNU General Public License as published by4// the Free Software Foundation, version 2.0 or later versions.56// This program is distributed in the hope that it will be useful,7// but WITHOUT ANY WARRANTY; without even the implied warranty of8// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the9// GNU General Public License 2.0 for more details.1011// A copy of the GPL 2.0 should have been included with the program.12// If not, see http://www.gnu.org/licenses/1314// Official git repository and contact information can be found at15// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.1617#pragma once1819#include "Common/CommonTypes.h"2021namespace GPURecord {2223struct Header {24char magic[8];25uint32_t version;26char gameID[9];27uint8_t pad[3];28};2930static const char * const HEADER_MAGIC = "PPSSPPGE";31// Version 1: Uncompressed32// Version 2: Uses snappy33// Version 3: Adds FRAMEBUF0-FRAMEBUF934// Version 4: Expanded header with game ID35// Version 5: Uses zstd36// Version 6: Corrects dirty VRAM flag37static const int VERSION = 6;38static const int MIN_VERSION = 2;3940enum class CommandType : u8 {41INIT = 0,42REGISTERS = 1,43VERTICES = 2,44INDICES = 3,45CLUT = 4,46TRANSFERSRC = 5,47MEMSET = 6,48MEMCPYDEST = 7,49MEMCPYDATA = 8,50DISPLAY = 9,51CLUTADDR = 10,52EDRAMTRANS = 11,5354TEXTURE0 = 0x10,55TEXTURE1 = 0x11,56TEXTURE2 = 0x12,57TEXTURE3 = 0x13,58TEXTURE4 = 0x14,59TEXTURE5 = 0x15,60TEXTURE6 = 0x16,61TEXTURE7 = 0x17,6263FRAMEBUF0 = 0x18,64FRAMEBUF1 = 0x19,65FRAMEBUF2 = 0x1A,66FRAMEBUF3 = 0x1B,67FRAMEBUF4 = 0x1C,68FRAMEBUF5 = 0x1D,69FRAMEBUF6 = 0x1E,70FRAMEBUF7 = 0x1F,71};7273#pragma pack(push, 1)7475struct Command {76CommandType type;77u32 sz;78u32 ptr;79};8081#pragma pack(pop)8283};848586