bunnei
7fa9177830
gl_shader_decompiler: Add a return path for unknown instructions.
8 years ago
bunnei
1dd754590f
gl_rasterizer_cache: Implement caching for texture and framebuffer surfaces.
gl_rasterizer_cache: Improved cache management based on Citra's implementation.
gl_surface_cache: Add some docstrings.
8 years ago
bunnei
8af1ae46aa
gl_rasterizer_cache: Various fixes for ASTC handling.
8 years ago
bunnei
c7c379bd19
gl_rasterizer_cache: Use SurfaceParams as a key for surface caching.
8 years ago
bunnei
6a28a66832
maxwell_3d: Add a struct for RenderTargetConfig.
8 years ago
bunnei
3f9f047375
gl_rasterizer: Implement AccelerateDisplay to forward textures to framebuffers.
8 years ago
bunnei
ff6785f3e8
gl_rasterizer_cache: Cache size_in_bytes as a const per surface.
8 years ago
bunnei
9f2f819bb6
gl_rasterizer_cache: Refactor to make SurfaceParams members const.
8 years ago
bunnei
5f57ab1b2a
gl_rasterizer_cache: Remove Citra's rasterizer cache, always load/flush surfaces.
8 years ago
bunnei
10422f3c18
gl_rasterizer: Workaround for when exceeding max UBO size.
8 years ago
bunnei
8447d20a11
gl_state: Fix state management for texture swizzle.
8 years ago
bunnei
20b58bab9c
gl_state: Remove unused state management from 3DS.
8 years ago
bunnei
41b3725d28
gl_rasterizer_cache: Fix inverted B5G6R5 format.
8 years ago
mailwl
ad39bab271
Fix crash at exit
8 years ago
Subv
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
8 years ago
Subv
38989bef43
GPU: Perform negation after absolute value in the float shader instructions.
8 years ago
Subv
eab7457c00
GPU: Don't mark uniform buffers and registers as used for instructions which don't have them.
Like the MOV32I and FMUL32I instructions.
This fixes a potential crash when using these instructions.
8 years ago
Jules Blok
7c7f4a9be2
gl_rasterizer: Get loose on independent blending.
8 years ago
bunnei
61779fa072
gl_rasterizer: Implement texture format ASTC_2D_4X4.
8 years ago
bunnei
fe906fff36
gl_rasterizer_cache: Loosen things up a bit.
8 years ago
bunnei
afdd657d30
gl_shader_decompiler: Implement LOP instructions.
8 years ago
bunnei
5673ce39c7
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
8 years ago
bunnei
d383043e07
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
8 years ago
bunnei
55c49d5bf4
gl_shader_gen: Set position.w to 1.
8 years ago
bunnei
61f9d9c4ab
gl_shader_decompiler: Implement LOP32I LogicOperation PassB.
8 years ago
Subv
db0497b808
GPU: Implemented the iadd32i shader instruction.
8 years ago
Subv
987a170665
GPU: Partially implemented the Maxwell DMA engine.
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
8 years ago
bunnei
5f3d6c85db
gl_shader_decompiler: Implement saturate for float instructions.
8 years ago
Subv
004b1b3830
GPU: Convert the gl_InstanceId and gl_VertexID variables to floats when reading from them.
This corrects the invalid position values in some games when doing attribute-less rendering.
8 years ago
Subv
2a7653142d
Rasterizer: Use UBOs instead of SSBOs for uploading const buffers.
This should help a bit with GPU performance once we're GPU-bound.
8 years ago
Subv
b366b885a1
GPU: Implement the iset family of shader instructions.
8 years ago
Subv
3cb753eeb1
GPU: Added decodings for the ISET family of instructions.
8 years ago
bunnei
5440b9c634
gl_shader_decompiler: Implement SHR instruction.
8 years ago
Subv
abec5f82e2
GPU: Stub the SSY shader instruction.
This instruction tells the GPU where the flow reconverges in a non-uniform control flow scenario, we can ignore this when generating GLSL code.
8 years ago
bunnei
bbc4f369ed
gl_shader_decompiler: Implement IADD instruction.
8 years ago
bunnei
79e9c2e237
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
8 years ago
Subv
c011b6f67e
GPU: Synchronize the blend state on every draw call.
Only independent blending on render target 0 is implemented for now.
This fixes the elongated squids in Splatoon 2's boot screen.
8 years ago
Subv
c712dafaee
GPU: Added registers for normal and independent blending.
8 years ago
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.
8 years ago
Subv
47dc5e0dab
Rasterizer: Flush the written region when writing shader uniform data before copying it to the uniform buffers.
This fixes the flip_viewport uniform having invalid values when drawing.
8 years ago
Subv
86146ef819
GLRenderer: Write the shader stage configuration UBO data *before* copying it to the GPU.
This should fix the bug with the vs_config UBO being uninitialized during shader execution.
8 years ago
bunnei
92209f905f
gl_shader_decompiler: Implement BFE_IMM instruction.
8 years ago
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.
8 years ago
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.
8 years ago
bunnei
128aeba0f3
gl_shader_decompiler: F2F: Implement rounding modes.
8 years ago
bunnei
00c830405b
gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS.
8 years ago
bunnei
4b114e1b8a
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
8 years ago
bunnei
0a49c46353
gl_shader_decompiler: Implement ISETP_IMM instruction.
8 years ago
Subv
47629c89a8
GPU: Support changing the texture swizzles for Maxwell textures.
8 years ago
Subv
89e81a9be2
GLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit.
8 years ago