mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-08-03 11:23:49 +00:00
21 lines
865 B
C++
21 lines
865 B
C++
#ifndef EMULATOR_INCLUDE_EMULATOR_GRAPHICS_SHADER_RECOMPILER_READLANEELIMINATION_H_
|
|
#define EMULATOR_INCLUDE_EMULATOR_GRAPHICS_SHADER_RECOMPILER_READLANEELIMINATION_H_
|
|
|
|
#include "graphics/shader/recompiler/ir/ShaderIR.h"
|
|
|
|
namespace Libs::Graphics::ShaderRecompiler::IR {
|
|
|
|
struct ReadLaneEliminationStats {
|
|
uint32_t rewritten_reads = 0;
|
|
uint32_t shadow_writes = 0;
|
|
};
|
|
|
|
// Replaces fixed-lane ReadLane operations that are reached by a matching WriteLane on every
|
|
// control-flow path. A synthetic scalar register snapshots the value at WriteLane execution time,
|
|
// so the rewrite remains valid when the source SGPR is subsequently overwritten.
|
|
[[nodiscard]] ReadLaneEliminationStats EliminateReadLane(Program& program);
|
|
|
|
} // namespace Libs::Graphics::ShaderRecompiler::IR
|
|
|
|
#endif /* EMULATOR_INCLUDE_EMULATOR_GRAPHICS_SHADER_RECOMPILER_READLANEELIMINATION_H_ */
|