summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/surface_params.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* CMakeLists: Specify -Wextra on linux buildsLioncash2020-04-161-1/+0
| | | | | | | | | | | Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
* Merge pull request #3599 from ReinUsesLisp/revert-3499bunnei2020-04-071-4/+2
|\ | | | | Revert "Merge pull request #3499 from ReinUsesLisp/depth-2d-array"
| * Revert "Merge pull request #3499 from ReinUsesLisp/depth-2d-array"ReinUsesLisp2020-04-041-4/+2
| | | | | | | | | | | | | | This reverts commit 41905ee467b24172ba93e3fcd665bb4e4806a45a, reversing changes made to 35145bd529c3517e2c366efc764a762092d96edf. It causes regressions in several games.
* | video_core: Use native ASTC when availableReinUsesLisp2020-04-011-15/+13
|/
* texture_cache/surface_params: Force depth=1 on 2D texturesReinUsesLisp2020-03-121-2/+4
| | | | | | | 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.
* texture_cache: Implement layered framebuffer attachmentsReinUsesLisp2020-02-161-23/+24
| | | | | | 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.
* Texture Cache: Add HLE methods for building 3D textures within the GPU in certain scenarios.Fernando Sahmkow2019-12-221-0/+38
| | | | | | 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.
* Texture_Cache: Redo invalid Surfaces handling.Fernando Sahmkow2019-11-201-0/+10
| | | | | | | 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.
* texture_cache: Use a table instead of switch for texture formatsReinUsesLisp2019-11-151-8/+12
| | | | | | 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.
* texture_cache: Drop abstracted ComponentTypeReinUsesLisp2019-11-141-10/+2
| | | | | | | | | 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.
* gl_rasterizer: Implement image bindingsReinUsesLisp2019-09-061-28/+77
|
* texture_cache: Pass TIC to texture cacheReinUsesLisp2019-09-061-19/+18
|
* Texture_Cache: Address FeedbackFernando Sahmkow2019-07-141-5/+4
|
* Texture_Cache: Remove some unprecise fallback case and clang formatFernando Sahmkow2019-07-141-4/+5
|
* Texture_Cache: Force Framebuffer reset if an active render target is unregistered.Fernando Sahmkow2019-07-141-3/+10
|
* texture_cache: Correct Texture Buffer UploadingFernando Sahmkow2019-07-051-0/+2
|
* surface_params: Corrections, asserts and documentation.Fernando Sahmkow2019-06-261-2/+2
|
* texture_cache: Correct format R16U as siblingFernando Sahmkow2019-06-211-0/+1
|
* texture_cache: Corrections to buffers and shadow formats use.Fernando Sahmkow2019-06-211-10/+34
|
* texture_cache: correct texture buffer on surface paramsFernando Sahmkow2019-06-211-4/+11
|
* texture_cache: move some large methods to cpp filesFernando Sahmkow2019-06-211-33/+0
|
* texture_cache uncompress-compress is untopological.Fernando Sahmkow2019-06-211-0/+4
| | | | | | This makes conflicts between non compress and compress textures to be auto recycled. It also limits the amount of mipmaps a texture can have if it goes above it's limit.
* texture_cache: General FixesFernando Sahmkow2019-06-211-22/+30
| | | | | | | Fixed ASTC mipmaps loading Fixed alignment on openGL upload/download Fixed Block Height Calculation Removed unalign_height
* surface_params: Ensure pitch is always written to avoid surface leaksReinUsesLisp2019-06-211-0/+2
|
* surface_params: Optimize CreateForTextureReinUsesLisp2019-06-211-2/+4
| | | | | Instead of using Common::AlignUp, use Common::AlignBits to align the texture compression factor.
* texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepthFernando Sahmkow2019-06-211-13/+6
|
* video_core: Use un-shifted block sizes to avoid integer divisionsReinUsesLisp2019-06-211-19/+20
| | | | | | | | | | | | Instead of storing all block width, height and depths in their shifted form: block_width = 1U << block_shift; Store them like they are provided by the emulated hardware (their block_shift form). This way we can avoid doing the costly Common::AlignUp operation to align texture sizes and drop CPU integer divisions with bitwise logic (defined in Common::AlignBits).
* Reduce amount of size calculations.Fernando Sahmkow2019-06-211-30/+1
|
* Correct Surface Base and Views for new Texture CacheFernando Sahmkow2019-06-211-135/+75
|
* texture_cache: Split texture cache into different filesReinUsesLisp2019-06-211-0/+412