Nintendo OpenGL: Difference between revisions
No edit summary |
|||
Line 106: | Line 106: | ||
1. Choose a "uniform" you want to RE below | 1. Choose a "uniform" you want to RE below | ||
2. Take note of its ID and type ! | 2. Take note of its ID and type ! | ||
3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform | 3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform | ||
4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object | 4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object | ||
5. Go through __shv_validateShaderValidator looking for where those fields written to in shm_uniformfv/shm_uniformiv are used and written to the GPU command buffer either directly or through __cb_writeRegs, __cb_multiWriteReg or __cb_fillRegs. | 5. Go through __shv_validateShaderValidator looking for where those fields written to in shm_uniformfv/shm_uniformiv are used and written to the GPU command buffer either directly or through __cb_writeRegs, __cb_multiWriteReg or __cb_fillRegs. | ||
6. Document findings on 3Dbrew ! (that's the most important step) | 6. Document findings on 3Dbrew ! (that's the most important step) | ||