summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-07-03Rename logging macro back to LOG_*James Rowe1-3/+3
2018-07-02GPU: Implemented the Z24S8 depth format and load the depth framebuffer.Subv1-20/+29
2018-07-02GPU: Ignore disabled textures and textures with an invalid address.Subv1-0/+5
2018-06-30GPU: Implemented the RGBA32_UINT rendertarget format.Subv1-4/+7
2018-06-30GLCache: Specify the component type along the texture type in the format tuple.Subv1-17/+21
2018-06-29gl_rasterizer_cache: Only dereference color_surface/depth_surface if valid.bunnei1-2/+6
2018-06-27gl_rasterizer_cache: Implement caching for texture and framebuffer surfaces.bunnei1-7/+109
gl_rasterizer_cache: Improved cache management based on Citra's implementation. gl_surface_cache: Add some docstrings.
2018-06-27gl_rasterizer_cache: Various fixes for ASTC handling.bunnei1-29/+34
2018-06-27gl_rasterizer_cache: Use SurfaceParams as a key for surface caching.bunnei1-30/+39
2018-06-27gl_rasterizer: Implement AccelerateDisplay to forward textures to framebuffers.bunnei1-0/+26
2018-06-27gl_rasterizer_cache: Cache size_in_bytes as a const per surface.bunnei1-9/+12
2018-06-27gl_rasterizer_cache: Refactor to make SurfaceParams members const.bunnei1-39/+24
2018-06-27gl_rasterizer_cache: Remove Citra's rasterizer cache, always load/flush surfaces.bunnei1-1128/+134
2018-06-26gl_state: Fix state management for texture swizzle.bunnei1-1/+1
2018-06-26gl_rasterizer_cache: Fix inverted B5G6R5 format.bunnei1-1/+1
2018-06-20Build: Fixed some MSVC warnings in various parts of the code.Subv1-1/+1
2018-06-18gl_rasterizer: Implement texture format ASTC_2D_4X4.bunnei1-1/+27
2018-06-18gl_rasterizer_cache: Loosen things up a bit.bunnei1-26/+8
2018-06-08GLCache: Align compressed texture sizes to their compression ratio, and then align that compressed size to the block height for tiled textures.Subv1-2/+7
This fixes issues with retrieving non-block-aligned tiled compressed textures from the cache.
2018-06-07GLCache: Use the full uncompressed size when blitting from one texture to another.Subv1-3/+6
This avoids the problem of only copying a tiny piece of the textures when they are compressed.
2018-06-07GLCache: Simplify the logic to copy from one texture to another in BlitTextures.Subv1-53/+3
We now use glCopyImageSubData, this should avoid errors with trying to attach a compressed texture as a framebuffer's color attachment and then blitting to it. Maybe in the future we can change this to glCopyTextureSubImage which only requires GL_ARB_direct_state_access.
2018-06-06GPU: Implemented the R11FG11FB10F texture and rendertarget formats.Subv1-7/+12
2018-06-04GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface.Subv1-1/+2
2018-06-02GPU: Implemented the DXN1 (BC4) texture format.Subv1-2/+4
2018-05-31gl_rasterizer_cache: Assert that component type is UNorm or format is RGBA16F.bunnei1-1/+2
2018-05-31gl_rasterizer_cache: Implement PixelFormat RGBA16F.bunnei1-3/+5
2018-05-30GPU: Implemented the R8 texture format (0x1D)Subv1-2/+4
2018-05-30gl_rasterize_cache: Invert order of tex format RGB565.bunnei1-1/+1
2018-05-27GPU: Implemented the A1B5G5R5 texture format (0x14)Subv1-2/+5
2018-04-25gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.bunnei1-3/+3
2018-04-25gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.bunnei1-5/+5
2018-04-25gl_rasterizer_cache: Use new logger.bunnei1-4/+4
2018-04-25gl_rasterizer_cache: Add a function for finding framebuffer GPU address.bunnei1-0/+27
2018-04-25gl_rasterizer_cache: Handle compressed texture sizes.bunnei1-20/+17
2018-04-25gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei1-24/+39
2018-04-24memory_manager: Make GpuToCpuAddress return an optional.bunnei1-2/+2
2018-04-24memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.bunnei1-2/+2
2018-04-22GPU: Implement the A2BGR10 texture format.Subv1-3/+5
2018-04-21opengl: Remove unnecessary header inclusionsLioncash1-2/+0
2018-04-21gl_rasterizer_cache: Make MatchFlags an enum classLioncash1-4/+9
Prevents implicit conversions and scope pollution.
2018-04-20math_util: Remove the Clamp() functionLioncash1-4/+4
C++17 adds clamp() to the standard library, so we can remove ours in favor of it.
2018-04-19GPU: Add support for the DXT23 and DXT45 compressed texture formats.Subv1-24/+11
2018-04-19GPU: Implemented the B5G6R5 format.Subv1-5/+10
2018-04-18GLCache: Added boilerplate code to make supporting configurable texture component types.Subv1-9/+23
For now only the UNORM type is supported.
2018-04-18GLCache: Unify texture and framebuffer formats when converting to OpenGL.Subv1-13/+6
2018-04-18GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.Subv1-3/+3
2018-04-18GLCache: Take into account the texture's block height when caching and unswizzling.Subv1-42/+40
2018-04-18GPU: Allow using a configurable block height when unswizzling textures.Subv1-1/+10
2018-04-14renderer_opengl: Use OGLProgram instead of OGLShader.bunnei1-1/+1
2018-04-07Fix clang format issuesJames Rowe1-1/+1
2018-04-07GLCache: Specialize the MortonCopy function for the DXT1 texture format.Subv1-1/+15
It will now use the UnswizzleTexture function instead of the MortonCopyPixels128, which doesn't seem to work for textures.
2018-04-07GLCache: Implemented GetTextureSurface.Subv1-3/+28
2018-04-07GLCache: Support uploading compressed textures to the GPU.Subv1-5/+17
Compressed texture formats like DXT1, DXT2, DXT3, etc will use this to ease the load on the CPU.
2018-04-07GL: Remove remaining references to 3DS-specific pixel formatsSubv1-83/+22
2018-04-07RasterizerCache: Remove 3DS-specific pixel formats.Subv1-12/+2
We're only left with RGB8 and DXT1 for now. More will be added as they are needed.
2018-04-04gl_rasterizer_cache.cpp: Update from citra to yuzuN00byKing1-1/+1
2018-03-27gl_rasterizer_cache: Implement UpdatePagesCachedCount.bunnei1-7/+36
2018-03-27gl_rasterizer_cache: Fix an ASSERT_MSG.bunnei1-1/+1
2018-03-27gl_rasterizer_cache: MortonCopy Switch-style.bunnei1-72/+32
2018-03-27gl_rasterizer_cache: Implement GetFramebufferSurfaces.bunnei1-3/+94
2018-03-23gl_rasterizer_cache: Add missing include for vm_manager.bunnei1-0/+1
2018-03-23RasterizerCacheOpenGL: FlushAll should flush full memory region.bunnei1-1/+1
2018-03-23LoadGLBuffer: Use bytes_per_pixel, not bits.bunnei1-1/+2
2018-03-23gl_rasterizer_cache: LoadGLBuffer should do a morton copy.bunnei1-16/+5
2018-03-23video_core: Remove usage of PAddr and replace with VAddr.bunnei1-18/+18
2018-03-23gl_rasterizer: Replace a bunch of UNIMPLEMENTED with ASSERT.bunnei1-5/+5
2018-03-20renderer_gl: Port boilerplate rasterizer code over from Citra.bunnei1-1/+0
2018-03-20renderer_gl: Port over gl_rasterizer_cache module from Citra.bunnei1-0/+1362
2018-01-13Remove references to PICA and rasterizers in video_coreJames Rowe1-799/+0
2017-06-10gl_rasterizer_cache: depth write is disabled if allow_depth_stencil_write is falsewwylele1-4/+5
2017-05-28Move screen size constants from video_core to coreYuri Kunde Schlesner1-12/+8
video_core didn't even properly use them, and they were the source of many otherwise-unnecessary dependencies from core to video_core.
2017-03-01Input: remove unused stuff & clean upwwylele1-0/+1
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID 2. removed button handling in EmuWindow 3. removed key_map 4. cleanup #include
2017-02-04VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner1-5/+8
2017-02-04VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner1-2/+2
2017-02-04Pica/Texture: Simplify/cleanup texture tile addressingYuri Kunde Schlesner1-2/+1
2017-02-04VideoCore: Move LookupTexture out of debug_utils.hYuri Kunde Schlesner1-5/+6
2017-01-30video_core: gl_rasterizer_cache.cpp removed unused type aliasKloen1-1/+0
2017-01-07config: Add option for specifying screen resolution scale factor.bunnei1-3/+10
2016-12-23core: Move emu_window and key_map into coreMerryMage1-1/+1
* Removes circular dependences (common should not depend on core)
2016-12-07OpenGL: Drop framebuffer completeness check.Markus Wick1-14/+7
This OpenGL call synchronize the worker thread of the nvidia blob. It can be verified on linux with the __GL_THREADED_OPTIMIZATIONS=1 environment variable. Those errors should not happen on tested drivers. It was used as a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=94148
2016-12-04OpenGL: Non-zero stride only makes sense for linear buffersYuri Kunde Schlesner1-5/+8
2016-12-04OpenGL: Ensure framebuffer binding is restored if completion check failsYuri Kunde Schlesner1-10/+7
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-5/+1
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-2/+2
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-98/+187
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot1-2/+11
2016-04-21HWRasterizer: Texture forwardingtfarley1-38/+661
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage1-2/+3
2015-12-07OpenGL: Rename cache functions to better match what they actually doYuri Kunde Schlesner1-4/+3
2015-09-11video_core: Reorganize headersLioncash1-1/+1
2015-09-03OpenGL: Use Sampler Objects to decouple sampler config from texturesYuri Kunde Schlesner1-20/+5
Fixes #978
2015-09-03OpenGL: Remove ugly and endian-unsafe color pointer castsYuri Kunde Schlesner1-1/+1
2015-08-28gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.bunnei1-5/+13
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner1-0/+5
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-06OpenGL: Fix state tracking in situations with reused object handlesYuri Kunde Schlesner1-0/+1
If an OpenGL object is created, bound to a binding using the state tracker, and then destroyed, a newly created object can be assigned the same numeric handle by OpenGL. However, even though it is a new object, and thus needs to be bound to the binding again, the state tracker compared the current and previous handles and concluded that no change needed to be made, leading to failure to bind objects in certain cases. This manifested as broken text in VVVVVV, which this commit fixes along with similar texturing problems in other games.
2015-07-23Rasterizer/GL: Set the border color when binding a texture.Subv1-2/+9
2015-07-21GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.Subv1-3/+2
2015-05-30Move video_core/math.h to common/vector_math.harchshift1-1/+1
The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
2015-05-23OpenGL renderertfarley1-0/+77