Ejemplo n.º 1
0
RosCompiler* RosCompilerCreate(D3D10_SB_TOKENIZED_PROGRAM_TYPE ProgramType,
                               UINT *pCode,
                               UINT numInputSignatureEntries,
                               D3D11_1DDIARG_SIGNATURE_ENTRY *pInputSignatureEntries,
                               UINT numOutputSignatureEntries,
                               D3D11_1DDIARG_SIGNATURE_ENTRY *pOutputSignatureEntries,
                               UINT numPatchConstantSignatureEntries,
                               D3D11_1DDIARG_SIGNATURE_ENTRY *pPatchConstantSignatureEntries)
{
    RosCompiler *pCompiler = new RosCompiler(
        ProgramType,
        pCode,
        numInputSignatureEntries,
        pInputSignatureEntries,
        numOutputSignatureEntries,
        pOutputSignatureEntries,
        numPatchConstantSignatureEntries,
        pPatchConstantSignatureEntries);
    if (pCompiler)
    {
        if (FAILED(pCompiler->InitializeStorage()))
        {
            delete pCompiler;
            pCompiler = NULL;
        }
    }
    return pCompiler;
}
RosCompiler* RosCompilerCreate(D3D10_SB_TOKENIZED_PROGRAM_TYPE ProgramType,
                               const UINT *pCode,
                               const UINT *pLinkageDownstreamCode,
                               const UINT *pLinkageUpstreamCode,
                               const D3D11_1_DDI_BLEND_DESC* pBlendState,
                               const D3D10_DDI_DEPTH_STENCIL_DESC* pDepthState,
                               const D3D11_1_DDI_RASTERIZER_DESC* pRasterState,
                               const RosUmdRenderTargetView** ppRenderTargetView,
                               const RosUmdShaderResourceView** ppShaderResouceView,
                               UINT numInputSignatureEntries,
                               const D3D11_1DDIARG_SIGNATURE_ENTRY *pInputSignatureEntries,
                               UINT numOutputSignatureEntries,
                               const D3D11_1DDIARG_SIGNATURE_ENTRY *pOutputSignatureEntries,
                               UINT numPatchConstantSignatureEntries,
                               const D3D11_1DDIARG_SIGNATURE_ENTRY *pPatchConstantSignatureEntries)
{
    RosCompiler *pCompiler = new RosCompiler(
        ProgramType,
        pCode,
        pLinkageDownstreamCode,
        pLinkageUpstreamCode,
        pBlendState,
        pDepthState,
        pRasterState,
        ppRenderTargetView,
        ppShaderResouceView,
        numInputSignatureEntries,
        pInputSignatureEntries,
        numOutputSignatureEntries,
        pOutputSignatureEntries,
        numPatchConstantSignatureEntries,
        pPatchConstantSignatureEntries);
    if (pCompiler)
    {
        if (FAILED(pCompiler->InitializeStorage()))
        {
            delete pCompiler;
            pCompiler = NULL;
        }
    }
    return pCompiler;
}