| 2143 | } |
| 2144 | |
| 2145 | HRESULT CDX9VideoProcessor::AddPostScaleShader(const std::wstring& name, const std::string& srcCode) |
| 2146 | { |
| 2147 | if (!m_pD3DDevEx) { |
| 2148 | return E_ABORT; |
| 2149 | } |
| 2150 | |
| 2151 | ID3DBlob* pShaderCode = nullptr; |
| 2152 | HRESULT hr = CompileShader(srcCode, nullptr, "ps_3_0", &pShaderCode); |
| 2153 | if (S_OK == hr) { |
| 2154 | m_pPostScaleShaders.emplace_back(); |
| 2155 | hr = m_pD3DDevEx->CreatePixelShader((const DWORD*)pShaderCode->GetBufferPointer(), &m_pPostScaleShaders.back().shader); |
| 2156 | if (S_OK == hr) { |
| 2157 | m_pPostScaleShaders.back().name = name; |
| 2158 | UpdatePostScaleTexures(); |
| 2159 | DLog(L"CDX9VideoProcessor::AddPostScaleShader() : \"{}\" pixel shader added successfully.", name); |
| 2160 | } else { |
| 2161 | DLog(L"CDX9VideoProcessor::AddPostScaleShader() : create pixel shader \"{}\" FAILED!", name); |
| 2162 | m_pPostScaleShaders.pop_back(); |
| 2163 | } |
| 2164 | pShaderCode->Release(); |
| 2165 | } |
| 2166 | |
| 2167 | return hr; |
| 2168 | } |
| 2169 | |
| 2170 | ISubPicAllocator* CDX9VideoProcessor::GetSubPicAllocator() |
| 2171 | { |
no test coverage detected