MCPcopy Create free account
hub / github.com/Aleksoid1978/VideoRenderer / AddPostScaleShader

Method AddPostScaleShader

Source/DX9VideoProcessor.cpp:2145–2168  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2143}
2144
2145HRESULT 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
2170ISubPicAllocator* CDX9VideoProcessor::GetSubPicAllocator()
2171{

Callers 1

Flt_SetBinMethod · 0.45

Calls 3

CompileShaderFunction · 0.85
DLogFunction · 0.85
ReleaseMethod · 0.45

Tested by

no test coverage detected