mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 22:29:15 +01:00
[d3d9] Request high-priority shader compiles as necessary
This commit is contained in:
parent
d3ab905621
commit
9bd0040a90
@ -6215,8 +6215,13 @@ namespace dxvk {
|
|||||||
template <DxsoProgramType ShaderStage>
|
template <DxsoProgramType ShaderStage>
|
||||||
void D3D9DeviceEx::BindShader(
|
void D3D9DeviceEx::BindShader(
|
||||||
const D3D9CommonShader* pShaderModule) {
|
const D3D9CommonShader* pShaderModule) {
|
||||||
|
auto shader = pShaderModule->GetShader();
|
||||||
|
|
||||||
|
if (unlikely(shader->needsLibraryCompile()))
|
||||||
|
m_dxvkDevice->requestCompileShader(shader);
|
||||||
|
|
||||||
EmitCs([
|
EmitCs([
|
||||||
cShader = pShaderModule->GetShader()
|
cShader = std::move(shader)
|
||||||
] (DxvkContext* ctx) mutable {
|
] (DxvkContext* ctx) mutable {
|
||||||
constexpr VkShaderStageFlagBits stage = GetShaderStage(ShaderStage);
|
constexpr VkShaderStageFlagBits stage = GetShaderStage(ShaderStage);
|
||||||
ctx->bindShader<stage>(std::move(cShader));
|
ctx->bindShader<stage>(std::move(cShader));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user