\r
int i;\r
\r
+ // configure geostage\r
+ // has to be done first or else VSH registers might only reconfigure 3 of the 4 shader units !\r
+ if(!sp->geometryShader)\r
+ {\r
+ GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 0x1, 0x00000000);\r
+ GPUCMD_AddMaskedWrite(GPUREG_0244, 0x1, 0x00000000);\r
+ }else{\r
+ GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 0x1, 0x00000002);\r
+ GPUCMD_AddMaskedWrite(GPUREG_0244, 0x1, 0x00000001);\r
+ }\r
+\r
// setup vertex shader stuff no matter what\r
const DVLE_s* vshDvle = sp->vertexShader->dvle;\r
const DVLP_s* vshDvlp = vshDvle->dvlp;\r
// finish setting up vertex shader alone\r
GPU_SetShaderOutmap((u32*)vshDvle->outmapData);\r
\r
- GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 0x1, 0x00000000);\r
- GPUCMD_AddMaskedWrite(GPUREG_0244, 0x1, 0x00000000);\r
-\r
GPUCMD_AddWrite(GPUREG_0064, 0x00000001); // ?\r
GPUCMD_AddWrite(GPUREG_006F, 0x00000703); // ?\r
}else{\r
GPUCMD_AddWrite(GPUREG_GSH_INPUTBUFFER_CONFIG, 0x08000000|(sp->geometryShaderInputStride-1));\r
GPUCMD_AddIncrementalWrites(GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW, ((u32[]){0x76543210, 0xFEDCBA98}), 2);\r
\r
- GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 0x1, 0x00000002);\r
- GPUCMD_AddMaskedWrite(GPUREG_0244, 0x1, 0x00000001);\r
-\r
GPUCMD_AddWrite(GPUREG_0064, 0x00000001); // ?\r
GPUCMD_AddWrite(GPUREG_006F, 0x01030703); // ?\r
}\r