summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_texture_cache.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-10-11Do not set rescaled flag when rescaling is disabledKelebek11-6/+8
2023-08-14gl_texture_cache: Enable async downloadsAmeer J1-2/+6
2023-08-06Revert "HACK: Avoid swizzling and reuploading ASTC image every frame"Ameer J1-8/+1
This reverts commit b18c1fb1bbbcc235e9a1cbbb2704fed2e5895e61.
2023-08-06HACK: Avoid swizzling and reuploading ASTC image every frameAmeer J1-1/+8
2023-07-21settings,general: Rename non-confirming enumslat9nq1-2/+2
2023-07-21settings,video_core: Consolidate ASTC decoding optionslat9nq1-4/+4
Just puts them all neatly into one place.
2023-06-15video_core: Fallback to default anisotropy instead to 1x anisotropyWollnashorn1-2/+4
2023-06-15video_core: Fixed compilation errors because of name shadowingWollnashorn1-6/+6
2023-06-15video_core: Add per-image anisotropy heuristics (format & mip count)Wollnashorn1-30/+40
2023-05-28gl_texture_cache: Fix ASTC CPU decoding with compression disabledameerj1-2/+7
gl_format was incorrectly being overwritten when compression was disabled
2023-05-28OpenGL: Make use of persistent buffer maps in buffer cache downloadsameerj1-75/+12
Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache. In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being.
2023-05-23textures: add BC1 and BC3 compressors and recompression settingLiam1-2/+29
2023-05-09Texture Cache: Fix ASTC texturesFernando Sahmkow1-1/+1
2023-05-06Log object names with debug renderer, add a GPU address to ImageViewsKelebek11-4/+5
2023-05-03GPU: implement missing ASTCFernando Sahmkow1-0/+3
2023-04-29Texture Cache: Release stagging buffers on tick frameFernando Sahmkow1-7/+12
2023-04-29TextureCache: refactor DMA downloads to allow multiple buffers.Fernando Sahmkow1-18/+23
2023-03-09OpenGL: Prefer glClientWaitSync for OGLSync objectsameerj1-3/+1
At least on Nvidia, glClientWaitSync with a timeout of 0 (non-blocking) is faster than glGetSynciv of GL_SYNC_STATUS.
2023-03-07Refactor AccelerateDMA codeameerj1-7/+17
2023-03-04Check all swizzle components for red, not just [0], pass float border color rather than intKelebek11-5/+8
2023-02-23configuration: Add async ASTC decode settingameerj1-3/+14
2023-02-11texture_cache: OpenGL: Implement MSAA uploads and copiesameerj1-0/+8
2022-11-14Add break for default casesKyle Kienapfel1-0/+2
Visual Studio has an option to search all files in a solution, so I did a search in there for "default:" looking for any missing break statements. I've left out default statements that return something, and that throw something, even if via ThrowInvalidType. UNREACHABLE leads towards throw R_THROW macro leads towards a return
2022-08-25video_code: support rectangle textureFengChen1-4/+5
2022-06-14common: Change semantics of UNREACHABLE to unconditionally crashLiam1-19/+19
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-14video_core: implement formats for N64 emulationFernando Sahmkow1-0/+26
2022-04-07OpenGL: fix S8D24 to ABGR8 conversionsLiam1-2/+11
2022-03-25GC: Address Feedback.Fernando Sahmkow1-9/+5
2022-03-25Garbage Collection: Final tuning.Fernando Sahmkow1-2/+2
2022-03-25Garbage Collection: Redesign the algorithm to do a better use of memory.Fernando Sahmkow1-2/+12
2021-12-24vk_texture_cache: Fix invalidated pointer accessameerj1-1/+1
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized. To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-11-20TextureCache: Refactor and fix linux compiling.Fernando Sahmkow1-4/+2
2021-11-20TextureCache: Implement buffer copies on Vulkan.Fernando Sahmkow1-2/+2
2021-11-18gl_texture_cache: Round format conversion PBO to next power of 2ameerj1-1/+5
2021-11-17renderer_opengl: Implement S8_UINT stencil formatMorph1-4/+22
2021-11-17Fix image update/download error when width too smallFeng Chen1-10/+17
2021-11-17texture_cache: Use pixel format conversion when supported by the runtimeameerj1-0/+6
2021-11-17gl_texture_cache: Make FormatConversionPass more genericameerj1-7/+12
This allows the usage of the FormatConversionPass to be applied to more than the previously used BGR conversion scenarios.
2021-11-17gl_texture_cache: Rename BGRCopyPass to FormatConversionPassameerj1-13/+10
2021-11-17TextureCache: OGL query device memory if possible.FernandoS271-1/+11
2021-11-17TextureCache: Fix OGL cleaningFernando Sahmkow1-0/+4
2021-11-16TextureCache: Add automatic anisotropic filtering and refactor code.Fernando Sahmkow1-7/+1
2021-11-16TextureCache: Make a better Anisotropic setter.Fernando Sahmkow1-1/+8
2021-11-16gl_resource_manager: Ensure non EXT_framebuffer objects are createdameerj1-12/+2
2021-11-16gl_texture_cache: Simplify scaling proceduresameerj1-56/+27
2021-11-16OpenGlTextureCache: Fix state invalidation on rescaling.Fernando Sahmkow1-0/+11
2021-11-16Texture Cache: fix memory managment and optimize scaled downloads, uploads.Fernando Sahmkow1-5/+19
2021-11-16Texture Cache: Fix downscaling and correct memory comsumption.Fernando Sahmkow1-11/+32
2021-11-16Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered.Fernando Sahmkow1-2/+8
2021-11-16video_core: Refactor resolution scale functionameerj1-6/+2
2021-11-16gl_texture_cache: Disable scissor test when scaling texturesameerj1-0/+8
Fixes a bug on BOTW where some objects were no longer being rendered after blitting
2021-11-16video_core: Misc resolution scaling related refactoringameerj1-19/+12
2021-11-16gl_texture_cache: Fix BGR pbo size for scaled texturesameerj1-11/+10
2021-11-16gl_texture_cache: Fix scaling backup logicameerj1-19/+14
2021-11-16vk_texture_cache: Use nearest neighbor scaling when availableameerj1-27/+0
2021-11-16gl_texture_cache: Fix depth and integer format scaling blitsameerj1-14/+59
2021-11-16gl_texture_cache/rescaling_pass: minor cleanupameerj1-3/+2
2021-11-16gl_texture_cache: Simplify scalingameerj1-30/+37
We don't need to reconstruct new textures every time we ScaleUp/ScaleDown. We can scale up once, and revert to the original texture whenever scaling down. Fixes memory leaks due to glDeleteTextures being deferred for later handling on some drivers
2021-11-16gl_texture_cache: fix scaling on uploadameerj1-0/+7
2021-11-16gl_texture_cache: Fix scaling blitsReinUsesLisp1-20/+12
2021-11-16gl_texture_cache: Fix multi layered texture Scaleameerj1-11/+15
2021-11-16texture_cache: Simplify image view queries and blacklistingReinUsesLisp1-5/+5
2021-11-16gl_texture_cache: Simplify rescalingameerj1-18/+13
2021-11-16gl_texture_cache: Implement ScaleDownameerj1-25/+35
2021-11-16gl_texture_cache: Rescale fixes for multi-layered texturesameerj1-16/+31
2021-11-16renderer_gl: Resolution scaling fixesameerj1-56/+80
2021-11-16Texture Cache: More rescaling fixes.Fernando Sahmkow1-2/+2
2021-11-16gl_texture_cache: WIP texture rescaleameerj1-3/+67
2021-11-16Texture Cache: Implement Vulkan UpScaling & DownScalingFernando Sahmkow1-4/+6
2021-11-16VideoCore: Initial Setup for the Resolution Scaler.Fernando Sahmkow1-0/+16
2021-10-03gpu: Migrate implementation to the cpp fileameerj1-0/+1
2021-09-17gl_texture_cache: Migrate BGRCopyPass from util_shadersameerj1-1/+34
The BGR copies no longer use shaders.
2021-09-16util_shaders: Unify BGRA copy passesameerj1-1/+1
2021-08-07texture_cache: Address ameerj's reviewyzct123451-0/+1
2021-08-05texture_cache: Don't change copyright yearyzct123451-1/+1
2021-08-05texture_cache: Split templates outyzct123451-4/+1
2021-07-23gl_texture_cache: Create image storage viewsReinUsesLisp1-33/+99
Fixes SULD.D tests.
2021-07-23shader: Initial OpenGL implementationReinUsesLisp1-179/+78
2021-07-23shader: Interact texture buffers with buffer cacheReinUsesLisp1-0/+4
2021-07-03TextureCacheOGL: Implement Image Copies for 1D and 1D Array.Fernando Sahmkow1-0/+26
2021-06-28video_core: Silence signed/unsigned mismatch warningsMorph1-1/+2
2021-06-20Reaper: Guarantee correct deletion.Fernando Sahmkow1-0/+2
2021-06-16configure_graphics: Add Accelerate ASTC decoding settingameerj1-1/+5
2021-05-08texture_cache: Handle out of bound texture blitsameerj1-5/+4
Some games interleave a texture blit using regions which are out-of-bounds. This addresses the interleaving to avoid oob reads from the src texture.
2021-03-25astc_decoder: Refactor for style and more efficient memory useameerj1-5/+6
2021-03-13renderer_opengl: Accelerate ASTC texture decoding with a compute shaderameerj1-1/+9
ASTC texture decoding is currently handled by a CPU decoder for GPU's without native ASTC decoding support (most desktop GPUs). This is the cause for noticeable performance degradation in titles which use the format extensively. This commit adds support to accelerate ASTC decoding using a compute shader on OpenGL for GPUs without native support.
2021-03-04renderer_opengl: Swizzle BGR textures on copyameerj1-2/+18
OpenGL does not natively support BGR internal formats, which causes many BGR textures to render incorrectly, with Red and Blue channels swapped. This commit aims to address this by swizzling the blue and red channels on texture copies when a BGR format is encountered.
2021-02-13gl_texture_cache: Lazily create non-sRGB texture views for sRGB formatsameerj1-0/+31
This creates non-sRGB texture views for sRGB texture formats to allow for interfacing with these views in compute shaders using imageLoad and imageStore. Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2021-02-13vk_staging_buffer_pool: Add stream buffer for small uploadsReinUsesLisp1-11/+10
This uses a ring buffer similar to OpenGL's stream buffer for small uploads. This stops us from allocating several small buffers, reducing memory fragmentation and cache locality. It uses dedicated allocations when possible.
2021-02-13video_core: Reimplement the buffer cacheReinUsesLisp1-9/+10
Reimplement the buffer cache using cached bindings and page level granularity for modification tracking. This also drops the usage of shared pointers and virtual functions from the cache. - Bindings are cached, allowing to skip work when the game changes few bits between draws. - OpenGL Assembly shaders no longer copy when a region has been modified from the GPU to emulate constant buffers, instead GL_EXT_memory_object is used to alias sub-buffers within the same allocation. - OpenGL Assembly shaders stream constant buffer data using glProgramBufferParametersIuivNV, from NV_parameter_buffer_object. In theory this should save one hash table resolve inside the driver compared to glBufferSubData. - A new OpenGL stream buffer is implemented based on fences for drivers that are not Nvidia's proprietary, due to their low performance on partial glBufferSubData calls synchronized with 3D rendering (that some games use a lot). - Most optimizations are shared between APIs now, allowing Vulkan to cache more bindings than before, skipping unnecesarry work. This commit adds the necessary infrastructure to use Vulkan object from OpenGL. Overall, it improves performance and fixes some bugs present on the old cache. There are still some edge cases hit by some games that harm performance on some vendors, this are planned to be fixed in later commits.
2021-01-04gl_texture_cache: Avoid format views on Intel and AMDReinUsesLisp1-0/+2
Intel and AMD proprietary drivers are incapable of rendering to texture views of different formats than the original texture. Avoid creating these at a cache level. This will consume more memory, emulating them with copies.
2021-01-04gl_texture_cache: Create base images with sRGBReinUsesLisp1-98/+95
This breaks accelerated decoders trying to imageStore into images with sRGB. The decoders are currently disabled so this won't cause issues at runtime.
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp1-553/+901
The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage.The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage. This commit aims to address those issues.
2020-12-07video_core: Remove unnecessary enum class casting in logging messagesLioncash1-2/+1
fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more. Reduces the line noise a bit.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash1-9/+9
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-12-04video_core: Resolve more variable shadowing scenariosLioncash1-10/+10
Resolves variable shadowing scenarios up to the end of the OpenGL code to make it nicer to review. The rest will be resolved in a following commit.
2020-09-06video_core: Remove all Core::System references in rendererReinUsesLisp1-4/+6
Now that the GPU is initialized when video backends are initialized, it's no longer needed to query components once the game is running: it can be done when yuzu is booting. This allows us to pass components between constructors and in the process remove all Core::System references in the video backend.
2020-08-24gl_texture_cache: Take std::string by reference in DecorateViewName()Lioncash1-1/+1
LabelGLObject takes a string_view, so we don't need to make copies of the std::string.
2020-07-13video_core: Rearrange pixel format namesReinUsesLisp1-86/+87
Normalizes pixel format names to match Vulkan names. Previous to this commit pixel formats had no convention, leading to confusion and potential bugs.
2020-07-13video_core: Fix DXT4 and RGB565ReinUsesLisp1-1/+3
2020-07-13video_core: Fix B5G6R5_UNORM render target formatReinUsesLisp1-0/+1
2020-07-13video_core: Fix B5G6R5UReinUsesLisp1-1/+1
2020-07-13video_core: Implement RGBA32_SINT render targetReinUsesLisp1-58/+59
2020-07-13video_core: Implement RGBA32_SINT render targetReinUsesLisp1-0/+1
2020-07-13video_core: Implement RGBA16_SINT render targetReinUsesLisp1-0/+1
2020-07-13video_core: Implement RGBA8_SINT render targetReinUsesLisp1-0/+1
2020-07-13video_core: Implement RG32_SINT render targetReinUsesLisp1-0/+1
2020-07-13video_core: Implement RG8_SINT render target and fix RG8_UINTReinUsesLisp1-1/+2
2020-07-13video_core: Implement R8_SINT render targetReinUsesLisp1-0/+1
2020-07-13video_core: Implement R8_SNORM render targetReinUsesLisp1-0/+1
2020-06-08texture_cache: Handle 3D texture blits with one layerReinUsesLisp1-2/+2
2020-06-08texture_cache: Implement rendering to 3D texturesReinUsesLisp1-18/+31
This allows rendering to 3D textures with more than one slice. Applications are allowed to render to more than one slice of a texture using gl_Layer from a VTG shader. This also requires reworking how 3D texture collisions are handled, for now, this commit allows rendering to slices but not to miplevels. When a render target attempts to write to a mipmap, we fallback to the previous implementation (copying or flushing as needed). - Fixes color correction 3D textures on UE4 games (rainbow effects). - Allows Xenoblade games to render to 3D textures directly.
2020-06-01gl_device: Avoid devices with CAVEAT_SUPPORT on ASTCReinUsesLisp1-2/+1
This avoids using Nvidia's ASTC decoder on OpenGL. The last time it was profiled, it was slower than yuzu's decoder. While we are at it, fix a bug in the texture cache when native ASTC is not supported.
2020-05-26gl_texture_cache: Implement small texture view cache for swizzlesReinUsesLisp1-16/+26
This fixes cases where the texture swizzle was applied twice on the same draw to a texture bound to two different slots.
2020-05-26texture_cache: Implement depth stencil texture swizzlesReinUsesLisp1-11/+28
Stop ignoring image swizzles on depth and stencil images. This doesn't fix a known issue on Xenoblade Chronicles 2 where an OpenGL texture changes swizzles twice before being used. A proper fix would be having a small texture view cache for this like we do on Vulkan.
2020-04-30texture: Implement R8G8UIMorph1-0/+1
- Used by The Walking Dead: The Final Season
2020-04-13gl_texture_cache: Fix layered texture attachment base levelReinUsesLisp1-1/+1
The base level is already included in the texture view. If we specify the base level in the texture again, this will end up in the incorrect level and potentially out of bounds.
2020-04-09gl_texture_cache: Attach view instead of base texture for layered attachmentsReinUsesLisp1-2/+2
This way we are not ignoring the base layer of the current texture.
2020-04-01gl_texture_cache: Fix software ASTC fallbackReinUsesLisp1-7/+12
2020-04-01video_core: Use native ASTC when availableReinUsesLisp1-99/+95
2020-03-13video_core: Implement RGBA16_SNORMReinUsesLisp1-0/+1
Implement RGBA16_SNORM with the current API. Nothing special here.
2020-02-28gl_texture_cache: Remove blending disable on blitsReinUsesLisp1-5/+0
Blending doesn't affect blits. Rasterizer discard does, update the commentaries.
2020-02-28gl_state_tracker: Implement dirty flags for clip controlReinUsesLisp1-2/+0
2020-02-28gl_state_tracker: Implement dirty flags for sRGBReinUsesLisp1-0/+1
2020-02-28gl_state_tracker: Implement dirty flags for rasterize enableReinUsesLisp1-0/+1
2020-02-28gl_state_tracker: Implement dirty flags for blendingReinUsesLisp1-0/+1
2020-02-28gl_state_tracker: Implement dirty flags for scissorsReinUsesLisp1-0/+1
2020-02-28renderer_opengl: Reintroduce dirty flags for render targetsReinUsesLisp1-2/+5
2020-02-28gl_state: Remove completelyReinUsesLisp1-1/+0
2020-02-28gl_state: Remove framebuffer trackingReinUsesLisp1-12/+5
2020-02-28gl_state: Remove image trackingReinUsesLisp1-10/+4
2020-02-28gl_state: Remove blend state trackingReinUsesLisp1-0/+3
2020-02-28gl_state: Remove clip control trackingReinUsesLisp1-0/+1
2020-02-28gl_state: Remove rasterizer disable trackingReinUsesLisp1-0/+2
2020-02-28gl_state: Remove scissor test trackingReinUsesLisp1-0/+1
2020-02-28gl_state: Remove framebuffer sRGB trackingReinUsesLisp1-1/+7
2020-02-28gl_rasterizer: Remove dirty flagsReinUsesLisp1-2/+0
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp1-8/+20
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-16surface_base: Implement texture buffer flushesReinUsesLisp1-0/+7
Implement downloads to guest memory from texture buffers on the generic cache and OpenGL.
2020-02-15texture: Implement R32IReinUsesLisp1-0/+1
2020-01-28gl_texture_cache: Silence implicit sign cast warningsReinUsesLisp1-3/+6
2020-01-27gl_texture_cache: Properly implement depth/stencil samplingReinUsesLisp1-4/+27
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-14gl_texture_cache: Use local variables to simplify DownloadTextureReinUsesLisp1-6/+4
2020-01-14gl_texture_cache: Fix format for RGBX16FReinUsesLisp1-1/+1
2020-01-14gl_texture_cache: Use Snorm internal format for RG8SReinUsesLisp1-1/+1
2020-01-14gl_texture_cache: Use Snorm internal format for ABGR8SReinUsesLisp1-1/+1
2019-11-24gl_texture_cache: Apply sRGB on blitsReinUsesLisp1-0/+1
glBlitFramebuffer keeps in mind GL_FRAMEBUFFER_SRGB's state. Enable this depending on the target surface pixel format.
2019-11-14texture_cache: Drop abstracted ComponentTypeReinUsesLisp1-103/+82
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-27Video_Core: Implement texture format E5B9G9R9_SHAREDEXP.Fernando Sahmkow1-0/+1
This commit implements the E5B9G9R9 Texture format into the general system and OpenGL backend.
2019-10-09Surfaces: Implement R4G4B4A4U format.Fernando Sahmkow1-1/+2
2019-10-09Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5Fernando Sahmkow1-0/+10
2019-09-22Fix clang-formatFearlessTobi1-1/+1
2019-09-22video_core: Implement RGBX16F PixelFormatFearlessTobi1-0/+1
2019-07-18Gl_Texture_Cache: Remove assert on component type in GetFormatTupleFernando Sahmkow1-1/+0
Textures can have different components types in different orders. This assert was completely inprecise and the effectiveness of such is better handled by case and within the texture cache.
2019-07-18gl_texture_cache: Do not set texture parameters to buffersReinUsesLisp1-0/+3
2019-07-18gl_texture_cache: Add missing break in CreateTextureReinUsesLisp1-0/+1
2019-07-17Maxwell3D: Implement State Dirty Flags.Fernando Sahmkow1-1/+5
2019-07-14GPU: Add a microprofile for macro interpreterFernando Sahmkow1-1/+2
2019-07-14Gl_Texture_Cache: Measure Buffer Copy TimesFernando Sahmkow1-0/+2
2019-07-05texture_cache: Address FeedbackFernando Sahmkow1-3/+3
2019-07-05texture_cache: Correct Texture Buffer UploadingFernando Sahmkow1-2/+15
2019-06-29texture_cache: Address feedbackReinUsesLisp1-4/+1
2019-06-26gl_texture_cache: Correct assertsFernando Sahmkow1-1/+1
2019-06-25gl_texture_cache: Corrections and fixesFernando Sahmkow1-10/+6
2019-06-24gl_texture_cache: Explicitly add indirect includeReinUsesLisp1-0/+1
2019-06-21gl_texture_cache: Use Stream Buffers instead of Persistant for Buffer Copies.Fernando Sahmkow1-1/+1
2019-06-21gl_texture_cache: Correct Image BlitFernando Sahmkow1-1/+1
2019-06-21texture_cache: Use siblings textures on Rebuild and fix possible error on blittingFernando Sahmkow1-1/+1
2019-06-21texture_cache: eliminate accelerated depth->color/color->depth copies due to driver instability.Fernando Sahmkow1-8/+5
2019-06-21texture_cache: Optimize GetSurface and use references on functions that don't change a surface.Fernando Sahmkow1-3/+3
2019-06-21texture_cache: Implement Buffer Copy and detect Turing GPUs Image CopiesFernando Sahmkow1-1/+91
2019-06-21texture_cache uncompress-compress is untopological.Fernando Sahmkow1-5/+5
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.
2019-06-21texture_cache: Fermi2D reform and implement View MirageFernando Sahmkow1-30/+24
This also does some fixes on compressed textures reinterpret and on the Fermi2D engine in general.
2019-06-21texture_cache: General FixesFernando Sahmkow1-3/+8
Fixed ASTC mipmaps loading Fixed alignment on openGL upload/download Fixed Block Height Calculation Removed unalign_height
2019-06-21gl_texture_cache: Make main views be proxy textures instead of a full view.Fernando Sahmkow1-10/+18
2019-06-21Reduce amount of size calculations.Fernando Sahmkow1-1/+0
2019-06-21Texture Cache: Implement Blitting and Fermi CopiesFernando Sahmkow1-1/+69
2019-06-21surface_view: Add constructor for ViewParamsReinUsesLisp1-11/+4
2019-06-21Correct Mipmaps View method in Texture CacheFernando Sahmkow1-21/+23
2019-06-21Implement Texture Cache V2Fernando Sahmkow1-183/+103
2019-06-21texture_cache: Remove execution context copies from the texture cacheReinUsesLisp1-6/+10
This is done to simplify the OpenGL implementation, it is needed for Vulkan.
2019-06-21texture_cache: Split texture cache into different filesReinUsesLisp1-1/+1
2019-06-21texture_cache: Move staging buffer into a generic implementationReinUsesLisp1-107/+7
2019-06-21texture_cache: Flush 3D textures in the order they are drawnReinUsesLisp1-2/+3
2019-06-21gl_texture_cache: Minor changesReinUsesLisp1-22/+28
2019-06-21gl_texture_cache: Add copy from multiple overlaps into a single surfaceReinUsesLisp1-4/+50
2019-06-21gl_texture_cache: Attach surface textures instead of viewsReinUsesLisp1-6/+21
2019-06-21gl_texture_cache: Add fast copy pathReinUsesLisp1-3/+48
2019-06-21gl_texture_cache: Initial implementationReinUsesLisp1-0/+514