Example #1
0
        public virtual int CreateClassLinkage(
            out ID3D11ClassLinkage ppLinkage
            )
        {
            var fp = GetFunctionPointer(19);

            if (m_CreateClassLinkageFunc == null)
            {
                m_CreateClassLinkageFunc = (CreateClassLinkageFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateClassLinkageFunc));
            }
            ppLinkage = new ID3D11ClassLinkage();
            return(m_CreateClassLinkageFunc(m_ptr, out ppLinkage.PtrForNew));
        }
Example #2
0
        public virtual int CreateComputeShader(
            IntPtr pShaderBytecode,
            ulong BytecodeLength,
            ID3D11ClassLinkage pClassLinkage,
            out ID3D11ComputeShader ppComputeShader
            )
        {
            var fp = GetFunctionPointer(18);

            if (m_CreateComputeShaderFunc == null)
            {
                m_CreateComputeShaderFunc = (CreateComputeShaderFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateComputeShaderFunc));
            }
            ppComputeShader = new ID3D11ComputeShader();
            return(m_CreateComputeShaderFunc(m_ptr, pShaderBytecode, BytecodeLength, pClassLinkage != null ? pClassLinkage.Ptr : IntPtr.Zero, out ppComputeShader.PtrForNew));
        }
Example #3
0
        public virtual int CreateGeometryShaderWithStreamOutput(
            IntPtr pShaderBytecode,
            ulong BytecodeLength,
            ref D3D11_SO_DECLARATION_ENTRY pSODeclaration,
            uint NumEntries,
            ref uint pBufferStrides,
            uint NumStrides,
            uint RasterizedStream,
            ID3D11ClassLinkage pClassLinkage,
            out ID3D11GeometryShader ppGeometryShader
            )
        {
            var fp = GetFunctionPointer(14);

            if (m_CreateGeometryShaderWithStreamOutputFunc == null)
            {
                m_CreateGeometryShaderWithStreamOutputFunc = (CreateGeometryShaderWithStreamOutputFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateGeometryShaderWithStreamOutputFunc));
            }
            ppGeometryShader = new ID3D11GeometryShader();
            return(m_CreateGeometryShaderWithStreamOutputFunc(m_ptr, pShaderBytecode, BytecodeLength, ref pSODeclaration, NumEntries, ref pBufferStrides, NumStrides, RasterizedStream, pClassLinkage != null ? pClassLinkage.Ptr : IntPtr.Zero, out ppGeometryShader.PtrForNew));
        }