diff --git a/compat/adreno-recover-table.h b/compat/adreno-recover-table.h index 1e49a3b..c81c32f 100644 --- a/compat/adreno-recover-table.h +++ b/compat/adreno-recover-table.h @@ -14,7 +14,7 @@ */ #pragma once #include -#define ADRENO_RECOVER_TABLE_INPUTS "a16gpu_stage3.py:47df054f6fd6d59b3c14be384f8ec79433bc83d3a26ecb0abaee39ca50bf2e50 adreno_x2.py:4f3cb92f67a81f693d17e298c70b3e55690c9ba48c3b9a379d8127a44f39094f" +#define ADRENO_RECOVER_TABLE_INPUTS "a16gpu_stage3.py:0afd4df74509735e46003e5ac251fc2e42d41df57b5192d7abb2ff4258cd0041 adreno_x2.py:b3ee82f1f1dfcda4f2efafc4cd3facfd4c56b0e0275295142a93a5d8976d0caf adreno_x2_protect.py:d35d3cdf24340fd18fc7c6f1806664cd13726ec6795626f27b15ce93aa9d3cfb" #define ADRENO_RECOVER_TABLE_CP_FENCE_OPTIONS "" #define ADRENO_RECOVER_TABLE_PROTECT_GLOBAL 52u #define ADRENO_RT_WRITE 0u diff --git a/tools/gen-adreno-recover-table.py b/tools/gen-adreno-recover-table.py index c7693ab..a728646 100755 --- a/tools/gen-adreno-recover-table.py +++ b/tools/gen-adreno-recover-table.py @@ -137,7 +137,11 @@ def generate(tools, x290): S3.pipe_write(s, R.PIPE_BR, 'RB_GC_GMEM_PROTECT', gmem_protect) S3.aperture_clear(s) secvid = list(s.ops) - sources = [tools / 'a16gpu_stage3.py', tools / 'adreno_x2.py'] + ([tools / 'a16gpu_x290.py'] if x290 else []) + # adreno_x2.py loads X285_NONCTXT (hw_init's non-context writes, among them RB_GC_GMEM_PROTECT) from + # adreno_x2_protect.py since q1n1 split its GPL-2.0-only tables out; a q1n1 from before the split has none. + protect = [tools / 'adreno_x2_protect.py'] if (tools / 'adreno_x2_protect.py').exists() else [] + sources = [tools / 'a16gpu_stage3.py', tools / 'adreno_x2.py', *protect] + sources += [tools / 'a16gpu_x290.py'] if x290 else [] inputs = ' '.join(f'{p.name}:{hashlib.sha256(p.read_bytes()).hexdigest()}' for p in sources) return hw, sqe, me_init, secvid, s.skipped, inputs