yuzu/src/video_core/renderer_vulkan
ReinUsesLisp 2339fe199f shader_decompiler: Remove FragCoord.w hack and change IPA implementation
Credits go to gdkchan and Ryujinx. The pull request used for this can
be found here: https://github.com/Ryujinx/Ryujinx/pull/1082

yuzu was already using the header for interpolation, but it was missing
the FragCoord.w multiplication described in the linked pull request.
This commit finally removes the FragCoord.w == 1.0f hack from the shader
decompiler.

While we are at it, this commit renames some enumerations to match
Nvidia's documentation (linked below) and fixes component declaration
order in the shader program header (z and w were swapped).

https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.html
2020-04-01 21:48:55 -03:00
..
shaders renderer_vulkan/shader: Add helper GLSL shaders 2019-12-16 17:59:08 -03:00
declarations.h externals: Update Vulkan-Headers 2019-12-08 22:08:19 -03:00
fixed_pipeline_state.cpp maxwell_3d: Flatten cull and front face registers 2020-02-28 17:56:41 -03:00
fixed_pipeline_state.h maxwell_3d: Flatten cull and front face registers 2020-02-28 17:56:41 -03:00
maxwell_to_vk.cpp maxwell_to_vk: implement signedscaled vertex formats 2020-03-27 00:14:19 +01:00
maxwell_to_vk.h maxwell_3d: Flatten cull and front face registers 2020-02-28 17:56:41 -03:00
renderer_vulkan.cpp vk_state_tracker: Initial implementation 2020-02-28 17:56:43 -03:00
renderer_vulkan.h vk_state_tracker: Initial implementation 2020-02-28 17:56:43 -03:00
vk_blit_screen.cpp vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_blit_screen.h vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_buffer_cache.cpp vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_buffer_cache.h vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_compute_pass.cpp vk_compute_pass: Address feedback 2020-01-10 22:46:34 -03:00
vk_compute_pass.h vk_compute_pass: Add compute passes to emulate missing Vulkan features 2020-01-08 19:24:26 -03:00
vk_compute_pipeline.cpp vk_shader_decompiler: Implement indexed textures 2020-02-24 01:26:07 -03:00
vk_compute_pipeline.h vk_compute_pipeline: Initial implementation 2020-01-06 22:02:26 -03:00
vk_descriptor_pool.cpp Update src/video_core/renderer_vulkan/vk_descriptor_pool.cpp 2020-01-03 17:34:30 -03:00
vk_descriptor_pool.h vk_descriptor_pool: Initial implementation 2020-01-01 16:44:06 -03:00
vk_device.cpp Merge pull request #3501 from ReinUsesLisp/rgba16-snorm 2020-03-15 21:24:53 -03:00
vk_device.h vk_device: Enable VK_EXT_transform_feedback when available 2020-03-13 18:33:05 -03:00
vk_graphics_pipeline.cpp vk_shader_decompiler: Implement indexed textures 2020-02-24 01:26:07 -03:00
vk_graphics_pipeline.h vk_graphics_pipeline: Initial implementation 2020-01-06 22:02:26 -03:00
vk_image.cpp vk_image: Add an image object abstraction 2019-12-25 18:00:16 -03:00
vk_image.h vk_image: Avoid unnecesary equals 2019-12-30 13:28:23 -03:00
vk_memory_manager.cpp vk_memory_manager: Misc changes 2020-01-06 18:13:41 -03:00
vk_memory_manager.h vk_memory_manager: Misc changes 2020-01-06 18:13:41 -03:00
vk_pipeline_cache.cpp vk_pipeline_cache: Remove unused variable 2020-03-18 20:03:19 -03:00
vk_pipeline_cache.h vk_rasterizer: Reimplement clears with vkCmdClearAttachments 2020-03-15 03:40:41 -03:00
vk_query_cache.cpp vk_query_cache: Implement generic query cache on Vulkan 2020-02-14 17:38:27 -03:00
vk_query_cache.h vk_query_cache: Implement generic query cache on Vulkan 2020-02-14 17:38:27 -03:00
vk_rasterizer.cpp vk_rasterizer: Remove unused variable 2020-03-18 20:03:19 -03:00
vk_rasterizer.h vk_rasterizer: Reimplement clears with vkCmdClearAttachments 2020-03-15 03:40:41 -03:00
vk_renderpass_cache.cpp vk_renderpass_cache: Initial implementation 2020-01-06 18:28:32 -03:00
vk_renderpass_cache.h vk_renderpass_cache: Initial implementation 2020-01-06 18:28:32 -03:00
vk_resource_manager.cpp vk_reosurce_manager: Add assert for releasing fences 2019-12-19 16:31:34 -03:00
vk_resource_manager.h vk_resource_manager: Add entry to VKFence to test its usage 2019-12-19 16:31:34 -03:00
vk_sampler_cache.cpp fixups mistake auto commit. 2020-02-19 01:24:32 +07:00
vk_sampler_cache.h vk_sampler_cache: Remove unused includes 2019-07-07 13:40:36 -04:00
vk_scheduler.cpp vk_state_tracker: Initial implementation 2020-02-28 17:56:43 -03:00
vk_scheduler.h vk_state_tracker: Initial implementation 2020-02-28 17:56:43 -03:00
vk_shader_decompiler.cpp shader_decompiler: Remove FragCoord.w hack and change IPA implementation 2020-04-01 21:48:55 -03:00
vk_shader_decompiler.h vk_shader_decompiler: Use registry for specialization 2020-03-13 18:33:05 -03:00
vk_shader_util.cpp vk_shader_util: Add helper to build SPIR-V shaders 2020-01-08 19:22:20 -03:00
vk_shader_util.h vk_shader_util: Add helper to build SPIR-V shaders 2020-01-08 19:22:20 -03:00
vk_staging_buffer_pool.cpp vk_staging_buffer_pool: Silence unused constant warning 2020-03-18 20:03:19 -03:00
vk_staging_buffer_pool.h vk_texture_cache: Implement generic texture cache on Vulkan 2020-01-13 20:37:50 -03:00
vk_state_tracker.cpp DirtyFlags: relax need to set render_targets as dirty 2020-03-14 11:47:33 -04:00
vk_state_tracker.h state_tracker: Remove type traits with named structures 2020-02-28 17:56:43 -03:00
vk_stream_buffer.cpp vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_stream_buffer.h vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_swapchain.cpp vk_swapchain: Silence TOCTOU race condition 2020-02-26 17:07:18 -03:00
vk_swapchain.h vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_texture_cache.cpp vk_texture_cache: Silence misc warnings 2020-03-18 20:03:19 -03:00
vk_texture_cache.h texture_cache: Implement layered framebuffer attachments 2020-02-16 04:19:32 -03:00
vk_update_descriptor.cpp vk_update_descriptor: Initial implementation 2020-01-06 18:28:32 -03:00
vk_update_descriptor.h vk_update_descriptor: Initial implementation 2020-01-06 18:28:32 -03:00
wrapper.cpp renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapper 2020-03-31 21:32:08 -03:00
wrapper.h renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapper 2020-03-31 21:32:08 -03:00