aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-03-13shader_decode: Reimplement BFE instructionsNguyen Dac Nam
2020-03-12gl_shader_decompiler: Initialize gl_Position on vertex shadersReinUsesLisp
2020-03-12Merge pull request #3483 from namkazt/patch-1Fernando Sahmkow
vk_rasterizer: fix mistype on SetupGraphicsImages
2020-03-12Merge pull request #3480 from ReinUsesLisp/vk-disabled-uboFernando Sahmkow
vk_rasterizer: Support disabled uniform buffers
2020-03-12gl_shader_decompiler: Add missing {} on smem GLSL emissionReinUsesLisp
2020-03-12video_core: Implement RGBA16_SNORMReinUsesLisp
Implement RGBA16_SNORM with the current API. Nothing special here.
2020-03-12texture_cache: Report incompatible textures as blackReinUsesLisp
Some games bind incompatible texture types to certain types. For example Astral Chain binds a 2D texture with 1 layer (non-array) to a cubemap slot (that's how it's used in the shader). After testing this in hardware, the expected "undefined behavior" is to report all pixels as black. We already have a path for reporting black textures in the texture cache. When textures types are incompatible, this commit binds these kind of textures. This is done on the API agnostic texture cache so no extra code has to be inserted on OpenGL or Vulkan. As a side effect, this fixes invalidations of ASTC textures on Astral Chain. This happened because yuzu detected a cube texture and forced 6 faces, generating a texture larger than what the TIC reported.
2020-03-12texture_cache/surface_params: Force depth=1 on 2D texturesReinUsesLisp
Sometimes games will sample a 2D array TIC with a 2D access in the shader. This causes bad interactions with the rest of the texture cache. To emulate what the game wants to do, force a depth=1 on 2D textures (not 2D arrays) and let the texture cache handle the rest.
2020-03-12gl_shader_decompiler: Add layer component to texelFetchReinUsesLisp
TexelFetch was not emitting the array component generating invalid GLSL.
2020-03-12gl_shader_decompiler: Fix regression in render target declarationsReinUsesLisp
A previous commit introduced a way to declare as few render targets as possible. Turns out this introduced a regression in some games.
2020-03-11gl_shader_manager: Fix interaction between graphics and computeReinUsesLisp
After a compute shader was set to the pipeline, no graphics shader was invoked again. To address this use glUseProgram to bind compute shaders (without state tracking) and call glUseProgram(0) when transitioning out of it back to the graphics pipeline.
2020-03-09gl_rasterizer: Implement polygon modes and fill rectanglesReinUsesLisp
2020-03-09engines/maxwell_3d: Add TFB registers and store them in shader registryReinUsesLisp
2020-03-09shader/registry: Address feedbackReinUsesLisp
2020-03-09gl_shader_decompiler: Add identifier to decompiled codeReinUsesLisp
2020-03-09gl_shader_decompiler: Roll back to GLSL core 430ReinUsesLisp
RenderDoc won't build shaders if we use GLSL compatibility.
2020-03-09const_buffer_engine_interface: Store component typesReinUsesLisp
This is required for Vulkan. Sampling integer textures with float handles is illegal.
2020-03-09yuzu/loading_screen: Remove unused shader progress modeReinUsesLisp
2020-03-09gl_shader_cache: Reduce registry consistency to debug assertReinUsesLisp
Registry consistency is something that practically can't happen and it has a measurable runtime cost. Reduce it to a DEBUG_ASSERT.
2020-03-09shader/registry: Cache tessellation stateReinUsesLisp
2020-03-09shader/registry: Store graphics and compute metadataReinUsesLisp
Store information GLSL forces us to provide but it's dynamic state in hardware (workgroup sizes, primitive topology, shared memory size).
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp
Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
2020-03-09Merge pull request #3301 from ReinUsesLisp/state-trackerRodrigo Locatti
video_core: Remove gl_state and use a state tracker based on dirty flags
2020-03-08textures: Fix anisotropy hackReinUsesLisp
Previous code could generate an anisotropy value way higher than x16.
2020-03-07Merge pull request #3452 from Morph1984/anisotropic-filteringbunnei
frontend/Graphics: Add "Advanced" graphics tab and experimental Anisotropic Filtering support
2020-03-08vk_reasterizer: fix mistype on SetupGraphicsImagesNguyen Dac Nam
This should use Maxwell3D engine. Fixed some GPU error on Kirby and maybe other games.
2020-03-07Merge pull request #3481 from ReinUsesLisp/abgr5-storagebunnei
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-06vk_rasterizer: Support disabled uniform buffersReinUsesLisp
2020-03-06maxwell_to_vk: Remove Storage capability for A1B5G5R5UReinUsesLisp
2020-03-05Merge pull request #3463 from ReinUsesLisp/vk-toctoubunnei
vk_swapchain: Silence TOCTOU race condition
2020-03-05Merge pull request #3451 from ReinUsesLisp/indexed-texturesbunnei
vk_shader_decompiler: Implement indexed textures
2020-03-04Merge pull request #3469 from namkazt/patch-1bunnei
shader_decode: Fix LD, LDG when track constant buffer
2020-03-03Merge pull request #3455 from ReinUsesLisp/attr-scaledbunnei
video_core: Implement more scaled attribute formats
2020-02-29nit: move comment to right place.Nguyen Dac Nam
2020-02-28video_core/dirty_flags: Address feedbackReinUsesLisp
2020-02-28renderer_opengl: Fix edge-case where alpha testing might cull presentationReinUsesLisp
2020-02-28gl_texture_cache: Remove blending disable on blitsReinUsesLisp
Blending doesn't affect blits. Rasterizer discard does, update the commentaries.
2020-02-28gl_rasterizer: Don't disable blending on clearsReinUsesLisp
Blending doesn't affect clears.
2020-02-28dirty_flags: Deduplicate code between OpenGL and VulkanReinUsesLisp
2020-02-28vk_rasterizer: Pass Maxwell registers to dynamic updatesReinUsesLisp
2020-02-28state_tracker: Remove type traits with named structuresReinUsesLisp
2020-02-28vk_state_tracker: Implement dirty flags for stencil propertiesReinUsesLisp
2020-02-28vk_state_tracker: Implement dirty flags for depth boundsReinUsesLisp
2020-02-28vk_state_tracker: Implement dirty flags for blend constantsReinUsesLisp
2020-02-28vk_state_tracker: Implement dirty flags for depth biasReinUsesLisp
2020-02-28vk_state_tracker: Implement dirty flags for scissorsReinUsesLisp
2020-02-28vk_state_tracker: Initial implementationReinUsesLisp
Add support for render targets and viewports.
2020-02-28gl_rasterizer: Remove num vertex buffers magic numberReinUsesLisp
2020-02-28gl_rasterizer: Only apply polygon offset clamp if enabledReinUsesLisp