d3d11-Deferred_Context: Allow NULL pointer for initial count in d3d11_deferred_context_CSSetUnorderedAccessViews.

This commit is contained in:
Sebastian Lackner 2017-10-08 07:01:33 +02:00
parent 1b974b234d
commit f79f1d1e79
2 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,33 @@
From e1467653758c0df73b894029c82b2d8f0d7223ba Mon Sep 17 00:00:00 2001
From: Steve Melenchuk <smelenchuk@gmail.com>
Date: Sat, 7 Oct 2017 18:33:16 -0600
Subject: d3d11: Allow NULL pointer for initial count in
d3d11_deferred_context_CSSetUnorderedAccessViews.
---
dlls/d3d11/device.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 8812c90f140..f0f9d2b6e10 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -5444,12 +5444,13 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetUnorderedAccessViews(I
call->unordered_view.start_slot = start_slot;
call->unordered_view.num_views = view_count;
call->unordered_view.views = (void *)(call + 1);
- call->unordered_view.initial_counts = (void *)&call->unordered_view.views[view_count];
+ call->unordered_view.initial_counts = initial_counts ?
+ (void *)&call->unordered_view.views[view_count] : NULL;
for (i = 0; i < view_count; i++)
{
if (views[i]) ID3D11UnorderedAccessView_AddRef(views[i]);
call->unordered_view.views[i] = views[i];
- call->unordered_view.initial_counts[i] = initial_counts[i];
+ if (initial_counts) call->unordered_view.initial_counts[i] = initial_counts[i];
}
}
--
2.14.1

View File

@ -3968,6 +3968,7 @@ if test "$enable_d3d11_Deferred_Context" -eq 1; then
patch_apply d3d11-Deferred_Context/0038-d3d11-Implement-SetPredication-for-deferred-contexts.patch
patch_apply d3d11-Deferred_Context/0039-d3d11-Implement-d3d11_deferred_context_UpdateSubreso.patch
patch_apply d3d11-Deferred_Context/0040-d3d11-Implement-restoring-of-state-after-executing-a.patch
patch_apply d3d11-Deferred_Context/0041-d3d11-Allow-NULL-pointer-for-initial-count-in-d3d11_.patch
(
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Add stub deferred rendering context.", 1 },';
printf '%s\n' '+ { "Michael Müller", "wined3d: Add wined3d_resource_map_info function.", 1 },';
@ -4009,6 +4010,7 @@ if test "$enable_d3d11_Deferred_Context" -eq 1; then
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SetPredication for deferred contexts.", 1 },';
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement d3d11_deferred_context_UpdateSubresource.", 1 },';
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement restoring of state after executing a command list.", 1 },';
printf '%s\n' '+ { "Steve Melenchuk", "d3d11: Allow NULL pointer for initial count in d3d11_deferred_context_CSSetUnorderedAccessViews.", 1 },';
) >> "$patchlist"
fi