From 2707bfad93144494dfc51356b24b67c04de589ce Mon Sep 17 00:00:00 2001 From: fincs Date: Sat, 5 Sep 2015 21:31:16 +0200 Subject: [PATCH] Remove the broken GPU reset sequence which is never executed --- libctru/Makefile | 2 +- libctru/source/gpu/gpu-old.c | 118 ------------------ libctru/source/gpu/gpuResetSequence.c | 172 -------------------------- 3 files changed, 1 insertion(+), 291 deletions(-) delete mode 100644 libctru/source/gpu/gpuResetSequence.c diff --git a/libctru/Makefile b/libctru/Makefile index f1284f5..090e762 100644 --- a/libctru/Makefile +++ b/libctru/Makefile @@ -42,7 +42,7 @@ INCLUDES := include ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard CFLAGS := -g -Wall -Werror -O2 -mword-relocations \ - -fno-strict-aliasing \ + -ffunction-sections -fno-strict-aliasing \ -fomit-frame-pointer -ffast-math \ $(ARCH) diff --git a/libctru/source/gpu/gpu-old.c b/libctru/source/gpu/gpu-old.c index 6547850..daee5f0 100644 --- a/libctru/source/gpu/gpu-old.c +++ b/libctru/source/gpu/gpu-old.c @@ -19,127 +19,9 @@ void GPU_Init(Handle *gsphandle) gpuCmdBufOffset=0; } - -extern u32 gpuResetSequence[]; -extern u32 gpuResetSequenceLength; - void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize) { - int i; - static u32 param[0x80]; - static u32 zero[0x80]; - memset(zero, 0x00, 0x80*4); - GPUCMD_SetBuffer(gpuBuf, gpuBufSize, 0); - - GPUCMD_AddMaskedWrite(GPUREG_TEXUNITS_CONFIG, 0xD, 0x00011000); - - for(i=0x1;i<0xC;i++)GPUCMD_AddWrite(GPUREG_TEXUNITS_CONFIG+i, 0x00000000); - GPUCMD_AddWrite(GPUREG_008C, 0x00FF0000); - GPUCMD_AddWrite(GPUREG_008D, 0x00000000); - GPUCMD_AddWrite(GPUREG_TEXUNIT0_TYPE, 0x00000000); - - for(i=0x0;i<0xF;i++)GPUCMD_AddWrite(GPUREG_0090+i, 0x00000000); - - GPUCMD_AddMaskedWrite(GPUREG_0245, 0x1, 0x00000001); - GPUCMD_AddMaskedWrite(GPUREG_0244, 0x1, 0x00000000); - GPUCMD_AddMaskedWrite(GPUREG_GSH_INPUTBUFFER_CONFIG, 0x8, 0x80000000); - GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 0xB, 0x00000000); - - GPUCMD_AddWrite(GPUREG_0252, 0x00000000); - GPUCMD_AddWrite(GPUREG_0251, 0x00000000); - GPUCMD_AddWrite(GPUREG_0254, 0x00000000); - GPUCMD_AddMaskedWrite(GPUREG_0253, 0x1, 0x00000000); - - GPUCMD_AddWrite(GPUREG_0242, 0x00000000); - GPUCMD_AddWrite(GPUREG_024A, 0x00000000); - - GPUCMD_AddMaskedWrite(GPUREG_PRIMITIVE_CONFIG, 0x5, 0x00000000); - - GPUCMD_AddIncrementalWrites(GPUREG_BLEND_CONFIG, zero, 0x00000007); - - GPUCMD_AddWrite(GPUREG_011F, 0x00010140); - GPUCMD_AddWrite(GPUREG_COLOROUTPUT_CONFIG, 0x00E40100); - GPUCMD_AddWrite(GPUREG_BLEND_CONFIG, 0x01010000); - GPUCMD_AddWrite(GPUREG_DEPTHTEST_CONFIG, 0x00001F40); - GPUCMD_AddWrite(GPUREG_STENCILTEST_CONFIG, 0xFF00FF10); - - GPUCMD_AddMaskedWrite(GPUREG_0061, 0x1, 0x00000003); - GPUCMD_AddMaskedWrite(GPUREG_0062, 0x1, 0x00000000); - - GPUCMD_AddWrite(GPUREG_SCISSORTEST_MODE, 0x00000000); - GPUCMD_AddWrite(GPUREG_SCISSORTEST_POS, 0x00000000); - GPUCMD_AddWrite(GPUREG_SCISSORTEST_DIM, 0x00000000); - - GPUCMD_AddMaskedWrite(GPUREG_0118, 0x1, 0x00000000); - GPUCMD_AddWrite(GPUREG_011B, 0x00000000); - - GPUCMD_AddMaskedWrite(GPUREG_006A, 0x7, 0x00FFFFFF); - - GPUCMD_AddWrite(GPUREG_COLORLOGICOP_CONFIG, 0x00000003); - - GPUCMD_AddMaskedWrite(GPUREG_0126, 0x8, 0x03000000); - - GPUCMD_AddIncrementalWrites(GPUREG_FACECULLING_CONFIG, zero, 0x00000010); - - param[0x0]=0x1F1F1F1F; - param[0x1]=0x1F1F1F1F; - param[0x2]=0x1F1F1F1F; - param[0x3]=0x1F1F1F1F; - param[0x4]=0x1F1F1F1F; - param[0x5]=0x1F1F1F1F; - param[0x6]=0x1F1F1F1F; - GPUCMD_AddIncrementalWrites(GPUREG_SH_OUTMAP_O0, param, 0x00000007); - - GPUCMD_AddWrite(GPUREG_0058, 0x00000100); - GPUCMD_AddWrite(GPUREG_004C, 0x00000001); - GPUCMD_AddWrite(GPUREG_006F, 0x00000000); - - GPUCMD_AddMaskedWrite(GPUREG_0060, 0x2, 0x00000000); - GPUCMD_AddMaskedWrite(GPUREG_0069, 0xC, 0x00020000); - - GPUCMD_AddWrite(GPUREG_0113, 0x0000000F); - GPUCMD_AddWrite(GPUREG_0112, 0x0000000F); - GPUCMD_AddWrite(GPUREG_0114, 0x00000003); - GPUCMD_AddWrite(GPUREG_0115, 0x00000003); - - GPUCMD_AddWrite(GPUREG_01C5, 0x00000000); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_01C5, 0x00000100); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_01C5, 0x00000200); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_01C5, 0x00000300); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_01C5, 0x00000400); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_01C5, 0x00000500); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_01C5, 0x00000600); - for(i=0;i<32;i++)GPUCMD_AddIncrementalWrites(GPUREG_01C8, zero, 0x00000008); - - GPUCMD_AddWrite(GPUREG_GSH_FLOATUNIFORM_CONFIG, 0x80000000); - for(i=0;i<48;i++)GPUCMD_AddIncrementalWrites(GPUREG_GSH_FLOATUNIFORM_DATA, zero, 0x00000008); - GPUCMD_AddWrite(GPUREG_VSH_CODETRANSFER_CONFIG, 0x00000000); - for(i=0;i<4;i++)GPUCMD_Add(0x000F02CC, zero, 0x00000080); - GPUCMD_AddWrite(GPUREG_GSH_CODETRANSFER_CONFIG, 0x00000200); - - for(i=0;i<28;i++)GPUCMD_Add(0x000F029C, zero, 0x00000080); - GPUCMD_AddWrite(GPUREG_VSH_CODETRANSFER_END, 0x00000000); - - GPUCMD_AddIncrementalWrites(GPUREG_VSH_INTUNIFORM_I0, zero, 4); - - param[0x0]=0xFFFFFFFF; - param[0x1]=0xFFFFFFFF; - GPUCMD_AddIncrementalWrites(GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW, param, 0x00000002); - - GPUCMD_AddIncrementalWrites(GPUREG_ATTRIBBUFFER0_CONFIG2, zero, 0x00000024); - - for(i=0;i - -u32 gpuResetSequence[]= - {0x000F01D4, 0x00000001, - 0x000F00AE, 0xFEFCF8F0, - 0x000F004D, 0x00BF0000, - 0x000F004E, 0x00000000, - 0x000F004F, 0x00000000, - 0x000F0050, 0x1F1F1F1F, - 0x000F0051, 0x1F1F1F1F, - 0x000F0052, 0x1F1F1F1F, - 0x000F0053, 0x1F1F1F1F, - 0x000F0054, 0x1F1F1F1F, - 0x000F0055, 0x1F1F1F1F, - 0x000F0056, 0x1F1F1F1F, - 0x000F0047, 0x00000000, - 0x000F0048, 0x00000000, - 0x000F0049, 0x00000000, - 0x000F004A, 0x00000000, - 0x000F004B, 0x00000000, - 0x000F006D, 0x00000001, - 0x00020080, 0x00001000, - 0x000F008B, 0x00000000, - 0x000F008F, 0x00000000, - 0x000F00A8, 0x00000009, - 0x000F00A9, 0x00000000, - 0x000F00AA, 0x00000000, - 0x000F00AB, 0x00000000, - 0x000F00AC, 0x01C00301, - 0x000F00AD, 0xE0C08000, - 0x000F00C0, 0x0EEE0EEE, - 0x000F00C1, 0x00000000, - 0x000F00C2, 0x00000000, - 0x000F00C3, 0x00000000, - 0x000F00C4, 0x00000000, - 0x000F00C8, 0x0FFF0FFF, - 0x000F00C9, 0x00000000, - 0x000F00CA, 0x00000000, - 0x000F00CB, 0x00000000, - 0x000F00CC, 0x00000000, - 0x000F00D0, 0x0FFF0FFF, - 0x000F00D1, 0x00000000, - 0x000F00D2, 0x00000000, - 0x000F00D3, 0x00000000, - 0x000F00D4, 0x00000000, - 0x000F00D8, 0x0FFF0FFF, - 0x000F00D9, 0x00000000, - 0x000F00DA, 0x00000000, - 0x000F00DB, 0x00000000, - 0x000F00DC, 0x00000000, - 0x000F00F0, 0x0FFF0FFF, - 0x000F00F1, 0x00000000, - 0x000F00F2, 0x00000000, - 0x000F00F3, 0x00000000, - 0x000F00F4, 0x00000000, - 0x000F00F8, 0x0FFF0FFF, - 0x000F00F9, 0x00000000, - 0x000F00FA, 0x00000000, - 0x000F00FB, 0x00000000, - 0x000F00FC, 0x00000000, - 0x000F00E0, 0x00000000, - 0x000F00E1, 0x00000000, - 0x000F00E4, 0x00003C00, - 0x000F00E5, 0x00003C00, - 0x000F00FD, 0x00000000, - 0x000F0120, 0x00000000, - 0x000F0121, 0x00000000, - 0x000F0122, 0x00000100, - 0x00070126, 0x00000A00, - 0x000D0100, 0x00E40100, - 0x000F0104, 0x00000010, - 0x000F0130, 0x00003C00, - 0x000F0140, 0x00000000, - 0x000F0141, 0x00000000, - 0x000F0142, 0x0CC330CC, - 0x000F0143, 0x00000000, - 0x000F0144, 0x00000000, - 0x000F0145, 0x00003C00, - 0x000F0146, 0x00000000, - 0x000F0147, 0x00000800, - 0x000F0149, 0x00000001, - 0x000F014A, 0x00000000, - 0x000F014B, 0x0003F000, - 0x000F0150, 0x00000000, - 0x000F0151, 0x00000000, - 0x000F0152, 0x00000000, - 0x000F0153, 0x00000000, - 0x000F0154, 0x00000000, - 0x000F0155, 0x00003C00, - 0x000F0156, 0x00000000, - 0x000F0157, 0x00000800, - 0x000F0159, 0x00000001, - 0x000F015A, 0x00000000, - 0x000F015B, 0x0003F000, - 0x000F0160, 0x00000000, - 0x000F0161, 0x00000000, - 0x000F0162, 0x00000000, - 0x000F0163, 0x00000000, - 0x000F0164, 0x00000000, - 0x000F0165, 0x00003C00, - 0x000F0166, 0x00000000, - 0x000F0167, 0x00000800, - 0x000F0169, 0x00000001, - 0x000F016A, 0x00000000, - 0x000F016B, 0x0003F000, - 0x000F0170, 0x00000000, - 0x000F0171, 0x00000000, - 0x000F0172, 0x00000000, - 0x000F0173, 0x00000000, - 0x000F0174, 0x00000000, - 0x000F0175, 0x00003C00, - 0x000F0176, 0x00000000, - 0x000F0177, 0x00000800, - 0x000F0179, 0x00000001, - 0x000F017A, 0x00000000, - 0x000F017B, 0x0003F000, - 0x000F0180, 0x00000000, - 0x000F0181, 0x00000000, - 0x000F0182, 0x00000000, - 0x000F0183, 0x00000000, - 0x000F0184, 0x00000000, - 0x000F0185, 0x00003C00, - 0x000F0186, 0x00000000, - 0x000F0187, 0x00000800, - 0x000F0189, 0x00000001, - 0x000F018A, 0x00000000, - 0x000F018B, 0x0003F000, - 0x000F0190, 0x00000000, - 0x000F0191, 0x00000000, - 0x000F0192, 0x00000000, - 0x000F0193, 0x00000000, - 0x000F0194, 0x00000000, - 0x000F0195, 0x00003C00, - 0x000F0196, 0x00000000, - 0x000F0197, 0x00000800, - 0x000F0199, 0x00000001, - 0x000F019A, 0x00000000, - 0x000F019B, 0x0003F000, - 0x000F01A0, 0x00000000, - 0x000F01A1, 0x00000000, - 0x000F01A2, 0x00000000, - 0x000F01A3, 0x00000000, - 0x000F01A4, 0x00000000, - 0x000F01A5, 0x00003C00, - 0x000F01A6, 0x00000000, - 0x000F01A7, 0x00000800, - 0x000F01A9, 0x00000001, - 0x000F01AA, 0x00000000, - 0x000F01AB, 0x0003F000, - 0x000F01B0, 0x00000000, - 0x000F01B1, 0x00000000, - 0x000F01B2, 0x00000000, - 0x000F01B3, 0x00000000, - 0x000F01B4, 0x00000000, - 0x000F01B5, 0x00003C00, - 0x000F01B6, 0x00000000, - 0x000F01B7, 0x00000800, - 0x000F01B9, 0x00000001, - 0x000F01BA, 0x00000000, - 0x000F01BB, 0x0003F000, - 0x000F01C0, 0x00A0280A, - 0x000F01C2, 0x00000000, - 0x000F01C3, 0x88000400, - 0x000F01C4, 0xFFFFFFFF, - 0x000F01C6, 0x00000001, - 0x000F01D0, 0x02222222, - 0x000F01D1, 0x00000000, - 0x000F01D2, 0x00000000, - 0x000F01D9, 0x00000000, - 0x0008025E, 0x00000000}; - -u32 gpuResetSequenceLength=sizeof(gpuResetSequence)/8;