aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-12-10Maxwell3D: Implement Depth Mode.Fernando Sahmkow
This commit finishes adding depth mode that was reverted before due to other unresolved issues.
2019-12-10vk_shader_decompiler: Fix build issues on old gcc versionsReinUsesLisp
2019-12-09vk_shader_decompiler: Reduce YNegate's severityReinUsesLisp
2019-12-09shader_ir/other: Implement S2R InvocationIdReinUsesLisp
2019-12-09vk_shader_decompiler: Misc changesReinUsesLisp
Update Sirit and its usage in vk_shader_decompiler. Highlights: - Implement tessellation shaders - Implement geometry shaders - Implement some missing features - Use native half float instructions when available.
2019-12-09shader: Keep track of shaders using warp instructionsReinUsesLisp
2019-12-09shader_ir/memory: Implement patch storesReinUsesLisp
2019-12-09vk_device: Misc changesReinUsesLisp
- Setup more features and requirements. - Improve logging for missing features. - Collect telemetry parameters. - Add queries for more image formats. - Query push constants limits. - Optionally enable some extensions.
2019-12-08Merge pull request #3198 from ReinUsesLisp/tessellation-maxwellbunnei
maxwell_3d: Add tessellation state entries
2019-12-08externals: Update Vulkan-HeadersReinUsesLisp
2019-12-06vk_swapchain: Add support for swapping sRGBReinUsesLisp
We don't know until the game is running if it's using an sRGB color space or not. Add support for hot-swapping swapchain surface formats.
2019-12-06maxwell_3d: Add tessellation tess level registersReinUsesLisp
2019-12-06maxwell_3d: Add tessellation mode registerReinUsesLisp
2019-12-06maxwell_3d: Add patch vertices registerReinUsesLisp
2019-12-06shader_bytecode: Remove corrupted characterReinUsesLisp
2019-12-06Merge pull request #3109 from FernandoS27/new-instrbunnei
Implement FLO & TXD Instructions on GPU Shaders
2019-12-02Merge pull request #2987 from FernandoS27/texture-invalidbunnei
Texture_Cache: Redo invalid Surfaces handling.
2019-11-30Merge pull request #3184 from ReinUsesLisp/framebuffer-cachebunnei
gl_framebuffer_cache: Optimize framebuffer cache management
2019-11-29texture_cache/surface_base: Fix out of bounds texture viewsReinUsesLisp
Some texture views were being created out of bounds (with more layers or mipmaps than what the original texture has). This is because of a miscalculation in mipmap bounding. end_layer and end_mipmap are out of bounds (e.g. layer 6 in a cubemap), there's no need to add one more there. Fixes OpenGL errors and Vulkan crashes on Splatoon 2.
2019-11-28gl_framebuffer_cache: Optimize framebuffer keyReinUsesLisp
Pack color attachment enumerations into a single u32. To determine the number of buffers, the highest color attachment with a shared pointer that doesn't point to null is used.
2019-11-28gl_rasterizer: Re-enable framebuffer cache for clear buffersReinUsesLisp
2019-11-28Merge pull request #3169 from lioncash/memorybunnei
core/memory: Deglobalize memory management code
2019-11-27Merge pull request #3174 from lioncash/optionalRodrigo Locatti
video_core/gpu_thread: Tidy up SwapBuffers()
2019-11-27video_core/gpu_thread: Tidy up SwapBuffers()Lioncash
We can just use std::nullopt and std::make_optional to make this a little bit less noisy.
2019-11-27video_core/const_buffer_locker: Make use of std::tie in HasEqualKeys()Lioncash
Tidies it up a little bit visually.
2019-11-27video_core/const_buffer_locker: Remove unused includesLioncash
2019-11-27video_core/const_buffer_locker: Remove #pragma once from cpp fileLioncash
Silences a compiler warning.
2019-11-26core/memory: Migrate over RasterizerMarkRegionCached() to the Memory classLioncash
This is only used within the accelerated rasterizer in two places, so this is also a very trivial migration.
2019-11-26core/memory: Migrate over GetPointer()Lioncash
With all of the interfaces ready for migration, it's trivial to migrate over GetPointer().
2019-11-26core: Prepare various classes for memory read/write migrationLioncash
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
2019-11-26Merge pull request #3143 from ReinUsesLisp/indexing-bugbunnei
gl_device: Deduce indexing bug from device instead of heuristic
2019-11-25gl_shader_decompiler: Fix casts from fp32 to f16ReinUsesLisp
Casts from f32 to f16 zeroes the higher half of the target register.
2019-11-25gl_device: Deduce indexing bug from device instead of heuristicReinUsesLisp
The heuristic to detect AMD's driver was not working properly since it also included Intel. Instead of using heuristics to detect it, compare the GL_VENDOR string.
2019-11-24Merge pull request #3158 from ReinUsesLisp/srgb-blitbunnei
gl_texture_cache: Apply sRGB on blits
2019-11-24Merge pull request #3155 from bunnei/fix-asynch-gpu-waitbunnei
gpu_thread: Don't spin wait if there are no GPU commands.
2019-11-24Merge pull request #3098 from ReinUsesLisp/shader-invalidationsbunnei
gl_shader_cache: Miscellaneous changes to shaders
2019-11-24gl_texture_cache: Apply sRGB on blitsReinUsesLisp
glBlitFramebuffer keeps in mind GL_FRAMEBUFFER_SRGB's state. Enable this depending on the target surface pixel format.
2019-11-24Merge pull request #3105 from ReinUsesLisp/fix-stencil-regbunnei
maxwell_3d: Fix stencil_back_func_mask offset
2019-11-24Merge pull request #3145 from ReinUsesLisp/buffer-cache-initbunnei
buffer_cache: Remove brace initialized for objects with default constructor
2019-11-23gpu_thread: Don't spin wait if there are no GPU commands.bunnei
2019-11-23Merge pull request #3141 from ReinUsesLisp/gl-positionbunnei
gl_shader_gen: Apply default value to gl_Position
2019-11-22gl_device: Reserve base bindings on limited devicesReinUsesLisp
SSBOs and other resources are limited per pipeline on Intel and AMD. Heuristically reserve resources per stage having in mind the reported OpenGL limits.
2019-11-22gl_state: Skip null texture bindsReinUsesLisp
glBindTextureUnit doesn't support null textures. Skip binding these.
2019-11-22gl_rasterizer: Disable compute shaders on IntelReinUsesLisp
Intel's proprietary driver enters in a corrupt state when compute shaders are executed. For now, disable these.
2019-11-22gl_shader_cache: Hack shared memory sizeReinUsesLisp
The current shared memory size seems to be smaller than what the game actually uses. This makes Nvidia's driver consistently blow up; in the case of FE3H it made it explode on Qt's SwapBuffers while SDL2 worked just fine. For now keep this hack since it's still progress over the previous hardcoded shared memory size.
2019-11-22gl_shader_decompiler: Normalize image bindingsReinUsesLisp
2019-11-22gl_shader_decompiler: Normalize cbuf bindingsReinUsesLisp
Stage and compute shaders were using a different binding counter. Normalize these.
2019-11-22gl_rasterizer: Add missing cbuf counter reset on computeReinUsesLisp
2019-11-22gl_shader_cache: Remove dynamic BaseBinding specializationReinUsesLisp
2019-11-22video_core: Unify ProgramType and ShaderStage into ShaderTypeReinUsesLisp