bunnei
8af1ae46aa
gl_rasterizer_cache: Various fixes for ASTC handling.
2018-06-27 00:08:04 -04:00
bunnei
c7c379bd19
gl_rasterizer_cache: Use SurfaceParams as a key for surface caching.
2018-06-27 00:08:04 -04:00
bunnei
3f9f047375
gl_rasterizer: Implement AccelerateDisplay to forward textures to framebuffers.
2018-06-27 00:08:03 -04:00
bunnei
ff6785f3e8
gl_rasterizer_cache: Cache size_in_bytes as a const per surface.
2018-06-27 00:08:03 -04:00
bunnei
9f2f819bb6
gl_rasterizer_cache: Refactor to make SurfaceParams members const.
2018-06-27 00:08:03 -04:00
bunnei
5f57ab1b2a
gl_rasterizer_cache: Remove Citra's rasterizer cache, always load/flush surfaces.
2018-06-27 00:08:03 -04:00
bunnei
dfac394e60
Merge pull request #593 from bunnei/fix-swizzle
...
gl_state: Fix state management for texture swizzle.
2018-06-26 22:05:49 -04:00
bunnei
8447d20a11
gl_state: Fix state management for texture swizzle.
2018-06-26 17:15:58 -04:00
bunnei
41b3725d28
gl_rasterizer_cache: Fix inverted B5G6R5 format.
2018-06-26 17:07:36 -04:00
Subv
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
bunnei
61779fa072
gl_rasterizer: Implement texture format ASTC_2D_4X4.
2018-06-18 01:56:59 -04:00
bunnei
fe906fff36
gl_rasterizer_cache: Loosen things up a bit.
2018-06-18 00:55:59 -04:00
Subv
8d9534d830
GLCache: Align compressed texture sizes to their compression ratio, and then align that compressed size to the block height for tiled textures.
...
This fixes issues with retrieving non-block-aligned tiled compressed textures from the cache.
2018-06-08 12:27:19 -05:00
Subv
f22e090b86
GLCache: Use the full uncompressed size when blitting from one texture to another.
...
This avoids the problem of only copying a tiny piece of the textures when they are compressed.
2018-06-06 23:26:36 -05:00
Subv
218a08df93
GLCache: Simplify the logic to copy from one texture to another in BlitTextures.
...
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-06 23:25:24 -05:00
Subv
c531a92eda
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
2018-06-05 21:57:16 -05:00
Subv
cb47abecc6
GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface.
2018-06-04 13:01:53 -05:00
Subv
99f9d47d16
GPU: Implemented the DXN1 (BC4) texture format.
2018-06-02 13:17:09 -05:00
bunnei
49309b5848
gl_rasterizer_cache: Assert that component type is UNorm or format is RGBA16F.
2018-05-30 22:50:41 -04:00
bunnei
ca5a4a704b
gl_rasterizer_cache: Implement PixelFormat RGBA16F.
2018-05-30 22:24:07 -04:00
Sebastian Valle
8df011a57f
Merge pull request #483 from bunnei/sonic
...
Several GPU fixes to boot Sonic Mania
2018-05-30 07:31:46 -05:00
Subv
734106dcb9
GPU: Implemented the R8 texture format (0x1D)
2018-05-29 21:49:37 -05:00
bunnei
0d843eaba6
gl_rasterize_cache: Invert order of tex format RGB565.
2018-05-29 22:16:18 -04:00
Subv
7ddc872b52
GPU: Implemented the A1B5G5R5 texture format (0x14)
2018-05-27 09:02:05 -05:00
bunnei
f1a4a004fb
gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
2018-04-24 22:31:46 -04:00
bunnei
0a023cfb4f
gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.
2018-04-24 22:31:46 -04:00
bunnei
9022d926eb
gl_rasterizer_cache: Use new logger.
2018-04-24 22:31:46 -04:00
bunnei
fbb3cd110c
gl_rasterizer_cache: Add a function for finding framebuffer GPU address.
2018-04-24 22:31:46 -04:00
bunnei
bc0f1896fc
gl_rasterizer_cache: Handle compressed texture sizes.
2018-04-24 22:31:46 -04:00
bunnei
4415e00181
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
2018-04-24 22:31:45 -04:00
bunnei
239ac8abe2
memory_manager: Make GpuToCpuAddress return an optional.
2018-04-24 17:49:19 -04:00
bunnei
9e11a76e92
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
2018-04-24 17:40:43 -04:00
Subv
c079cf4eec
GPU: Implement the A2BGR10 texture format.
2018-04-21 17:32:25 -05:00
bunnei
f8a037ead4
Merge pull request #375 from lioncash/header
...
opengl: Remove unnecessary header inclusions
2018-04-20 23:08:47 -04:00
Lioncash
eafdcc1b8a
opengl: Remove unnecessary header inclusions
2018-04-20 20:19:37 -04:00
Lioncash
7db0b8d74f
gl_rasterizer_cache: Make MatchFlags an enum class
...
Prevents implicit conversions and scope pollution.
2018-04-20 19:50:05 -04:00
Lioncash
fae2dd0344
math_util: Remove the Clamp() function
...
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
2018-04-20 10:14:13 -04:00
Subv
057170928c
GPU: Add support for the DXT23 and DXT45 compressed texture formats.
2018-04-18 20:48:53 -05:00
Subv
2985056340
GPU: Implemented the B5G6R5 format.
2018-04-18 18:16:45 -05:00
Subv
43d98ca8fe
GLCache: Added boilerplate code to make supporting configurable texture component types.
...
For now only the UNORM type is supported.
2018-04-18 14:17:28 -05:00
Subv
5b3fab6766
GLCache: Unify texture and framebuffer formats when converting to OpenGL.
2018-04-18 14:17:28 -05:00
Subv
b2c1672e10
GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.
2018-04-18 14:17:27 -05:00
Subv
a3e82e8e1f
GLCache: Take into account the texture's block height when caching and unswizzling.
2018-04-18 12:52:53 -05:00
Subv
6b63aaa5b4
GPU: Allow using a configurable block height when unswizzling textures.
2018-04-18 12:52:51 -05:00
bunnei
da1114ca59
renderer_opengl: Use OGLProgram instead of OGLShader.
2018-04-13 23:48:21 -04:00
James Rowe
0b855f1c21
Fix clang format issues
2018-04-06 22:00:48 -06:00
Subv
65faeb9b2a
GLCache: Specialize the MortonCopy function for the DXT1 texture format.
...
It will now use the UnswizzleTexture function instead of the MortonCopyPixels128, which doesn't seem to work for textures.
2018-04-06 20:44:46 -06:00
Subv
b258403f0d
GLCache: Implemented GetTextureSurface.
2018-04-06 20:44:45 -06:00
Subv
65ea52394b
GLCache: Support uploading compressed textures to the GPU.
...
Compressed texture formats like DXT1, DXT2, DXT3, etc will use this to ease the load on the CPU.
2018-04-06 20:44:45 -06:00
Subv
73eaef9c05
GL: Remove remaining references to 3DS-specific pixel formats
2018-04-06 20:44:42 -06:00