aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
AgeCommit message (Collapse)Author
2019-06-20shader: Decode SUST and implement backing image functionalityReinUsesLisp
2019-06-15Merge pull request #2538 from ReinUsesLisp/ssy-pbkZach Hilman
shader: Split SSY and PBK stack
2019-06-07Merge pull request #2514 from ReinUsesLisp/opengl-compatZach Hilman
video_core: Drop OpenGL core in favor of OpenGL compatibility
2019-06-07shader: Split SSY and PBK stackReinUsesLisp
Hardware testing revealed that SSY and PBK push to a different stack, allowing code like this: SSY label1; PBK label2; SYNC; label1: PBK; label2: EXIT;
2019-06-05shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp
Instead of having a vector of unique_ptr stored in a vector and returning star pointers to this, use shared_ptr. While changing initialization code, move it to a separate file when possible. This is a first step to allow code analysis and node generation beyond the ShaderIR class.
2019-06-05Merge pull request #2520 from ReinUsesLisp/vulkan-refreshbunnei
vk_device,vk_shader_decompiler: Miscellaneous changes
2019-05-30maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap modeReinUsesLisp
2019-05-26vk_device: Let formats array type be deducedReinUsesLisp
2019-05-26vk_shader_decompiler: Misc fixesReinUsesLisp
Fix missing OpSelectionMerge instruction. This caused devices loses on most hardware, Intel didn't care. Fix [-1;1] -> [0;1] depth conversions. Conditionally use VK_EXT_scalar_block_layout. This allows us to use non-std140 layouts on UBOs. Update external Vulkan headers.
2019-05-26vk_device: Enable features when available and misc changesReinUsesLisp
Keeps track of native ASTC support, VK_EXT_scalar_block_layout availability and SSBO range. Check for independentBlend and vertexPipelineStorageAndAtomics as a required feature. Always enable it. Use vk::to_string format to log Vulkan enums. Style changes.
2019-05-20shader: Implement S2R Tid{XYZ} and CtaId{XYZ}ReinUsesLisp
2019-05-19Merge pull request #2441 from ReinUsesLisp/al2pbunnei
shader: Implement AL2P and ALD.PHYS
2019-05-14Merge pull request #2461 from lioncash/unused-varMat M
video_core: Remove a few unused variables and functions
2019-05-13Merge pull request #2413 from FernandoS27/opt-gpuRodrigo Locatti
Rasterizer Cache: refactor flushing & optimize memory usage of surfaces
2019-05-09renderer_vulkan/vk_shader_decompiler: Remove unused variable from ↵Lioncash
DeclareInternalFlags()
2019-05-02shader: Remove unused AbufNode Ipa modeReinUsesLisp
2019-04-28Merge pull request #2322 from ReinUsesLisp/wswitchbunnei
video_core: Silent -Wswitch warnings
2019-04-21Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing.Fernando Sahmkow
This PR should heavily reduce memory usage since temporal buffers are no longer stored per Surface but instead managed by the Rasterizer Cache.
2019-04-19Merge pull request #2409 from ReinUsesLisp/half-floatsbunnei
shader_ir/decode: Miscellaneous fixes to half-float decompilation
2019-04-19RasterizerCache Redesign: Flush Fernando Sahmkow
flushing is now responsability of children caches instead of the cache object. This change will allow the specific cache to pass extra parameters on flushing and will allow more flexibility.
2019-04-18video_core: Silent -Wswitch warningsReinUsesLisp
2019-04-17Merge pull request #2318 from ReinUsesLisp/sampler-cachebunnei
gl_sampler_cache: Port sampler cache to OpenGL
2019-04-15vk_shader_decompiler: Add missing operationsReinUsesLisp
2019-04-15shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmeticReinUsesLisp
Operations done before the main half float operation (like HAdd) were managing a packed value instead of the unpacked one. Adding an unpacked operation allows us to drop the per-operand MetaHalfArithmetic entry, simplifying the code overall.
2019-04-15shader_ir/decode: Implement half float saturationReinUsesLisp
2019-04-14shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp
2019-04-10vk_shader_decompiler: Implement flow primitivesReinUsesLisp
2019-04-10vk_shader_decompiler: Implement most common texture primitivesReinUsesLisp
2019-04-10vk_shader_decompiler: Implement texture decompilation helper functionsReinUsesLisp
2019-04-10vk_shader_decompiler: Implement Assign and LogicalAssignReinUsesLisp
2019-04-10vk_shader_decompiler: Implement non-OperationCode visitsReinUsesLisp
2019-04-10vk_shader_decompiler: Implement OperationCode decompilation interfaceReinUsesLisp
2019-04-10vk_shader_decompiler: Implement VisitReinUsesLisp
2019-04-10vk_shader_decompiler: Implement labels tree and flowReinUsesLisp
2019-04-10vk_shader_decompiler: Implement declarationsReinUsesLisp
2019-04-10vk_shader_decompiler: Declare and stub interface for a SPIR-V decompilerReinUsesLisp
2019-04-05video_core/engines: Remove unnecessary inclusions where applicableLioncash
Replaces header inclusions with forward declarations where applicable and also removes unused headers within the cpp file. This reduces a few more dependencies on core/memory.h
2019-04-03Merge pull request #2302 from ReinUsesLisp/vk-swapchainbunnei
vk_swapchain: Implement a swapchain manager
2019-04-02video_core: Abstract vk_sampler_cache into a templated classReinUsesLisp
2019-03-30Merge pull request #2297 from lioncash/reorderbunnei
video_core: Amend constructor initializer list order where applicable
2019-03-29vk_swapchain: Implement a swapchain managerReinUsesLisp
2019-03-27video_core: Amend constructor initializer list order where applicableLioncash
Specifies the members in the same order that initialization would take place in. This also silences -Wreorder warnings.
2019-03-27video_core: Add missing override specifiersLioncash
Ensures that the signatures will always match with the base class. Also silences a few compilation warnings.
2019-03-20gpu: Move GPUVAddr definition to common_types.bunnei
2019-03-14gpu: Use host address for caching instead of guest address.bunnei
2019-03-12vk_sampler_cache: Use operator== instead of memcmpMat M
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-03-12vk_sampler_cache: Implement a sampler cacheReinUsesLisp
2019-03-08Merge pull request #2191 from ReinUsesLisp/maxwell-to-vkbunnei
maxwell_to_vk: Initial implementation
2019-03-05video_core/engines: Remove unnecessary includesLioncash
Removes a few unnecessary dependencies on core-related machinery, such as the core.h and memory.h, which reduces the amount of rebuilding necessary if those files change. This also uncovered some indirect dependencies within other source files. This also fixes those.
2019-03-04maxwell_to_vk: Initial implementationReinUsesLisp