예제 #1
0
 public static extern int D3D10DisassembleShader(
     IntPtr pShader,
     ulong BytecodeLength,
     int EnableColorCode,
     [MarshalAs(UnmanagedType.LPStr)] string pComments,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppDisassembly
     );
예제 #2
0
 public static extern int D3DDisassemble(
     IntPtr pSrcData,
     ulong SrcDataSize,
     uint Flags,
     [MarshalAs(UnmanagedType.LPStr)] string szComments,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppDisassembly
     );
예제 #3
0
 public static extern int D3DGetBlobPart(
     IntPtr pSrcData,
     ulong SrcDataSize,
     D3D_BLOB_PART Part,
     uint Flags,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppPart
     );
예제 #4
0
 public static extern int D3D10PreprocessShader(
     [MarshalAs(UnmanagedType.LPStr)] string pSrcData,
     ulong SrcDataSize,
     [MarshalAs(UnmanagedType.LPStr)] string pFileName,
     ref _D3D_SHADER_MACRO pDefines,
     IntPtr pInclude,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppShaderText,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppErrorMsgs
     );
예제 #5
0
 public static extern int D3DDecompressShaders(
     IntPtr pSrcData,
     ulong SrcDataSize,
     uint uNumShaders,
     uint uStartIndex,
     out uint pIndices,
     uint uFlags,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppShaders,
     out uint pTotalShaders
     );
예제 #6
0
 public static extern int D3DDisassembleRegion(
     IntPtr pSrcData,
     ulong SrcDataSize,
     uint Flags,
     [MarshalAs(UnmanagedType.LPStr)] string szComments,
     ulong StartByteOffset,
     ulong NumInsts,
     out ulong pFinishByteOffset,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppDisassembly
     );
예제 #7
0
 public static extern int D3DCompileFromFile(
     ref ushort pFileName,
     ref _D3D_SHADER_MACRO pDefines,
     IntPtr pInclude,
     [MarshalAs(UnmanagedType.LPStr)] string pEntrypoint,
     [MarshalAs(UnmanagedType.LPStr)] string pTarget,
     uint Flags1,
     uint Flags2,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppCode,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppErrorMsgs
     );
예제 #8
0
 public static extern int D3D10CompileShader(
     [MarshalAs(UnmanagedType.LPStr)] string pSrcData,
     ulong SrcDataSize,
     [MarshalAs(UnmanagedType.LPStr)] string pFileName,
     ref _D3D_SHADER_MACRO pDefines,
     IntPtr pInclude,
     [MarshalAs(UnmanagedType.LPStr)] string pFunctionName,
     [MarshalAs(UnmanagedType.LPStr)] string pProfile,
     uint Flags,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppShader,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppErrorMsgs
     );
예제 #9
0
        public virtual int GetCachedBlob(
            out ID3D10Blob ppBlob
            )
        {
            var fp = GetFunctionPointer(8);

            if (m_GetCachedBlobFunc == null)
            {
                m_GetCachedBlobFunc = (GetCachedBlobFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(GetCachedBlobFunc));
            }
            ppBlob = new ID3D10Blob();
            return(m_GetCachedBlobFunc(m_ptr, out ppBlob.PtrForNew));
        }
예제 #10
0
        public virtual int GetLastError(
            out ID3D10Blob ppErrorBuffer
            )
        {
            var fp = GetFunctionPointer(9);

            if (m_GetLastErrorFunc == null)
            {
                m_GetLastErrorFunc = (GetLastErrorFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(GetLastErrorFunc));
            }
            ppErrorBuffer = new ID3D10Blob();
            return(m_GetLastErrorFunc(m_ptr, out ppErrorBuffer.PtrForNew));
        }
