aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-01-30Merge pull request #3347 from ReinUsesLisp/local-membunnei
shader/memory: Implement LDL.S16, LDS.S16, STL.S16 and STS.S16
2020-01-29Merge pull request #3350 from ReinUsesLisp/atombunnei
shader/memory: Implement ATOM.ADD
2020-01-29Merge pull request #3355 from ReinUsesLisp/break-downbunnei
texture_cache/surface_base: Fix layered break down
2020-01-29Merge pull request #3358 from ReinUsesLisp/implicit-texture-cachebunnei
gl_texture_cache: Silence implicit sign cast warnings
2020-01-28Merge pull request #3359 from ReinUsesLisp/assert-point-sizebunnei
gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSize
2020-01-28gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSizeReinUsesLisp
This was implemented by a previous commit and it's no longer required.
2020-01-27gl_texture_cache: Silence implicit sign cast warningsReinUsesLisp
2020-01-26texture_cache/surface_base: Fix layered break downReinUsesLisp
Layered break downs was passing "layer" as a "depth" parameter. This commit addresses that.
2020-01-26gl_texture_cache: Properly implement depth/stencil samplingReinUsesLisp
This addresses the long standing issue of compatibility vs. core profiles on OpenGL, properly implementing depth vs. stencil sampling depending on the texture swizzle.
2020-01-26shader/memory: Implement ATOM.ADDReinUsesLisp
ATOM operates atomically on global memory. For now only add ATOM.ADD since that's what was found in commercial games. This asserts for ATOM.ADD.S32 (handling the others as unimplemented), although ATOM.ADD.U32 shouldn't be any different. This change forces us to change the default type on SPIR-V storage buffers from float to uint. We could also alias the buffers, but it's simpler for now to just use uint. While we are at it, abstract the code to avoid repetition.
2020-01-25shader/memory: Implement STL.S16 and STS.S16ReinUsesLisp
2020-01-25shader/memory: Implement unaligned LDL.S16 and LDS.S16ReinUsesLisp
2020-01-25shader/memory: Move unaligned load/store to functionsReinUsesLisp
2020-01-25shader/memory: Implement LDL.S16 and LDS.S16ReinUsesLisp
2020-01-24Merge pull request #3344 from ReinUsesLisp/vk-botwbunnei
vk_shader_decompiler: Disable default values on unwritten render targets
2020-01-24Merge pull request #3273 from FernandoS27/txd-arraybunnei
Shader_IR: Implement TXD Array.
2020-01-24vk_shader_decompiler: Disable default values on unwritten render targetsReinUsesLisp
Some games like The Legend of Zelda: Breath of the Wild assign render targets without writing them from the fragment shader. This generates Vulkan validation errors, so silence these I previously introduced a commit to set "vec4(0, 0, 0, 1)" for these attachments. The problem is that this is not what games expect. This commit reverts that change.
2020-01-21gl_shader_cache: Disable fastmath on NvidiaReinUsesLisp
2020-01-20Merge pull request #3330 from ReinUsesLisp/vk-blit-screenFernando Sahmkow
vk_blit_screen: Initial implementation
2020-01-20vk_blit_screen: Address feedbackReinUsesLisp
2020-01-20Merge pull request #3328 from ReinUsesLisp/vulkan-atomsbunnei
vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-V
2020-01-19Merge pull request #3322 from ReinUsesLisp/vk-front-facebunnei
vk_graphics_pipeline: Set front facing properly
2020-01-19vk_blit_screen: Initial implementationReinUsesLisp
This abstraction takes care of presenting accelerated and non-accelerated or "framebuffer" images to the Vulkan swapchain.
2020-01-19Merge pull request #3313 from ReinUsesLisp/vk-rasterizerbunnei
vk_rasterizer: Implement Vulkan's rasterizer
2020-01-19vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-VReinUsesLisp
Also updates sirit to include atomic instructions.
2020-01-18Merge pull request #3317 from ReinUsesLisp/gl-decomp-cc-decompFernando Sahmkow
gl_shader_decompiler: Fix decompilation of condition codes
2020-01-18gl_state: Use bool instead of GLbooleanReinUsesLisp
This fixes template resolution considering GLboolean an integer instead of a bool.
2020-01-18vk_graphics_pipeline: Set front facing properlyReinUsesLisp
Front face was being forced to a certain value when cull face is disabled. Set a default value on initialization and drop the forcefully set front facing value with culling disabled.
2020-01-18Merge pull request #3305 from ReinUsesLisp/point-size-programbunnei
gl_state: Implement PROGRAM_POINT_SIZE
2020-01-18Merge pull request #3312 from ReinUsesLisp/atoms-u32bunnei
shader/memory: Implement ATOMS.ADD.U32
2020-01-17vk_rasterizer: Address feedbackReinUsesLisp
2020-01-17gl_shader_decompiler: Fix decompilation of condition codesReinUsesLisp
Use Visit instead of reimplementing it. Fixes unimplemented negations for condition codes.
2020-01-17Merge pull request #3306 from ReinUsesLisp/gl-texturebunnei
gl_texture_cache: Minor fixes and style changes
2020-01-17Merge pull request #3311 from ReinUsesLisp/z32fx24s8bunnei
format_lookup_table: Fix ZF32_X24S8 component types
2020-01-16vk_rasterizer: Implement Vulkan's rasterizerReinUsesLisp
This abstraction is Vulkan's equivalent to OpenGL's rasterizer. It takes care of joining all parts of the backend and rendering accordingly on demand.
2020-01-16renderer_vulkan: Add header as placeholderReinUsesLisp
2020-01-16Merge pull request #3300 from ReinUsesLisp/vk-texture-cachebunnei
vk_texture_cache: Implement generic texture cache on Vulkan
2020-01-16vk_texture_cache: Address feedbackReinUsesLisp
2020-01-16shader/memory: Implement ATOMS.ADD.U32ReinUsesLisp
2020-01-16format_lookup_table: Fix ZF32_X24S8 component typesReinUsesLisp
Component types for ZF32_X24S8 were using UNORM. Drivers will set FLOAT, UINT, UNORM, UNORM; causing a format mismatch. This commit addresses that.
2020-01-16vk_texture_cache: Fix typo in commentaryRodrigo Locatti
Co-Authored-By: MysticExile <30736337+MysticExile@users.noreply.github.com>
2020-01-16Merge pull request #3308 from lioncash/privatebunnei
maxwell_3d: Make dirty_pointers private
2020-01-16Merge pull request #3304 from lioncash/fwd-declbunnei
renderer_opengl/utils: Forward declare private structs
2020-01-16maxwell_3d: Make dirty_pointers privateLioncash
This isn't used outside of the class itself, so we can make it private for the time being.
2020-01-15gl_state: Implement PROGRAM_POINT_SIZEReinUsesLisp
For gl_PointSize to have effect we have to activate GL_PROGRAM_POINT_SIZE.
2020-01-15renderer_opengl/utils: Remove unused header inclusionsLioncash
Nothing from these headers are used, so they can be removed.
2020-01-15renderer_opengl/utils: Forward declare private structsLioncash
Keeps the definitions hidden and allows changes to the structs without needing to recompile all users of classes containing said structs.
2020-01-14gl_texture_cache: Use local variables to simplify DownloadTextureReinUsesLisp
2020-01-14gl_texture_cache: Fix format for RGBX16FReinUsesLisp
2020-01-14gl_texture_cache: Use Snorm internal format for RG8SReinUsesLisp