sharpemu/tests/SharpEmu.Libs.Tests/Agc
Slick Daddy 105c58b380
[Tests] Isolate Gen5 scalar fallback test from parallel static mutation (#488)
ScalarLoadReadsTrackedFallbackMemory swaps the process-global static
Gen5ShaderScalarEvaluator.FallbackMemoryReader under a lock private to the
test class. The SharpEmu.Libs [ModuleInitializer] (AgcShaderCompilerHooks)
assigns the same static to TryReadShaderGuestMemory the first time any Libs
type is touched, and it does not take that lock. Under xUnit's default
cross-class parallelism a concurrent Libs test could fire the initializer
mid-test, clobbering the swapped-in reader — observed on CI (linux-x64) as
the fallback returning all zeros: Expected [1181044592, 4, 1319632096, 4],
Actual [0, 0, 0, 0].

Put the test in a DisableParallelization collection, matching the existing
convention for shared-mutable-static tests (KernelMemoryCompatState,
AjmState, AvPlayerPathState). The collection runs alone in the non-parallel
phase, so no other test can mutate the static while this one holds it.

Co-authored-by: slick-daddy <slick-daddy@users.noreply.github.com>
2026-07-21 12:59:03 +03:00
..
AgcEventQueueTests.cs [HLE] Fix POSIX condition variable semantics (#113) (#223) 2026-07-16 00:24:05 +03:00
Gen5FmaMixSpirvTests.cs Shader: lower VOP3P V_FMA_MIX_F32/LO/HI (was dropping Unity HDR shaders) (#466) 2026-07-20 14:37:40 +03:00
Gen5ScalarMemoryFallbackTests.cs [Tests] Isolate Gen5 scalar fallback test from parallel static mutation (#488) 2026-07-21 12:59:03 +03:00
Gen5ShaderAtomicDecodeTests.cs [AGC] Implement RDNA2 buffer/image/DS 32-bit atomic instructions (#222) 2026-07-16 17:28:39 +03:00
Gen5ShaderDecoderBoundaryTests.cs test: cover Gen5 decoder fail-closed boundaries (#336) 2026-07-17 18:45:26 +03:00
Gen5ShaderProgramTests.cs perf(shader): cache pixel export masks (#288) 2026-07-17 04:17:39 +03:00
Gen5SpirvAtomicTranslationTests.cs [AGC] Implement RDNA2 buffer/image/DS 32-bit atomic instructions (#222) 2026-07-16 17:28:39 +03:00
Gen5VertexInputSpirvTests.cs [ShaderCompiler/Vulkan] Match vertex input numeric types (#351) 2026-07-18 03:01:01 +03:00
Gen5WaveMaskSpirvTests.cs Shader: test a wave mask consumed as a per-lane predicate at the lane bit (#465) 2026-07-20 14:18:20 +03:00
GnmTilingDetileTests.cs [Gpu] Factor the exact-XOR swizzle equation in the texture detiler (#483) 2026-07-21 12:57:39 +03:00