예제 #11
0
        public virtual int CreateModuleInstance(
            out ID3D11ModuleInstance ppModuleInstance,
            out ID3D10Blob ppErrorBuffer
            )
        {
            var fp = GetFunctionPointer(3);

            if (m_CreateModuleInstanceFunc == null)
            {
                m_CreateModuleInstanceFunc = (CreateModuleInstanceFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateModuleInstanceFunc));
            }
            ppModuleInstance = new ID3D11ModuleInstance(); ppErrorBuffer = new ID3D10Blob();
            return(m_CreateModuleInstanceFunc(m_ptr, out ppModuleInstance.PtrForNew, out ppErrorBuffer.PtrForNew));
        }
예제 #12
0
        public virtual int GenerateHlsl(
            uint uFlags,
            out ID3D10Blob ppBuffer
            )
        {
            var fp = GetFunctionPointer(10);

            if (m_GenerateHlslFunc == null)
            {
                m_GenerateHlslFunc = (GenerateHlslFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(GenerateHlslFunc));
            }
            ppBuffer = new ID3D10Blob();
            return(m_GenerateHlslFunc(m_ptr, uFlags, out ppBuffer.PtrForNew));
        }
예제 #13
0
 public static extern int D3DCompile2(
     IntPtr pSrcData,
     ulong SrcDataSize,
     [MarshalAs(UnmanagedType.LPStr)] string pSourceName,
     ref _D3D_SHADER_MACRO pDefines,
     IntPtr pInclude,
     [MarshalAs(UnmanagedType.LPStr)] string pEntrypoint,
     [MarshalAs(UnmanagedType.LPStr)] string pTarget,
     uint Flags1,
     uint Flags2,
     uint SecondaryDataFlags,
     IntPtr pSecondaryData,
     ulong SecondaryDataSize,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppCode,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppErrorMsgs
     );
예제 #14
0
        public virtual int Link(
            ID3D11ModuleInstance pEntry,
            string pEntryName,
            string pTargetName,
            uint uFlags,
            out ID3D10Blob ppShaderBlob,
            out ID3D10Blob ppErrorBuffer
            )
        {
            var fp = GetFunctionPointer(3);

            if (m_LinkFunc == null)
            {
                m_LinkFunc = (LinkFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(LinkFunc));
            }
            ppShaderBlob = new ID3D10Blob(); ppErrorBuffer = new ID3D10Blob();
            return(m_LinkFunc(m_ptr, pEntry != null ? pEntry.Ptr : IntPtr.Zero, pEntryName, pTargetName, uFlags, out ppShaderBlob.PtrForNew, out ppErrorBuffer.PtrForNew));
        }
예제 #15
0
 public static extern int D3DDisassemble10Effect(
     ID3D10Effect pEffect,
     uint Flags,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppDisassembly
     );
예제 #16
0
 public static extern int D3DGetInputAndOutputSignatureBlob(
     IntPtr pSrcData,
     ulong SrcDataSize,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppSignatureBlob
     );
예제 #17
0
 public static extern int D3DGetDebugInfo(
     IntPtr pSrcData,
     ulong SrcDataSize,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppDebugInfo
     );
예제 #18
0
 public static extern int D3D10GetInputAndOutputSignatureBlob(
     IntPtr pShaderBytecode,
     ulong BytecodeLength,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppSignatureBlob
     );
예제 #19
0
 public static extern int D3D10GetShaderDebugInfo(
     IntPtr pShaderBytecode,
     ulong BytecodeLength,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppDebugInfo
     );
예제 #20
0
 public static extern int D3DStripShader(
     IntPtr pShaderBytecode,
     ulong BytecodeLength,
     uint uStripFlags,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppStrippedBlob
     );
예제 #21
0
 public static extern int D3DCreateBlob(
     ulong Size,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppBlob
     );
예제 #22
0
 public static extern int D3DCompressShaders(
     uint uNumShaders,
     out _D3D_SHADER_DATA pShaderData,
     uint uFlags,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppCompressedData
     );
예제 #23
0
 public static extern int D3DReadFileToBlob(
     ref ushort pFileName,
     [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CustomMarshaler <ID3D10Blob>))] out ID3D10Blob ppContents
     );
예제 #24
0
 public static extern int D3DWriteBlobToFile(
     ID3D10Blob pBlob,
     ref ushort pFileName,
     int bOverwrite
     );