aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
AgeCommit message (Collapse)Author
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-02-28renderer_opengl: Reintroduce dirty flags for render targetsReinUsesLisp
2020-02-28gl_rasterizer: Remove dirty flagsReinUsesLisp
2020-02-25Merge pull request #3417 from ReinUsesLisp/r32ibunnei
texture: Implement R32I
2020-02-24Merge pull request #3425 from ReinUsesLisp/layered-framebufferbunnei
texture_cache: Implement layered framebuffer attachments
2020-02-22Merge pull request #3422 from ReinUsesLisp/buffer-flushbunnei
surface_base: Implement texture buffer flushes
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp
Layered framebuffer attachments is a feature that allows applications to write attach layered textures to a single attachment. What layer the fragments are written to is decided from the shader using gl_Layer.
2020-02-16texture_cache: Avoid matches in 3D texturesReinUsesLisp
Code before this commit was trying to match 3D textures with another target. Fix that.
2020-02-16surface_base: Implement texture buffer flushesReinUsesLisp
Implement downloads to guest memory from texture buffers on the generic cache and OpenGL.
2020-02-15texture: Implement R32IReinUsesLisp
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-17Merge pull request #3311 from ReinUsesLisp/z32fx24s8bunnei
format_lookup_table: Fix ZF32_X24S8 component types
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-13texture_cache/surface_params: Make GetNumLayers publicReinUsesLisp
2019-12-22Texture Cache: Improve documentationFernando Sahmkow
2019-12-22Texture Cache: Address FeedbackFernando Sahmkow
2019-12-22Texture Cache: Add HLE methods for building 3D textures within the GPU in ↵Fernando Sahmkow
certain scenarios. This commit adds a series of HLE methods for handling 3D textures in general. This helps games that generate 3D textures on every frame and may reduce loading times for certain games.
2019-12-02Merge pull request #2987 from FernandoS27/texture-invalidbunnei
Texture_Cache: Redo invalid Surfaces handling.
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-20Texture_Cache: Redo invalid Surfaces handling.Fernando Sahmkow
This commit aims to redo the full setup of invalid textures and guarantee correct behavior across backends in the case of finding one by using black dummy textures that match the target of the expected texture.
2019-11-14format_lookup_table: Address feedbackReinUsesLisp
format_lookup_table: Drop bitfields format_lookup_table: Use std::array for definition table format_lookup_table: Include <limits> instead of <numeric>
2019-11-14texture_cache: Use a table instead of switch for texture formatsReinUsesLisp
Use a large flat array to look up texture formats. This allows us to properly implement formats with different component types. It should also be faster.
2019-11-14texture_cache: Drop abstracted ComponentTypeReinUsesLisp
Abstracted ComponentType was not being used in a meaningful way. This commit drops its usage. There is one place where it was being used to test compatibility between two cached surfaces, but this one is implied in the pixel format. Removing the component type test doesn't change the behaviour.
2019-10-16Merge pull request #2978 from lioncash/doxygenRodrigo Locatti
video_core/texture_cache: Amend Doxygen references
2019-10-15texture_cache: Avoid unnecessary surface copies within PickStrategy() and ↵Lioncash
TryReconstructSurface() We can take these by const reference and avoid making unnecessary copies, preventing some atomic reference count increments and decrements.
2019-10-15video_core/texture_cache: Amend Doxygen referencesLioncash
Amends the doxygen comments so that they properly resolve. While we're at it, we can correct some typos and fix up some of the comments' formatting in order to make them slightly nicer to read.
2019-10-15common: Rename binary_find.h to algorithm.hLioncash
Makes the header more general for other potential algorithms in the future. While we're at it, include a missing <functional> include to satisfy the use of std::less.
2019-10-04Texture_Cache: Blit Deduction corrections and simplifications.Fernando Sahmkow
2019-10-04TextureCache: Add the ability to deduce if two textures are depth on blit.Fernando Sahmkow
2019-09-05texture_cache: Minor changesReinUsesLisp
2019-09-05gl_rasterizer: Implement image bindingsReinUsesLisp
2019-09-05texture_cache: Pass TIC to texture cacheReinUsesLisp
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti
* texture_cache/surface_params: Remove unused local variable * rasterizer_interface: Add missing documentation commentary * maxwell_dma: Remove unused rasterizer reference * video_core/gpu: Sort member declaration order to silent -Wreorder warning * fermi_2d: Remove unused MemoryManager reference * video_core: Silent unused variable warnings * buffer_cache: Silent -Wreorder warnings * kepler_memory: Remove unused MemoryManager reference * gl_texture_cache: Add missing override * buffer_cache: Add missing include * shader/decode: Remove unused variables
2019-07-25Merge pull request #2739 from lioncash/cflowbunnei
video_core/control_flow: Minor changes/warning cleanup
2019-07-18video_core: Resolve -Wreorder warningsLioncash
Ensures that the constructor members are always initialized in the order that they're declared in.
2019-07-17Texture_Cache: Rebase FixesFernando Sahmkow
2019-07-17Maxwell3D: Rework the dirty system to be more consistant and scaleableFernando Sahmkow
2019-07-14Texture_Cache: Address FeedbackFernando Sahmkow
2019-07-14Texture_Cache: Remove some unprecise fallback case and clang formatFernando Sahmkow
2019-07-14Texture_Cache: Force Framebuffer reset if an active render target is ↵Fernando Sahmkow
unregistered.
2019-07-14Texture_Cache: Correct Linear Structural Match.Fernando Sahmkow
2019-07-05texture_cache: Address FeedbackFernando Sahmkow
2019-07-04texture_cache: Correct Texture Buffer UploadingFernando Sahmkow
2019-06-29texture_cache: Pack sibling queries inside a methodReinUsesLisp
2019-06-29texture_cache: Use std::vector reservation for sampled_texturesReinUsesLisp
2019-06-29texture_cache: Style changesReinUsesLisp
2019-06-29texture_cache: Use std::array for siblings_tableReinUsesLisp
2019-06-29texture_cache: Address feedbackReinUsesLisp
2019-06-25texture_cache: Correct variable naming.Fernando Sahmkow
2019-06-25texture_cache: Corrections, documentation and assertsFernando Sahmkow