From 863edae3283d92ba94a4b68c673ad3bff458b6dd Mon Sep 17 00:00:00 2001 From: Mary Date: Tue, 17 Nov 2020 22:40:19 +0100 Subject: shader cache: Fix Linux boot issues (#1709) * shader cache: Fix Linux boot issues This rollback the init logic back to previous state, and replicate the way PTC handle initialization. * shader cache: set default state of ready for translation event to false * Fix cpu unit tests --- ARMeilleure/Translation/Translator.cs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ARMeilleure') diff --git a/ARMeilleure/Translation/Translator.cs b/ARMeilleure/Translation/Translator.cs index 0c9d6842..80f7b962 100644 --- a/ARMeilleure/Translation/Translator.cs +++ b/ARMeilleure/Translation/Translator.cs @@ -31,6 +31,9 @@ namespace ARMeilleure.Translation private volatile int _threadCount; + // FIXME: Remove this once the init logic of the emulator will be redone + public static ManualResetEvent IsReadyForTranslation = new ManualResetEvent(false); + public Translator(IJitMemoryAllocator allocator, IMemoryManager memory) { _memory = memory; @@ -83,6 +86,8 @@ namespace ARMeilleure.Translation { if (Interlocked.Increment(ref _threadCount) == 1) { + IsReadyForTranslation.WaitOne(); + if (Ptc.State == PtcState.Enabled) { Ptc.MakeAndSaveTranslations(_funcs, _memory, _jumpTable); -- cgit v1.2.3