Changes

5 bytes added ,  20:33, 10 November 2014
m
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)
  
373

edits