[PATCH 1/3] d3d11: Report support for MapNoOverwriteOnDynamicBufferSRV.
From: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> --- dlls/d3d11/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index b97b495f98d..0b8bd21b5ce 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4093,7 +4093,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 options->ConstantBufferPartialUpdate = FALSE; options->ConstantBufferOffsetting = TRUE; options->MapNoOverwriteOnDynamicConstantBuffer = FALSE; - options->MapNoOverwriteOnDynamicBufferSRV = FALSE; + options->MapNoOverwriteOnDynamicBufferSRV = TRUE; options->MultisampleRTVWithForcedSampleCountOne = FALSE; options->SAD4ShaderInstructions = FALSE; options->ExtendedDoublesShaderInstructions = FALSE; -- 2.35.1
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> --- dlls/d3d11/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 0b8bd21b5ce..4d1a60522aa 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4092,7 +4092,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 options->CopyWithOverlap = FALSE; options->ConstantBufferPartialUpdate = FALSE; options->ConstantBufferOffsetting = TRUE; - options->MapNoOverwriteOnDynamicConstantBuffer = FALSE; + options->MapNoOverwriteOnDynamicConstantBuffer = TRUE; options->MapNoOverwriteOnDynamicBufferSRV = TRUE; options->MultisampleRTVWithForcedSampleCountOne = FALSE; options->SAD4ShaderInstructions = FALSE; -- 2.35.1
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Microsoft is not exactly clear what this means, but it seems likely it refers to the ability to bind a range of a constant buffer [i.e. with ID3D11DeviceContext::*SetConstantBuffers1()] rather than the whole buffer. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> --- dlls/d3d11/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 4d1a60522aa..acfc7bdeeb8 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4090,7 +4090,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 options->FlagsForUpdateAndCopySeenByDriver = FALSE; options->ClearView = FALSE; options->CopyWithOverlap = FALSE; - options->ConstantBufferPartialUpdate = FALSE; + options->ConstantBufferPartialUpdate = TRUE; options->ConstantBufferOffsetting = TRUE; options->MapNoOverwriteOnDynamicConstantBuffer = TRUE; options->MapNoOverwriteOnDynamicBufferSRV = TRUE; -- 2.35.1
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
March 10, 2022 7:38 PM, "Zebediah Figura" <zfigura(a)codeweavers.com> wrote:
Microsoft is not exactly clear what this means, but it seems likely it refers to the ability to bind a range of a constant buffer [i.e. with ID3D11DeviceContext::*SetConstantBuffers1()] rather than the whole buffer.
Relevant portion of the D3D11 spec: https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec... Chip
On 3/11/22 12:38, Chip Davis wrote:
March 10, 2022 7:38 PM, "Zebediah Figura" <zfigura(a)codeweavers.com> wrote:
Microsoft is not exactly clear what this means, but it seems likely it refers to the ability to bind a range of a constant buffer [i.e. with ID3D11DeviceContext::*SetConstantBuffers1()] rather than the whole buffer.
Relevant portion of the D3D11 spec:
https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec...
Ah, so it's about performing partial updates of constant buffers via UpdateSubresource(), which apparently is forbidden in 11.0. Well, we support that too, so the patch is still correct, although the commit message is not :-)
participants (3)
-
Chip Davis -
Henri Verbeet -
Zebediah Figura