Remove the broken GPU reset sequence which is never executed
This commit is contained in:
parent
604b1f4b43
commit
2707bfad93
@ -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)
|
||||
|
||||
|
@ -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<gpuResetSequenceLength;i++)GPUCMD_AddSingleParam(gpuResetSequence[i*2],gpuResetSequence[i*2+1]);
|
||||
|
||||
GPUCMD_Finalize();
|
||||
//GPUCMD_Run(gpuBuf);
|
||||
GPUCMD_SetBufferOffset(0);
|
||||
}
|
||||
|
||||
void GPU_SetFloatUniform(GPU_SHADER_TYPE type, u32 startreg, u32* data, u32 numreg)
|
||||
|
@ -1,172 +0,0 @@
|
||||
#include <3ds/types.h>
|
||||
|
||||
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;
|
Loading…
Reference in New Issue
Block a user