mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-09-05 04:04:51 +02:00
* shader_recompiler: Split resource tracking into 2 parts and flatten load from buffer if used as sharp source clang-format fix inmediate sample raw defer sharp not found asserts flip asserts disable aniso pattern fix disable aniso some fixes non immediate fix PushPtr fix PushPtr for non immediate don't assert on offset computation failures robust bfs some xbyak fixes add bitwise ops umin umax and bit extract correct rshift lshift 0st immediate fix and in memory some minor code fixes consider ReadConstBuffer as valid finding fix xbyak fix magic_enum for opcodes fix building (yes, i didn't test) don't corrupt stack when bailing out ReadConstBuffer compute offset use canonical inst for readconst non-imm offset mark all readconstbuffer sharp dwords consider r128 images FindSharpLocation handle non-imm offset readconstbuffer don't handle immediates when constant folding proper check for ReadConst to get flatbuf offset clang-format fix stupidity invert condition separate search dominant function handle phis loke other insts in gvn use same logic for phis in gvn than for flatten pass apparently idk how logic works revert back to old logic min/max immediate in constant folding add offset insts to gvn inst to hash args assert that ReadConstsBuffer insts have usage as buffer sharp separate dominance search from bfs chang gvn phi handling remove unused includes fix reuse readconst transform add address * shader_recompiler: Move readconst address add simplification to flatten pass * shader_recompiler: Remove unnecessary phi handling Now sharp tracking should be much simpler since its on the unstructured control flow graph * shader_recompiler: Only enable DMA if some ReadConst could not be flattened * shader_recompiler: Improve phi eliminaton of readlane elimination with worklist * shader_recompiler: Cascade flattening failure in ReadConst tree, bind null sharp when source could not be flattened * shader_recompiler: Further improve robustness of tracking - Track all dwords of T# with SSA - Ensure sharp dwords are sequential in flatbuf memory - Substitue null descriptors on tracking failures * shader_recompiler: Add new sharp fetching object * shader_recompiler: Add new sampler pattern * shader_recompiler: Add texture cube to 2d array pattern * control_flow_graph: Remove unreachable blocks Fix bloodborne * shader_recompiler: Add yet another sampler pattern * shader_recompiler: Add sampler aniso pattern * flatten_extended_userdata: Only search through allowed instructions * some fixes * :kek: * tests: Fix tests compile --------- Co-authored-by: raphaelthegreat <geoster3d@gmail.com>