-#############################################################################
+##########################################################################
#
-# 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):
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)
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;
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();