From 7b227186403d7cc8e12fb1d2c36db336de9fe57a Mon Sep 17 00:00:00 2001 From: Hermite Date: Wed, 12 Feb 2025 13:32:16 +0100 Subject: [PATCH] =?UTF-8?q?Created=20III.=20Guide=20of=EF=BC=9CCritical?= =?UTF-8?q?=EF=BC=9Elog=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- III.-Guide-of<Critical>log.md | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 III.-Guide-of<Critical>log.md diff --git a/III.-Guide-of<Critical>log.md b/III.-Guide-of<Critical>log.md new file mode 100644 index 0000000..fcb5f0a --- /dev/null +++ b/III.-Guide-of<Critical>log.md @@ -0,0 +1,54 @@ +## Explanation of <Critical> ? +A**<Critical>**error in shadPS4 is a major failure that prevents a game from running. These errors happen when shadPS4 cannot properly emulate essential game functions, causing crashes or freezes. Until the issue is fixed, the game cannot be launched or played. + +*** + +## Assertion Failed (AF) - Detailed Explanation +An **Assertion Failed (AF)** occurs when the program encounters an unexpected situation that violates an internal assumption. Assertions are used in the code to check for conditions that should always be true. When an assertion fails, it indicates that something went wrong, and the emulator cannot proceed further due to the violation of expected behavior. + +This can happen in various parts of the emulator, such as memory handling, GPU operations, or shader processing. For example, if the emulator tries to access invalid memory or encounters a corrupted data structure, the assertion will fail, causing an error. These issues are often platform-specific and depend on the underlying hardware and software assumptions that the emulator relies on. + +| Label | Description | Number of issues | +|-----------------------------------|-------------------------------------------------------------------------------------------------|-----------------| +| **AF:address_space** | These are usually platform-specific memory issues. | | +| **AF:ajm_at9** | Atrac9 audio decoding failed in libSceAjm. | | +| **AF:decode** | Issues related to decoding process. | | +| **AF:emit_spirv_context_get_set** | Issues related to emitting SPIR-V context get/set operations. | | +| **AF:equeue** | A critical error occurred in our libkernel event queues emulation. | | +| **AF:gnmdriver** | A critical error occurred in libSceGnmDriver. | | +| **AF:image** | Image-related issues or errors. | | +| **AF:memory** | A critical error occurred in our libkernel memory emulation. | | +| **AF:page_manager** | A critical error occurred in our GPU memory handling. | | +| **AF:resource_tracking_pass** | Issues related to resource tracking pass. | | +| **AF:semaphore** | A critical error occurred in our pthread semaphore emulation. | | +| **AF:structured_control_flow** | A game is using unimplemented shader opcodes. | | +| **AF:texture_cache** | Issues with texture cache handling. | | +| **AF:tile_manager** | Problems related to tile manager. | | +| **AF:tls** | A critical error occurred while preparing thread-local storage. | | +| **AF:vector_alu** | Issues related to vector ALU operations. | | +| **AF:vector_memory** | A critical error occurred in our emulation of buffer and image shader opcodes. | | +| **AF:video_out** | A critical error occurred in our libSceVideoOut emulation. | | +| **AF:vk_compute_pipeline** | Issues with the Vulkan compute pipeline. | | +| **AF:vk_graphics_pipeline** | A critical error occurred while trying to render graphics. These are usually GPU vendor-specific. | | +| **AF:vk_presenter** | Issues related to Vulkan presenter. | | +| **AF:vk_rasterizer** | A critical error occurred while trying to render graphics. These are usually GPU vendor-specific. | | +| **AF:vk_scheduler** | A critical error occurred in the user's GPU driver. These are usually GPU vendor-specific. | | + +*** + + +## Unreachable Code (UC) - Detailed Explanation +An **Unreachable Code (UC)** error occurs when the program encounters a piece of code that cannot be executed under any circumstance. This might be caused by logic flaws in the emulator or issues in the code that prevent certain sections from being reached, like incorrect branching or missing implementation for a specific scenario. Unreachable code in an emulator often indicates incomplete emulation or a misinterpretation of the PS4’s architecture. + +In the context of emulators, unreachable code errors can occur when a game makes a request or call that isn't yet supported by the emulator, or the code path has never been properly implemented. It’s typically a result of the emulator not recognizing or handling certain game instructions properly, which leads to code paths being skipped over entirely. + +| Label | Description | Number of issues | +|-------------------------------|-------------------------------------------------------------------|-----------------| +| **UC:ajm_instance** | A critical error occurred in our libSceAjm implementation. This is usually an unimplemented codec. | | +| **UC:exception** | The game threw an exception, usually as a result of internal error. | | +| **UC:image_info** | Issues with image information | | +| **UC:liverpool_to_vk** | A critical error occurred while translating PS4 GPU behaviors to Vulkan. | | +| **UC:liverpool** | A critical error occurred while reading PM4 packets sent by the game. | | +| **UC:scalar_memory** | A game is using unimplemented behavior in our S_LOAD_DWORD shader opcode emulation. | | +| **UC:signals** | Some form of critical exception occurred. | | +| **UC:translate** | Issues related to translation | | \ No newline at end of file