Subv
|
c1ae841f47
|
GPU: Implement the FADD32I shader instruction.
|
2018-07-12 12:00:31 -05:00 |
|
Subv
|
0cad310e12
|
GPU: Corrected the decoding of FFMA for immediate operands.
|
2018-07-12 10:15:48 -05:00 |
|
bunnei
|
854f474f52
|
gl_rasterizer: Flip triangles when regs.viewport_transform[0].scale_y is negative.
- Fixes a regression with Binding of Isaac.
|
2018-07-08 16:16:24 -04:00 |
|
bunnei
|
639346bcfb
|
Merge pull request #625 from Subv/imnmx
GPU: Implemented the IMNMX shader instruction.
|
2018-07-07 19:33:50 -07:00 |
|
Subv
|
4633dd9505
|
GPU: Implemented the BC7U texture format.
Note: Our version of glad exports GL_COMPRESSED_RGBA_BPTC_UNORM as GL_COMPRESSED_RGBA_BPTC_UNORM_ARB, maybe it's time we update it.
|
2018-07-07 09:17:48 -05:00 |
|
bunnei
|
51bd76a5fd
|
Merge pull request #629 from Subv/depth_test
GPU: Allow using the old NV04 values for the depth test function.
|
2018-07-05 16:43:10 -04:00 |
|
Subv
|
9f6a5660e8
|
GPU: Allow using the old NV04 values for the depth test function.
These seem to be just a valid as the GL token values. Thanks @ReinUsesLisp
This restores graphical output to Disgaea 5
|
2018-07-05 13:01:31 -05:00 |
|
bunnei
|
762bf6a522
|
Merge pull request #626 from Subv/shader_sync
GPU: Stub the shader SYNC and DEPBAR instructions.
|
2018-07-05 12:54:19 -04:00 |
|
bunnei
|
637f9d780a
|
Merge pull request #624 from Subv/f2f_round
GPU: Implemented the F2F 'round' rounding mode.
|
2018-07-05 11:30:29 -04:00 |
|
bunnei
|
956b5db52e
|
Merge pull request #623 from Subv/vertex_types
GPU: Implement the Size_16_16 and Size_10_10_10_2 vertex attribute types
|
2018-07-05 11:30:01 -04:00 |
|
bunnei
|
8b815877a6
|
Merge pull request #622 from Subv/unused_tex
GPU: Ignore unused textures and corrected the TEX shader instruction decoding.
|
2018-07-05 11:29:17 -04:00 |
|
bunnei
|
1b0a74e23f
|
Merge pull request #621 from Subv/psetp_
GPU: Implemented the PSETP shader instruction.
|
2018-07-05 11:28:50 -04:00 |
|
bunnei
|
9a3c0b161e
|
Merge pull request #620 from Subv/depth_z32f
GPU: Implemented the 32 bit float depth buffer format.
|
2018-07-05 11:09:15 -04:00 |
|
Subv
|
b0c92b80b1
|
GPU: Implemented the IMNMX shader instruction.
It's similar to the FMNMX instruction but it works on integers.
|
2018-07-04 15:44:37 -05:00 |
|
Subv
|
d800a02b4b
|
GPU: Implemented the F2F 'round' rounding mode.
It's implemented via the GLSL 'roundEven()' function.
|
2018-07-04 15:43:21 -05:00 |
|
Subv
|
77cfe4f027
|
GPU: Stub the shader SYNC and DEPBAR instructions.
It is unknown at this moment if we actually need to do something with these instructions or if the GLSL compiler takes care of that for us.
|
2018-07-04 15:29:51 -05:00 |
|
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 |
|