1. 12 May, 2011 1 commit
    • Cache result of D3DPERF_GetStatus. · 73bec982
      apatrick@chromium.org authored
      I profiled the WebGL acquarium with AMD CodeAnalyst and it turns out this function got a lot of hits. Top 10 before change:
      
      CS:EIP     	Symbol + Offset                                                              	64-bit 	Timer samples 	
      0x62a87260 	CBatchFilterI::ProcessBatch                                                  	       	13.41         	
      0x62a171f1 	D3DPERF_GetStatus                                                            	       	6.04          	
      0x629ce831 	CD3DBase::SetVertexShaderConstantF_FP                                        	       	5.12          	
      0x62a88bea 	CBatchFilterI::GetBatchBufferPointer<_LH_SETPIXELSHADERCONSTIMM_TOKEN_SMALL> 	       	4.61          	
      0x6298060b 	UpdateViewportCache                                                          	       	4.2           	
      0x6298da3a 	CD3DBase::UpdateTextures                                                     	       	3.58          	
      0x6298db6b 	CD3DDDIDX10::SetTexture                                                      	       	2.76          	
      0x6298df1d 	CD3DDDIDX10::InsertStreamSource                                              	       	2.46          	
      0x629d1c1a 	CD3DBase::SetPixelShaderConstantF_FP                                         	       	2.25          	
      0x6297efc4 	CD3DHal::SetSamplerState_FP                                                  	       	2.05          	
      
      10 functions, 186 instructions, Total: 454 samples, 46.47% of shown samples, 2.51% of total session samples
      
      
      And after:
      
      CS:EIP     	Symbol + Offset                                                              	64-bit 	Timer samples 	
      0x69317260 	CBatchFilterI::ProcessBatch                                                  	       	13.87         	
      0x69318bea 	CBatchFilterI::GetBatchBufferPointer<_LH_SETPIXELSHADERCONSTIMM_TOKEN_SMALL> 	       	5.84          	
      0x6921060b 	UpdateViewportCache                                                          	       	5.29          	
      0x6925e831 	CD3DBase::SetVertexShaderConstantF_FP                                        	       	4.93          	
      0x6921da3a 	CD3DBase::UpdateTextures                                                     	       	4.38          	
      0x6921e034 	CD3DBase::SetStreamSource_FP                                                 	       	3.65          	
      0x69261c1a 	CD3DBase::SetPixelShaderConstantF_FP                                         	       	3.65          	
      0x69227651 	CD3DBase::DrawIndexedPrimitive                                               	       	2.74          	
      0x6920efc4 	CD3DHal::SetSamplerState_FP                                                  	       	2.37          	
      0x6925e9f7 	CD3DBase::SetVertexShaderConstantIntF                                        	       	2.37          	
      
      10 functions, 152 instructions, Total: 269 samples, 49.09% of shown samples, 0.80% of total session samples
      
      
      UpdateViewportCache looks like it might be low hanging fruit as well.
      Review URL: http://codereview.appspot.com/4535049
      
      git-svn-id: https://angleproject.googlecode.com/svn/trunk@648 736b8ea6-26fd-11df-bfd4-992fa37f6226
  2. 11 May, 2011 14 commits
  3. 05 May, 2011 2 commits
  4. 03 May, 2011 1 commit
  5. 30 Apr, 2011 1 commit
  6. 29 Apr, 2011 2 commits
  7. 28 Apr, 2011 4 commits
  8. 26 Apr, 2011 1 commit
  9. 23 Apr, 2011 1 commit
    • Implement shader identifier name mapping. · fd747b86
      zmo@google.com authored
      The name mapping happens when an identifier is longer than 32 characters.  The name mapping is behind a flag, so it won't happen by default.  Also, functions to query the mapped names are added.
      
      The purpose of this CL is for the drivers that can't handle long names.  For example, linux NVIDIA driver can't handle 256 character name, whereas WebGL spec requires that.
      
      This CL also fixes the issue that some of the TIntermSymbols' ids are 0s.
      
      ANGLEBUG=144
      TEST=test manually with shaders with long identifier names.
      Review URL: http://codereview.appspot.com/4428058
      
      git-svn-id: https://angleproject.googlecode.com/svn/trunk@619 736b8ea6-26fd-11df-bfd4-992fa37f6226
  10. 22 Apr, 2011 3 commits
  11. 14 Apr, 2011 1 commit
  12. 13 Apr, 2011 3 commits
  13. 06 Apr, 2011 2 commits
  14. 04 Apr, 2011 2 commits
  15. 30 Mar, 2011 1 commit
  16. 29 Mar, 2011 1 commit