- Oct 27, 2019
-
-
Private variables are always vec4, so using a sparse write mask here will lead to invalid code being generated when accessing the variable. Signed-off-by:
Philip Rebohle <philip.rebohle@tu-dortmund.de> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Fork and join phases in hull shaders allow dynamic indexing for all output registers, not just the tessellation factor built-ins. Moreover, the patch constant output register space is shared with join phases, which can read back the outputs computed in the fork phases, also allowing dynamic indexing. In order to support this in a not overly complex way, use a private array representing the entire patch constant space, and use epilogue functions to assign them to the actual output variables. Signed-off-by:
Philip Rebohle <philip.rebohle@tu-dortmund.de> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Needed to support dynamically indexed output arrays. Signed-off-by:
Philip Rebohle <philip.rebohle@tu-dortmund.de> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Otherwise, if a private variable is used for the given output, vkd3d_dxbc_compiler_emit_store_shader_output will write to the private variable again instead of the actual output, and some outputs may never be emitted. This is common in hull shaders. Signed-off-by:
Philip Rebohle <philip.rebohle@tu-dortmund.de> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
The GPU VA allocator was allocating memory in a way where dereferencing GPU VA required a lock + bsearch() to find the right VA range. Rather than going this route, we turn the common case into O(1) and lock-free by creating a slab allocator which allows us to lookup a pointer directly from a GPU VA with (VA - Base) / PageSize. The number of allocations in the fast path must be limited since we cannot trivially grow the allocator while remaining lock-free for dereferences. Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
If separate transitions of the depth and stencil plane occur in the same array of barriers, they will be consolidated into one Vulkan layout transition. This can only be supported for combinations of depth read and depth write states, or identical states. Signed-off-by:
Conor McCarthy <cmccarthy@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Oct 22, 2019
-
-
Fixes an assertion when compiling shaders with more than four clip or cull distances. Output arrays are arrays of scalars, so shifting the write mask is not very meaningful. Signed-off-by:
Philip Rebohle <philip.rebohle@tu-dortmund.de> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
There appears to be a complete implementation of RS 1.1 already, so enable this feature. Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Oct 18, 2019
-
-
Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Rémi Bernon <rbernon@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Oct 04, 2019
-
-
Signed-off-by:
Rémi Bernon <rbernon@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Oct 01, 2019
-
-
Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Even if the shader doesn't explicitly declare it. Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
By setting this flag, command pools cannot efficiently pool allocations. This flag should be set to 0 so only the VkCommandPool may be reset. This matches D3D12 API. Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
D3D12 command allocators are intended to recycle memory across resets, so we should do the same thing in vkd3d. Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
It is possible to map a resource, but not disclose the VA to caller. This is used for WriteToSubresource. Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Hans-Kristian Arntzen <post@arntzen-software.no> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Jactry Zeng <jzeng@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Jactry Zeng <jzeng@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Sep 24, 2019
-
-
Shadow of the Tomb Raider overwrites descriptors while they are being copied in another thread. This patch makes reads and writes atomic for CBV, SRV, UAV, and sampler descriptors, but not RTV and DSV, for which copying is not implemented. Benchmark total frames vs mutex count (the single mutex was locked only once for copying): 1 mutex: 6480 6489 6503 8 mutexes: 6691 6693 6661 16 mutexes: 6665 6682 6703 Signed-off-by:
Conor McCarthy <cmccarthy@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Sep 13, 2019
-
-
Fixes validation errors complaining about invalid shader modules. Signed-off-by:
Philip Rebohle <philip.rebohle@tu-dortmund.de> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Aug 12, 2019
-
-
Device is removed after CreateUnorderedAccessView(). Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
Enables ReadFromSubresource() to succeed in cases where it would have failed otherwise. Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
- Aug 06, 2019
-
-
Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-
The "allocations" array is filled with unused entries when D3D12 buffers are destroyed. The majority of entries might be unused after running for a while. Remove the entry when VA is freed in order to prevent accumulation of unused entries. This makes destroying D3D12 buffers more expensive. Signed-off-by:
Józef Kucia <jkucia@codeweavers.com> Signed-off-by:
Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by:
Alexandre Julliard <julliard@winehq.org>
-