sharpemu/tests/SharpEmu.ShaderCompiler.Tests
kuba 7ab6de1b93
[GPU] Cut per-draw command-worker cost in resource materialization and pixel input setup (#1039)
* [ShaderCompiler] Materialize directly for plans whose cached inputs never repeat

The materialization cache records every guest word a draw reads and keys
the result on the draw's user data. Most Silent Hill draws point their
user data at per-draw constants, so only 8% of lookups hit and every miss
still paid for recording the reads and storing an entry. A plan now
counts its lookups and hits; after 64 lookups with fewer than one hit in
eight it walks its resources directly and probes the cache again on every
64th draw. On the SH title menu the command worker's busy time per draw
fell from ~125 to ~111 us (cache hit rate of the remaining lookups 70%).

* [GPU] Scan a pixel program's interpolated attributes once per decoded program

Every draw scanned all instructions of its pixel program twice, once
through a LINQ chain with Distinct/Order/ToArray, to count interpolated
attributes and the vertex outputs they read. The sorted attribute set
is a property of the decoded program, so it is computed once and kept
beside it. Pixel input resolution on the SH menu dropped from ~14 us to
a few us per draw.
2026-10-07 10:48:57 +02:00
..
Resources [GPU] Cut per-draw command-worker cost in resource materialization and pixel input setup (#1039) 2026-10-07 10:48:57 +02:00
Gen5AlternateBufferEntryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5AlternateImageEntryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5CodeEndTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
Gen5DataShareRead64Tests.cs Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
Gen5DataShareSwizzleTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5DataShareThreadReadTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5DataShareThreadWriteTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5DataShareWrite64Tests.cs Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
Gen5ExecFullAnalysisTests.cs Unity fixes 1016p1 (#1043) 2026-10-06 18:43:21 +03:00
Gen5FlatMemoryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5Float16ArithmeticTests.cs Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Gen5ImageTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
Gen5Int16AluTests.cs Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Gen5InterpolationParameterTests.cs [SpirvTranslator] Shader fixes (#1019) 2026-10-04 01:17:02 +03:00
Gen5MoveRelativeOffsetsTests.cs Astrobot / Demon's soul performance improvement (#955) 2026-09-30 18:14:21 +03:00
Gen5MultiplyHighTests.cs Des dcc fixes (#1000) 2026-10-01 21:15:55 +03:00
Gen5PixelInputMappingTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5PixelOutputMappingTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5ScalarAbsoluteTests.cs Fix/gen5 shader resource handling (GTA 5) (#1015) 2026-10-03 04:00:32 +03:00
Gen5ScalarAddImmediateTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
Gen5ScalarArithmeticShift64Tests.cs test(shader): cover SAshrI64 translation (#914) 2026-09-28 02:59:51 +03:00
Gen5ScalarBitClearTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5ScalarLaneTransferTests.cs [SpirvTranslator] Shader fixes (#1019) 2026-10-04 01:17:02 +03:00
Gen5ShaderTrapTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5SharedMemoryBarrierTests.cs Des dcc fixes (#1000) 2026-10-01 21:15:55 +03:00
Gen5SignedMultiply24Tests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5SignedPack16Tests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5StructuredLoopTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
Gen5ThreeInputXorTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5TypedBufferLoadDecodeTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5UnsignedPack16Tests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gen5VopcF16Tests.cs Fix for DS,Little Nightmares, Little Nightmares III and Astro Bot shader (#913) 2026-09-27 20:43:07 +03:00
Gen5Wave64HalfMaskAnalysisTests.cs Des dcc fixes (#1000) 2026-10-01 21:15:55 +03:00
Gen5XorAddTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Gfx10UnifiedFormatTests.cs Astrobot / Demon's soul performance improvement (#955) 2026-09-30 18:14:21 +03:00
IrControlFlowTests.cs Shader cfg ssa (#707) 2026-07-31 01:43:28 +03:00
RuntimeValueValidatorTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
SharpEmu.ShaderCompiler.Tests.csproj Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00