aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
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_IR: Address feedback.Fernando Sahmkow
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-24Shader_IR: Change name of TrackSampler function so it does not confuse with ↵Fernando Sahmkow
the type.
2020-01-24Shader_IR: Corrections, styling and extras.Fernando Sahmkow
2020-01-24Shader_IR: Correct Custom Variable assignment.Fernando Sahmkow
2020-01-24Shader_IR: Propagate bindless index into the GL compiler.Fernando Sahmkow
2020-01-24Shader_IR: Implement Injectable Custom Variables to the IR.Fernando Sahmkow
2020-01-24GL Backend: Introduce indexed samplers into the GL backendFernando Sahmkow
2020-01-24Shader_IR: deduce size of indexed samplersFernando Sahmkow
2020-01-24Shader_IR: Setup Indexed Samplers on the IRFernando Sahmkow
2020-01-24Shader_IR: Implement initial code for tracking indexed samplers.Fernando Sahmkow
2020-01-24Shader_IR: Address FeedbackFernando Sahmkow
2020-01-24Shader_IR: Allow constant access of guest driver.Fernando Sahmkow
2020-01-24Shader_IR: Address FeedbackFernando Sahmkow
2020-01-24Guest_driver: Correct compiling errors in GCC.Fernando Sahmkow
2020-01-24Shader_IR: Store Bound buffer on Shader UsageFernando Sahmkow
2020-01-24GPU: Implement guest driver profile and deduce texture handler sizes.Fernando Sahmkow
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