| 4106 | } |
| 4107 | |
| 4108 | HRESULT CDX11VideoProcessor::AddPreScaleShader(const std::wstring& name, const std::string& srcCode) |
| 4109 | { |
| 4110 | #ifdef _DEBUG |
| 4111 | if (!m_pDevice) { |
| 4112 | return E_ABORT; |
| 4113 | } |
| 4114 | |
| 4115 | ID3DBlob* pShaderCode = nullptr; |
| 4116 | HRESULT hr = CompileShader(srcCode, nullptr, "ps_4_0", &pShaderCode); |
| 4117 | if (S_OK == hr) { |
| 4118 | m_pPreScaleShaders.emplace_back(); |
| 4119 | hr = m_pDevice->CreatePixelShader(pShaderCode->GetBufferPointer(), pShaderCode->GetBufferSize(), nullptr, &m_pPreScaleShaders.back().shader); |
| 4120 | if (S_OK == hr) { |
| 4121 | m_pPreScaleShaders.back().name = name; |
| 4122 | //UpdatePreScaleTexures(); //TODO |
| 4123 | DLog(L"CDX11VideoProcessor::AddPreScaleShader() : \"{}\" pixel shader added successfully.", name); |
| 4124 | } |
| 4125 | else { |
| 4126 | DLog(L"CDX11VideoProcessor::AddPreScaleShader() : create pixel shader \"{}\" FAILED!", name); |
| 4127 | m_pPreScaleShaders.pop_back(); |
| 4128 | } |
| 4129 | pShaderCode->Release(); |
| 4130 | } |
| 4131 | |
| 4132 | if (S_OK == hr && m_D3D11VP.IsReady() && m_bVPScaling) { |
| 4133 | return S_FALSE; |
| 4134 | } |
| 4135 | |
| 4136 | return hr; |
| 4137 | #else |
| 4138 | return E_NOTIMPL; |
| 4139 | #endif |
| 4140 | } |
| 4141 | |
| 4142 | HRESULT CDX11VideoProcessor::AddPostScaleShader(const std::wstring& name, const std::string& srcCode) |
| 4143 | { |
nothing calls this directly
no test coverage detected