Subv
|
ce39ae3e57
|
GPU: Implement the Size_16_16 and Size_10_10_10_2 vertex attribute types.
Both signed and unsigned variants.
|
2018-07-04 15:22:34 -05:00 |
|
Subv
|
4bda9693be
|
GPU: Ignore textures that the GLSL compiler deemed unused when binding textures to the shaders.
|
2018-07-04 15:20:12 -05:00 |
|
Subv
|
c42b818cf9
|
GPU: Corrected the decoding for the TEX shader instruction.
|
2018-07-04 15:19:20 -05:00 |
|
Subv
|
53a55bd751
|
GPU: Implemented the PSETP shader instruction.
It's similar to the isetp and fsetp instructions but it works on predicates instead.
|
2018-07-04 15:15:03 -05:00 |
|
Subv
|
016e357c75
|
GPU: Implemented the 32 bit float depth buffer format.
|
2018-07-04 10:42:33 -05:00 |
|
Subv
|
c1bebdef5e
|
GPU: Flip the triangle front face winding if the GPU is configured to not flip the triangles.
OpenGL's default behavior is already correct when the GPU is configured to flip the triangles.
This fixes 1-2 Switch's splash screen.
|
2018-07-04 10:26:46 -05:00 |
|
Subv
|
5a9df3c675
|
GPU: Only configure the used framebuffers during clear.
Don't try to configure the color buffer if it is not being cleared, it may not be completely valid at this point.
|
2018-07-03 22:32:59 -05:00 |
|
bunnei
|
c996787d84
|
Merge pull request #609 from Subv/clear_buffers
GPU: Implemented the CLEAR_BUFFERS register.
|
2018-07-03 19:34:34 -04:00 |
|
Subv
|
78443a7f29
|
GPU: Factor out the framebuffer configuration code for both Clear and Draw commands.
|
2018-07-03 16:56:47 -05:00 |
|
Subv
|
c1811ed3d1
|
GPU: Support clears that don't clear the color buffer.
|
2018-07-03 16:56:47 -05:00 |
|
Subv
|
be51120d23
|
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
|
2018-07-03 16:56:44 -05:00 |
|
Subv
|
827bb08c91
|
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
|
2018-07-03 16:56:31 -05:00 |
|
bunnei
|
9da1552417
|
gl_rasterizer_cache: Implement PixelFormat S8Z24.
|
2018-07-03 14:58:13 -04:00 |
|
bunnei
|
15e68cdbaa
|
Merge pull request #607 from jroweboy/logging
Logging - Customizable backends
|
2018-07-03 00:26:45 -04:00 |
|
bunnei
|
e3ca561ea0
|
Merge pull request #612 from bunnei/fix-cull
gl_rasterizer: Only set cull mode and front face if enabled.
|
2018-07-02 23:48:52 -04:00 |
|
bunnei
|
ddb767f1b6
|
Merge pull request #611 from Subv/enabled_depth_test
GPU: Don't try to parse the depth test function if the depth test is disabled and use only the least significant 3 bits in the depth test func
|
2018-07-02 23:47:11 -04:00 |
|
bunnei
|
5410b4659d
|
Merge pull request #610 from Subv/mufu_8
GPU: Implemented MUFU suboperation 8, sqrt.
|
2018-07-02 22:26:42 -04:00 |
|
bunnei
|
a9cacd03f6
|
gl_rasterizer: Only set cull mode and front face if enabled.
|
2018-07-02 22:22:25 -04:00 |
|
Subv
|
6e0eba9917
|
GPU: Use only the least significant 3 bits when reading the depth test func.
Some games set the full GL define value here (including nouveau), but others just seem to set those last 3 bits.
|
2018-07-02 21:06:36 -05:00 |
|
Subv
|
65c664560c
|
GPU: Don't try to parse the depth test function if the depth test is disabled.
|
2018-07-02 21:02:46 -05:00 |
|
James Rowe
|
0d46f0df12
|
Update clang format
|
2018-07-02 21:45:47 -04:00 |
|
James Rowe
|
638956aa81
|
Rename logging macro back to LOG_*
|
2018-07-02 21:45:47 -04:00 |
|
bunnei
|
92c7135065
|
Merge pull request #608 from Subv/depth
GPU: Implemented the depth buffer and depth test + culling
|
2018-07-02 21:24:43 -04:00 |
|
Subv
|
a6d4903aaf
|
GPU: Set up the culling configuration on each draw.
|
2018-07-02 19:51:29 -05:00 |
|
Subv
|
6e4e0b2b41
|
GPU: Implemented MUFU suboperation 8, sqrt.
|
2018-07-02 19:48:15 -05:00 |
|
Sebastian Valle
|
055f1546d7
|
Merge pull request #606 from Subv/base_vertex
GPU: Fixed the index offset and implement BaseVertex when doing indexed rendering.
|
2018-07-02 14:07:38 -05:00 |
|
Sebastian Valle
|
9685dd5840
|
Merge pull request #605 from Subv/dma_copy
GPU: Directly copy the pixels when performing a same-layout DMA.
|
2018-07-02 14:06:56 -05:00 |
|
Subv
|
18c8ae7750
|
GPU: Set up the depth test state on every draw.
|
2018-07-02 13:33:06 -05:00 |
|
Subv
|
d480b63e0d
|
MaxwellToGL: Added conversion functions for depth test and cull mode.
|
2018-07-02 13:31:49 -05:00 |
|
Subv
|
c1f55c32c8
|
GPU: Added registers for depth test and cull mode.
|
2018-07-02 13:31:20 -05:00 |
|
Subv
|
0f929762b3
|
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
|
2018-07-02 12:42:04 -05:00 |
|
Subv
|
4c59105adf
|
GPU: Implement offsetted rendering when using non-indexed drawing.
|
2018-07-02 11:23:36 -05:00 |
|
Subv
|
fca3d1cc65
|
GPU: Fixed the index offset rendering, and implemented the base vertex functionality.
This fixes Stardew Valley.
|
2018-07-02 11:22:17 -05:00 |
|
Subv
|
cc73bad293
|
GPU: Added register definitions for the vertex buffer base element.
|
2018-07-02 11:21:23 -05:00 |
|
bunnei
|
3d41fdfbba
|
Merge pull request #604 from Subv/invalid_textures
GPU: Ignore invalid and disabled textures when drawing.
|
2018-07-02 11:48:18 -04:00 |
|
Subv
|
ca633a5a3c
|
GPU: Directly copy the pixels when performing a same-layout DMA.
|
2018-07-02 09:46:33 -05:00 |
|
Subv
|
80c5e8ae99
|
GPU: Ignore disabled textures and textures with an invalid address.
|
2018-07-02 09:43:38 -05:00 |
|
Subv
|
e9d147349b
|
GPU: Allow GpuToCpuAddress to return boost::none for unmapped addresses.
|
2018-07-02 09:42:48 -05:00 |
|
bunnei
|
066d6184d4
|
Merge pull request #602 from Subv/mufu_subop
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
|
2018-07-01 11:06:04 -04:00 |
|
bunnei
|
b611d852db
|
Merge pull request #601 from Subv/rgba32_ui
GPU: Implement the RGBA32_UINT rendertarget format.
|
2018-07-01 03:22:38 -04:00 |
|
Subv
|
f33e406ff2
|
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
|
2018-06-30 14:48:25 -05:00 |
|
Subv
|
c0e2d52758
|
GPU: Implemented the RGBA32_UINT rendertarget format.
|
2018-06-30 14:23:13 -05:00 |
|
Subv
|
b11072d54a
|
GLCache: Specify the component type along the texture type in the format tuple.
|
2018-06-30 14:08:51 -05:00 |
|
bunnei
|
c96da97630
|
gl_shader_decompiler: Implement predicate NotEqualWithNan.
|
2018-06-30 03:01:25 -04:00 |
|
bunnei
|
50ef2beb58
|
Merge pull request #595 from bunnei/raster-cache
Rewrite the OpenGL rasterizer cache
|
2018-06-29 14:07:28 -04:00 |
|
bunnei
|
c18425ef98
|
gl_rasterizer_cache: Only dereference color_surface/depth_surface if valid.
|
2018-06-29 13:08:08 -04:00 |
|
bunnei
|
7fa9177830
|
gl_shader_decompiler: Add a return path for unknown instructions.
|
2018-06-27 01:14:34 -04:00 |
|
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.
|
2018-06-27 00:15:44 -04:00 |
|
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
|
6a28a66832
|
maxwell_3d: Add a struct for RenderTargetConfig.
|
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
|
10422f3c18
|
gl_rasterizer: Workaround for when exceeding max UBO size.
|
2018-06-26 23:07:34 -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
|
73de9bab1a
|
Merge pull request #592 from bunnei/cleanup-gl-state
gl_state: Remove unused state management from 3DS.
|
2018-06-26 22:05:03 -04:00 |
|
bunnei
|
8447d20a11
|
gl_state: Fix state management for texture swizzle.
|
2018-06-26 17:15:58 -04:00 |
|
bunnei
|
20b58bab9c
|
gl_state: Remove unused state management from 3DS.
|
2018-06-26 17:09:25 -04:00 |
|
bunnei
|
41b3725d28
|
gl_rasterizer_cache: Fix inverted B5G6R5 format.
|
2018-06-26 17:07:36 -04:00 |
|
bunnei
|
36dedae842
|
Merge pull request #554 from Subv/constbuffer_ubo
Rasterizer: Use UBOs instead of SSBOs for uploading const buffers.
|
2018-06-26 10:25:56 -04:00 |
|
mailwl
|
ad39bab271
|
Fix crash at exit
|
2018-06-25 18:01:08 +03:00 |
|
Subv
|
a3d82ef5d9
|
Build: Fixed some MSVC warnings in various parts of the code.
|
2018-06-20 11:39:10 -05:00 |
|
bunnei
|
7a0bb406d5
|
Merge pull request #574 from Subv/shader_abs_neg
GPU: Perform negation after absolute value in the float shader instructions.
|
2018-06-18 22:24:57 -04:00 |
|
Subv
|
38989bef43
|
GPU: Perform negation after absolute value in the float shader instructions.
|
2018-06-18 19:56:29 -05:00 |
|
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.
|
2018-06-18 19:50:35 -05:00 |
|
bunnei
|
0e13d9cb7b
|
Merge pull request #570 from bunnei/astc
gl_rasterizer: Implement texture format ASTC_2D_4X4.
|
2018-06-18 19:08:49 -04:00 |
|
bunnei
|
ea080501fb
|
Merge pull request #571 from Armada651/loose-blend
gl_rasterizer: Get loose on independent blending.
|
2018-06-18 11:36:50 -04:00 |
|
Jules Blok
|
7c7f4a9be2
|
gl_rasterizer: Get loose on independent blending.
|
2018-06-18 09:27:06 +02: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 |
|
bunnei
|
afdd657d30
|
gl_shader_decompiler: Implement LOP instructions.
|
2018-06-17 15:27:48 -04:00 |
|
bunnei
|
5673ce39c7
|
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
|
2018-06-17 13:31:39 -04:00 |
|
bunnei
|
d383043e07
|
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
|
2018-06-15 22:42:02 -04:00 |
|
bunnei
|
fb5bd0920d
|
Merge pull request #564 from bunnei/lop32i_passb
gl_shader_decompiler: Implement LOP32I LogicOperation PassB.
|
2018-06-15 22:04:03 -04:00 |
|
bunnei
|
55c49d5bf4
|
gl_shader_gen: Set position.w to 1.
|
2018-06-15 20:47:04 -04:00 |
|
bunnei
|
61f9d9c4ab
|
gl_shader_decompiler: Implement LOP32I LogicOperation PassB.
|
2018-06-15 20:43:33 -04:00 |
|
bunnei
|
019d7208c8
|
Merge pull request #556 from Subv/dma_engine
GPU: Partially implemented the Maxwell DMA engine.
|
2018-06-12 14:25:17 -04:00 |
|
bunnei
|
2015a1b180
|
Merge pull request #558 from Subv/iadd32i
GPU: Implemented the iadd32i shader instruction.
|
2018-06-12 14:19:25 -04:00 |
|
Subv
|
db0497b808
|
GPU: Implemented the iadd32i shader instruction.
|
2018-06-12 11:46:45 -05:00 |
|
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.
|
2018-06-12 11:27:36 -05:00 |
|
bunnei
|
5f3d6c85db
|
gl_shader_decompiler: Implement saturate for float instructions.
|
2018-06-11 21:46:34 -04:00 |
|
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.
|
2018-06-10 13:50:19 -05:00 |
|
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.
|
2018-06-09 18:02:05 -05:00 |
|
Subv
|
b366b885a1
|
GPU: Implement the iset family of shader instructions.
|
2018-06-09 16:19:13 -05:00 |
|
Subv
|
3cb753eeb1
|
GPU: Added decodings for the ISET family of instructions.
|
2018-06-09 15:56:50 -05:00 |
|
bunnei
|
d81aaa3ed3
|
Merge pull request #550 from Subv/ssy
GPU: Stub the SSY shader instruction.
|
2018-06-09 00:42:53 -04:00 |
|
bunnei
|
e2176dc7ce
|
Merge pull request #551 from bunnei/shr
gl_shader_decompiler: Implement SHR instruction.
|
2018-06-09 00:42:44 -04:00 |
|
bunnei
|
5440b9c634
|
gl_shader_decompiler: Implement SHR instruction.
|
2018-06-09 00:01:17 -04:00 |
|
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.
|
2018-06-08 22:46:10 -05:00 |
|
bunnei
|
bbc4f369ed
|
gl_shader_decompiler: Implement IADD instruction.
|
2018-06-08 23:25:22 -04:00 |
|
bunnei
|
79e9c2e237
|
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
|
2018-06-08 23:24:10 -04:00 |
|
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.
|
2018-06-08 17:05:52 -05:00 |
|
Subv
|
c712dafaee
|
GPU: Added registers for normal and independent blending.
|
2018-06-08 17:04:41 -05:00 |
|
bunnei
|
a931cf9e8b
|
Merge pull request #547 from Subv/compressed_alignment
GLCache: Align compressed texture sizes to their compression ratio, and then align that compressed size to the block height for tiled textures.
|
2018-06-08 16:40:49 -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
|
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.
|
2018-06-08 12:22:39 -05:00 |
|
bunnei
|
ee318d4015
|
Merge pull request #543 from Subv/uniforms
GLRenderer: Write the shader stage configuration UBO data *before* copying it to the GPU.
|
2018-06-07 11:21:36 -04:00 |
|
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.
|
2018-06-07 08:33:23 -05:00 |
|