summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
AgeCommit message (Collapse)Author
2022-12-20Merge pull request #11351 from JosJuice/bitset-cpp20Mai
Common: Use C++20 <bit> header in BitSet.h
2022-12-19Merge pull request #11286 from K0bin/vk-query-fixJMC47
VideoBackends: Query fixes and cleanups
2022-12-18Common: Use C++20 <bit> header in BitSet.hJosJuice
2022-12-11VideoCommon/PixelEngine: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-12-07Merge pull request #11320 from AdmiralCurtiss/globals-memoryMai
HW/Memmap: Refactor Memory to class, move to Core::System.
2022-12-04Merge pull request #11262 from K0bin/present-syncAdmiral H. Curtiss
VideoBackends:Vulkan: Synchronize presentation
2022-12-03HW/Memmap: Refactor Memory to class, move to Core::System.Admiral H. Curtiss
2022-11-30VideoBackends:Metal: Fix min/max lod when setting non-zero-based samplersTellowKrinkle
2022-11-29VideoBackends: Rename query_type to query_groupRobin Kertels
2022-11-29VideoBackends:Vulkan: Fix incorrect barriers in StagingBufferRobin Kertels
HOST barriers need to be issued regardless of whether the memory type is coherent and we need to properly synchronize writes to the buffer.
2022-11-29VideoBackends:D3D12: Set query typeRobin Kertels
2022-11-29VideoBackends:Vulkan: Fix queriesRobin Kertels
Fixes both checking whether queries are done and actually resets query pools.
2022-11-28VideoBackends:OGL: Creating vertex formats shouldn't unbind anythingTellowKrinkle
2022-11-23VideoBackends/D3D11: Simplify vertex attribute codePokechu22
2022-11-23Fix build errors related to formatting non-scoped enumsPokechu22
2022-11-07VideoBackends:Vulkan: Synchronize presentationRobin Kertels
Synchronize with the submission thread if the last present is not done yet.
2022-11-04Merge pull request #11228 from Pokechu22/statistics-macrosAdmiral H. Curtiss
VideoCommon/Statistics: Require semicolons after statistics macros
2022-11-03VideoBackends:Metal: Headless render supportTellowKrinkle
2022-11-01OGL: use already known object label lengthsTillmann Karras
Passing -1 means the driver has to call strlen().
2022-11-01OGL: fix compute shader labelsTillmann Karras
This fixes GL_INVALID_VALUE errors when using GPU texture decoding.
2022-10-31VideoBackends:Vulkan: Fix 0 size descriptor poolsRobin Kertels
[ VUID-VkDescriptorPoolCreateInfo-maxSets-00301 ] Object 0: handle = 0x7f1,b8d,3cd,e70, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa1,70e,236 | vkCreateDescriptorPool(): pCreateInfo->maxSets is not greater than 0. The Vulkan spec states: maxSets must be greater than 0
2022-10-29VideoCommon/Statistics: Require semicolons after statistics macrosPokechu22
This is clearer and reduces IntelliSense problems.
2022-10-29VideoBackends:D3D12: Defer binding framebuffer in SetAndDiscardFramebufferRobin Kertels
BindFramebuffer depends on the pipeline which might not be set yet. That's why the framebuffer dirty flag exists in the first place. I assume BindFramebuffer was called directly here, in order to handle the texture state transitions necessary for DiscardResource. The state is tracked anyway, so we can just issue those transitions there too and defer binding the actual framebuffer. Fixes an issue in Zelda Twilight Princess with EFB depth peeks. Dolphin would bind a frame buffer which doesn't have an integer format descriptor for the color target before binding the new pipeline. So it would accidentally use the 0 descriptor. Debug layer error: D3D12 ERROR: ID3D12CommandList::OMSetRenderTargets: Specified CPU descriptor handle ptr=0x0000000000000000 does not refer to a location in a descriptor heap. pRenderTargetDescriptors[0] is the issue. [ EXECUTION ERROR #646: INVALID_DESCRIPTOR_HANDLE]
2022-10-29VideoBackends:D3D12: Use COMMON as initial state for default heap bufferRobin Kertels
Fixes the following error in the D3D12 debug layer: D3D12 WARNING: ID3D12Device::CreateCommittedResource: Ignoring InitialState D3D12_RESOURCE_STATE_UNORDERED_ACCESS. Buffers are effectively created in state D3D12_RESOURCE_STATE_COMMON. [ STATE_CREATION WARNING #1328: CREATERESOURCE_STATE_IGNORED]
2022-10-29VideoBackends:D3D12: Don't query GPU descriptor handle for non-shader ↵Robin Kertels
visible heap Fixes the following error in the D3D12 debug layer: D3D12 ERROR: ID3D12DescriptorHeap::GetGPUDescriptorHandleForHeapStart: GetGPUDescriptorHandleForHeapStart is invalid to call on a descriptor heap that does not have DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE set. If the heap is not supposed to be shader visible, then GetCPUDescriptorHandleForHeapStart would be the appropriate method to call. That call is valid both for shader visible and non shader visible descriptor heaps. [ STATE_GETTING ERROR #1315: DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE]
2022-10-28VideoBackends: fix d3d12 subresource calculationiwubcode
2022-10-25Merge pull request #10977 from tellowkrinkle/FixBackendMultithreadingJMC47
VideoBackends:Vulkan: Improve backend multithreading
2022-10-24VideoBackends:Metal: Default to presentDrawable when vsync is onTellowKrinkle
2022-10-24Merge pull request #11028 from tellowkrinkle/MetalFixesJMC47
Various Metal renderer improvements
2022-10-23Merge pull request #10890 from tellowkrinkle/VertexLineExpandJMC47
VideoCommon: Add vertex shader point/line expansion
2022-10-23VideoBackends:Vulkan: Clean up unused memory allocation codeRobin Kertels
2022-10-23VideoBackends:Vulkan: Use VMA for stream bufferRobin Kertels
2022-10-23VideoBackends:Vulkan: Use VMA for bounding boxRobin Kertels
2022-10-23VideoBackends:Vulkan: Use VMA for staging buffersRobin Kertels
2022-10-22VideoBackends:D3D12: Add support for vertex shader point and line expansionTellowKrinkle
2022-10-22VideoBackends:OGL: Add support for vertex shader point and line expansionTellowKrinkle
2022-10-22VideoBackends:Vulkan: Add support for vertex shader point and line expansionTellowKrinkle
2022-10-22VideoBackends:Metal: Add support for vertex shader point and line expansionTellowKrinkle
2022-10-22VideoCommon: Add vertex shader point and line expansionTellowKrinkle
2022-10-23VideoBackends:Vulkan: Set up VMARobin Kertels
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2022-10-17VideoBackends:Vulkan: Improve backend multithreadingTellowKrinkle
Makes the multiple threads actually able to run at the same time
2022-10-17Merge pull request #11122 from K0bin/descriptor-overhaulAdmiral H. Curtiss
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-16VideoBackends:Vulkan: Allocate descriptor pools as neededRobin Kertels
2022-10-12Remove varargs support from LOG_VULKAN_ERRORPokechu22
Nothing currently uses it. It could theoretically be replaced with fmt support, but I don't think the LOG_VULKAN_ERROR macro is that useful and it'd be better to replace it with regular logging instead.
2022-10-12Remove most uses of StringFromFormat in favor of fmtPokechu22
2022-10-08VideoBackends:Vulkan: Fix command buffer cleanupRobin Kertels
2022-10-08VideoBackends:Metal: Use a temporary buffer for large texture uploadsTellowKrinkle
2022-10-08VideoBackends:Metal: Add config option to use presentDrawableTellowKrinkle
2022-10-08VideoBackends:Metal: Explicitly disable arcTellowKrinkle
Makes it easier to enable arc elsewhere without breaking the Metal backend
2022-10-08VideoBackends:Metal: Bring back unified memory configTellowKrinkle
Turns out it was helpful. (Most improvement in ubershaders.) This time with much better auto mode.