]> git.cworth.org Git - apitrace/blobdiff - d3dshader.py
Use call number instead of frame number for snapshot filenames.
[apitrace] / d3dshader.py
index 30a6519c2e5deb90ef0e69a0b0ca472892f6d631..24372e2aa9c46fc31a9850f0c471a4a83bb1ca67 100644 (file)
@@ -1,24 +1,30 @@
-#############################################################################
+##########################################################################
 #
-# Copyright 2009 VMware, Inc.
+# Copyright 2008-2009 VMware, Inc.
+# All Rights Reserved.
 #
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published
-# by the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License for more details.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
 #
-# You should have received a copy of the GNU Lesser General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
 #
-#############################################################################
+##########################################################################/
 
 
-from base import Type
+from stdapi import Type
 
 
 class D3DShader(Type):
@@ -37,10 +43,10 @@ class D3DShader(Type):
         print '''
 typedef HRESULT 
 (WINAPI *PD3DXDISASSEMBLESHADER)(
-   CONST DWORD *pShader,
-   BOOL EnableColorCode,
-   LPCSTR pComments,
-   LPD3DXBUFFER *ppDisassembly
+    CONST DWORD *pShader,
+    BOOL EnableColorCode,
+    LPCSTR pComments,
+    LPD3DXBUFFER *ppDisassembly
 );
         '''
         print 'void Dump%s(const DWORD *tokens)' % (self.id)
@@ -52,13 +58,13 @@ typedef HRESULT
     if(firsttime) {
         if(!hD3DXModule) {
             unsigned release;
-            unsigned version;
+            int version;
             for(release = 0; release <= 1; ++release) {
                 /* Version 41 corresponds to Mar 2009 version of DirectX Runtime / SDK */ 
-                for(version = 41; version >= 24; --version) {
+                for(version = 41; version >= 0; --version) {
                     char filename[256];
                     _snprintf(filename, sizeof(filename), 
-                              "d3dx9%s_%u.dll", release ? "" : "d", version);
+                              "d3dx9%s%s%u.dll", release ? "" : "d", version ? "_" : "", version);
                     hD3DXModule = LoadLibraryA(filename);
                     if(hD3DXModule)
                         goto found;
@@ -79,7 +85,7 @@ found:
         LPD3DXBUFFER pDisassembly = NULL;
    
         if (pfnD3DXDisassembleShader( (DWORD *)tokens, FALSE, NULL, &pDisassembly) == D3D_OK)
-            Log::DumpString((char *)pDisassembly->GetBufferPointer());
+            Trace::LiteralString((char *)pDisassembly->GetBufferPointer());
 
         if(pDisassembly)
             pDisassembly->Release();