summaryrefslogtreecommitdiffstats
path: root/src/video_core/vulkan_common/vulkan_device.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Vulkan: Update blacklisting to latest driver versions.Fernando Sahmkow2023-01-041-5/+12
|
* vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1Liam2023-01-011-0/+10
|
* video_core: fix buildLiam2023-01-011-0/+27
|
* MacroHLE: Final cleanup and fixes.Fernando Sahmkow2023-01-011-8/+16
|
* Vulkan: Implement Dynamic State 3Fernando Sahmkow2023-01-011-32/+41
|
* Vulkan Implement Dynamic State 2 LogicOp and PatchVerticesFernando Sahmkow2023-01-011-4/+1
|
* Vulkan: Implement Dynamic States 2Fernando Sahmkow2023-01-011-0/+64
|
* MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.Fernando Sahmkow2023-01-011-1/+4
|
* MacroHLE: Add MultidrawIndirect HLE Macro.Fernando Sahmkow2023-01-011-1/+1
|
* Merge pull request #7450 from FernandoS27/ndc-vulkanliamwhite2022-12-171-0/+25
|\ | | | | Vulkan: Add support for VK_EXT_depth_clip_control.
| * Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS272022-12-141-0/+25
| |
* | Merge pull request #9431 from liamwhite/sixty-five-oh-twoNarr the Reg2022-12-161-1/+2
|\ \ | | | | | | vulkan_common: declare storageBuffer8BitAccess
| * | vulkan_common: declare storageBuffer8BitAccessLiam2022-12-141-1/+2
| |/
* / Fix validation errors on less compatible Intel GPUyzct123452022-12-131-0/+4
|/
* Merge pull request #9365 from liamwhite/valMorph2022-12-071-1/+1
|\ | | | | vulkan_common: quiet some validation errors
| * vulkan_common: quiet some validation errorsLiam2022-12-011-1/+1
| |
* | vulkan_common: further initialization tweaksLiam2022-12-061-0/+2
| |
* | vulkan_common: add feature test for shaderDrawParametersLiam2022-12-041-1/+13
| |
* | vulkan_common: clean up extension usageLiam2022-12-041-67/+54
| |
* | vulkan_common: ensure all mandatory features are tested in feature reportLiam2022-12-041-1/+24
| |
* | vulkan_common: unsuffix 16-bit storage feature test structureLiam2022-12-041-2/+2
| |
* | vulkan_common: unsuffix timeline semaphore feature test structureLiam2022-12-041-2/+2
| |
* | vulkan_common: add logicOp to feature reportLiam2022-12-041-1/+2
| |
* | vulkan_common: promote host query reset usage to coreLiam2022-12-041-6/+2
| |
* | vulkan_common: promote descriptor update template usage to coreLiam2022-12-041-1/+0
| |
* | vulkan_common: promote timeline semaphore usage to coreLiam2022-12-041-1/+0
| |
* | Merge pull request #9289 from liamwhite/fruit-companyliamwhite2022-12-031-0/+1
|\ \ | | | | | | general: fix compile for Apple Clang
| * | general: fix compile for Apple ClangLiam2022-11-231-0/+1
| |/
* / Vulkan: update initializationLiam2022-11-271-46/+74
|/ | | | Co-authored-by: bylaws <bylaws@users.noreply.github.com>
* renderer_vulkan: add format fallbacks for R16G16B16_SFLOAT, R16G16B16_SSCALED, R8G8B8_SSCALEDLiam2022-08-031-90/+144
|
* Revert "vulkan_device: Block AMDVLK's VK_KHR_push_descriptor"lat9nq2022-06-291-11/+0
|
* common: Change semantics of UNREACHABLE to unconditionally crashLiam2022-06-141-6/+8
|
* Merge pull request #8379 from lat9nq/amd-push-desc-workaroundbunnei2022-05-251-0/+11
|\ | | | | vulkan_device: Block AMDVLK's VK_KHR_push_descriptor
| * vulkan_device: Block AMDVLK's VK_KHR_push_descriptorlat9nq2022-05-251-0/+11
| | | | | | | | | | | | Recent AMD Vulkan drivers (22.5.2 or 2.0.226 for specifically Vulkan) have a broken VK_KHR_push_descriptor implementation that causes a crash in yuzu. Disable it for the time being.
* | vulkan_device: Workaround extension buglat9nq2022-05-251-1/+6
|/ | | | | | | A bug occurs in yuzu when VK_KHR_workgroup_memory_explicit_layout is available but 16-bit integers are not supported in the host driver. Disable usage of the extension when this case arises.
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* video_core: implement formats for N64 emulationFernando Sahmkow2022-04-141-0/+12
|
* fix: typosAndrea Pappacoda2022-04-021-1/+1
|
* Merge pull request #8076 from ameerj/nv-vk-msaa-scalebunnei2022-03-311-0/+5
|\ | | | | Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+
| * Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+ameerj2022-03-241-0/+5
| | | | | | | | Nvidia Vulkan drivers 510+ crash when blitting MSAA images. Fall-back to 3D scale helpers for MSAA image scaling.
* | GC: Address Feedback.Fernando Sahmkow2022-03-251-6/+5
| |
* | Garbage Collection: Redesign the algorithm to do a better use of memory.Fernando Sahmkow2022-03-251-4/+48
|/
* video_core: Reduce unused includesameerj2022-03-191-1/+0
|
* vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_stateAmeer J2022-02-261-4/+21
| | | | | | RDNA2 devices running under the RADV driver were crashing when VK_EXT_vertex_input_dynamic_state was enabled. Blacklisting these devices until a proper fix is established.
* vulkan_device: fix missing format in ANVvoidanix2022-02-211-0/+12
| | | | | Currently Mesa's ANV driver does not support VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
* vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64FeaturesGeorg Lehmann2022-01-191-1/+1
|
* vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows driversameerj2021-12-241-2/+7
| | | | Fixes a crash when scaling MSAA textures in titles such as Sonic Colors Ultimate.
* Vulkan: Fix the checks for primitive restart extension.Fernando Sahmkow2021-12-181-12/+13
|
* Vulkan: implement Logical Operations.Fernando Sahmkow2021-12-181-1/+1
|
* Vulkan: Implement VK_EXT_primitive_topology_list_restartFernando Sahmkow2021-12-181-0/+28
|
* renderer_vulkan: Add R16G16_UINTMorph2021-12-081-0/+1
| | | | - Used by Immortals Fenyx Rising
* renderer_vulkan: Implement S8_UINT stencil formatMorph2021-11-181-0/+10
| | | | It should be noted that on Windows, only nvidia gpus support this format natively as of this commit.
* vulkan_device: Add missing vulkan image format R5G6B5 in GetFormatPropertiesFeng Chen2021-11-051-0/+1
| | | - Used by Dragon Quest Builders
* Merge pull request #7070 from FernandoS27/want-you-badAmeer J2021-10-241-0/+4
|\ | | | | Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
| * Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.Fernando Sahmkow2021-09-231-0/+4
| |
* | vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlierameerj2021-09-241-10/+15
|/ | | | Fixes rainbow textures on BOTW.
* vulkan_device: Reorder Float16Int8 declarationameerj2021-09-161-1/+2
| | | | This variable was going out of scope before its usage in the vulkan device creation, causing a crash on very specific drivers.
* Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver"ameerj2021-09-161-13/+1
| | | | | This reverts commit 62e88d0e7455e37840db7e2a8e199bc6ca176966, reversing changes made to edf3da346f4ec0ca492b427f4f693d56e84abc52.
* Merge pull request #6943 from FernandoS27/omae-wa-mou-shindeiruMorph2021-09-131-6/+20
|\ | | | | Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD
| * Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken.Fernando Sahmkow2021-09-131-6/+20
| |
* | Merge pull request #7006 from FernandoS27/a-motherfucking-driverMorph2021-09-131-1/+13
|\ \ | |/ |/| Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
| * Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1Fernando Sahmkow2021-09-131-1/+13
| |
* | Merge pull request #6944 from FernandoS27/dear-drunk-meMorph2021-09-131-0/+6
|\ \ | | | | | | Vulkan/Descriptors: Increase sets per pool on AMD propietary driver.
| * | Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.Fernando Sahmkow2021-09-131-0/+6
| |/
* / vulkan_device: Enable VK_KHR_swapchain_mutable_format if availableameerj2021-08-291-0/+10
|/ | | | Silences validation errors when creating sRGB image views of linear swapchain images
* vulkan_device: Add a check for int8 supportameerj2021-08-251-6/+10
| | | | Silences validation errors when shaders use int8 without specifying its support to the API
* renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp2021-07-281-0/+29
| | | | | | | | | | | | | | | | Use VK_KHR_pipeline_executable_properties when enabled and available to log statistics about the pipeline cache in a game. For example, this is on Turing GPUs when generating a pipeline cache from Super Smash Bros. Ultimate: Average pipeline statistics ========================================== Code size: 6433.167 Register count: 32.939 More advanced results could be presented, at the moment it's just an average of all 3D and compute pipelines.
* vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptorReinUsesLisp2021-07-231-4/+39
| | | | | Causes crashes on Link's Awakening intro. It's hard to debug if it's our fault due to bugs in validation layers.
* maxwell_to_vk: Add R16_SNORMReinUsesLisp2021-07-231-0/+1
|
* vulkan_device: Add missing include algorithmlat9nq2021-07-231-0/+1
|
* vulkan_device: Blacklist ampere devices from float16 mathameerj2021-07-231-9/+20
|
* vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onwardReinUsesLisp2021-07-231-4/+7
|
* vk_graphics_pipeline: Implement smooth linesReinUsesLisp2021-07-231-5/+36
|
* vk_graphics_pipeline: Implement line widthReinUsesLisp2021-07-231-2/+2
|
* shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2021-07-231-0/+6
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* vk_graphics_pipeline: Implement conservative renderingReinUsesLisp2021-07-231-0/+6
|
* vk_graphics_pipeline: Use VK_KHR_push_descriptor when availableReinUsesLisp2021-07-231-0/+11
| | | | ~51% faster on Nvidia compared to previous method.
* shader: Add support for native 16-bit floatsReinUsesLisp2021-07-231-2/+2
|
* vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on IntelReinUsesLisp2021-07-231-0/+4
|
* shader: Add shader loop safety check settingslat9nq2021-07-231-2/+2
| | | | Also add a setting for enable Nsight Aftermath.
* vulkan_device: Enable VK_EXT_vertex_input_dynamic_stateReinUsesLisp2021-07-231-0/+28
|
* vulkan: Use VK_EXT_provoking_vertex when availableReinUsesLisp2021-07-231-0/+28
|
* vulkan: Conditionally use shaderInt16ReinUsesLisp2021-07-231-1/+2
| | | | Add support for Polaris AMD devices.
* vulkan: Enable depth bounds and use it conditionallyReinUsesLisp2021-07-231-1/+2
| | | | Intel devices pre-Xe don't support this.
* vulkan_device: Enable float64 and int64 conditionallyReinUsesLisp2021-07-231-2/+4
| | | | Add Intel Xe support.
* shader: Initial OpenGL implementationReinUsesLisp2021-07-231-1/+1
|
* vulkan_device: Require shaderClipDistance and shaderCullDistance featuresReinUsesLisp2021-07-231-2/+4
|
* shader: Require dual source blendingReinUsesLisp2021-07-231-1/+2
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-231-1/+2
|
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-231-0/+5
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-231-1/+2
|
* spirv: Rework storage buffers and shader memoryReinUsesLisp2021-07-231-1/+28
|
* shader: Implement ATOM/S and REDameerj2021-07-231-0/+14
|
* nsight_aftermath_tracker: Report used shaders to Nsight AftermathReinUsesLisp2021-07-231-1/+1
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-231-0/+34
|
* shader: Implement VOTEameerj2021-07-231-0/+1
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-231-0/+15
|
* shader: Add denorm flush supportReinUsesLisp2021-07-231-8/+18
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-231-5/+5
|
* Merge pull request #6502 from ameerj/vendor-titleMorph2021-06-281-0/+21
|\ | | | | main: Add GPU Vendor name to running title bar
| * video_core: Add GPU vendor name to window title barameerj2021-06-211-0/+21
| |
* | vulkan_device: Make device memory match the rest of the fileReinUsesLisp2021-06-251-2/+2
| | | | | | | | Match the style in the file.
* | Reaper: Correct size calculation on Vulkan.Fernando Sahmkow2021-06-171-5/+3
| |
* | Reaper: Change memory restrictions on TC depending on host memory on VK.Fernando Sahmkow2021-06-171-0/+14
|/
* common: Move settings to common from core.bunnei2021-04-151-1/+1
| | | | - Removes a dependency on core and input_common from common.
* vulkan_device: Enable EXT_robustness2 featuresJoshua Ashton2021-04-111-0/+9
| | | | | | When this was being made mandatory, these enablement of these features was removed, but this is still needed. Fixes: 757fd1e91716 ("vulkan_device: Require VK_EXT_robustness2")
* vulkan_common: enable OpenGL interop on other UnicesJan Beich2021-03-301-1/+1
|
* vulkan_device: Require VK_EXT_robustness2ReinUsesLisp2021-02-131-36/+14
| | | | | | | We are already using robustness2 features without requiring it explicitly, causing potential crashes on drivers without the extension. Requiring this at boot allows better diagnostics for it and formalizes our usage on the extension.
* vulkan_device: Enable robustBufferAccessReinUsesLisp2021-02-131-1/+2
| | | | | Fix regression on Pascal on Animal Crossing: New Horizons, fixing a validation error.
* vulkan_common: Expose interop and headless devicesReinUsesLisp2021-02-131-6/+15
|
* vulkan_common: Make interop extensions mandatoryReinUsesLisp2021-02-131-0/+6
|
* vulkan_device: Enable robust buffersReinUsesLisp2021-02-131-2/+4
|
* vulkan_device: Use designated initializers for featuresReinUsesLisp2021-02-131-60/+59
|
* vulkan_device: Fix formatting of constantsReinUsesLisp2021-02-131-10/+6
|
* vulkan_device: Blacklist Intel from float16 math (#5798)Rodrigo Locatti2021-01-271-0/+5
| | | | Astral Chain crashes Intel's SPIR-V compiler when using fp16. Disable this while the vendor works on a fix.
* vulkan_device: Lift VK_EXT_extended_dynamic_state blacklist on RDNAReinUsesLisp2021-01-251-23/+0
| | | | It seems to be safe to use this on new drivers.
* Merge pull request #5350 from ReinUsesLisp/vk-init-warnsRodrigo Locatti2021-01-151-3/+4
|\ | | | | vulkan_common: Silence missing initializer warnings
| * vulkan_common: Silence missing initializer warningsReinUsesLisp2021-01-151-3/+4
| | | | | | | | Silence warnings explicitly initializing all members on construction.
* | vulkan_device: Enable shaderStorageImageMultisample conditionallyReinUsesLisp2021-01-151-1/+2
|/ | | | Fix Vulkan initialization on ANV.
* vulkan_device: Remove requirement on shaderStorageImageMultisampleReinUsesLisp2021-01-131-1/+0
| | | | | yuzu doesn't currently emulate MS image stores. Requiring this makes no sense for now. Fixes ANV not booting any games on Vulkan.
* vulkan_device: Allow creating a device without surfaceReinUsesLisp2021-01-041-3/+3
|
* renderer_vulkan/nsight_aftermath_tracker: Move to vulkan_commonReinUsesLisp2021-01-041-2/+5
|
* renderer_vulkan: Move device abstraction to vulkan_commonReinUsesLisp2021-01-041-0/+883