Subv
158cd05fd3
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
3e48928bf2
GPU: Added registers for normal and independent blending.
2018-06-08 17:04:41 -05:00
bunnei
0aac4935af
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
5f3afad871
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
b834631438
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
48cb11e6b7
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
f84d419248
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
bunnei
c153e1a326
Merge pull request #542 from bunnei/bfe_imm
...
gl_shader_decompiler: Implement BFE_IMM instruction.
2018-06-07 01:49:45 -04:00
bunnei
3a347d9be8
Merge pull request #541 from Subv/blittextures
...
GLCache: Fixed copying compressed textures in the rasterizer cache.
2018-06-07 01:35:01 -04:00
bunnei
221a29f0fd
gl_shader_decompiler: Implement BFE_IMM instruction.
2018-06-07 00:58:12 -04:00
Subv
f5ef6f5e8e
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
6c016a6844
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
bunnei
1586ee87ae
gl_shader_decompiler: F2F: Implement rounding modes.
2018-06-06 22:21:29 -04:00
bunnei
738888debe
Merge pull request #537 from bunnei/misc-shader
...
gl_shader_decompiler: Additional decodings, remove unused stuff from TEX
2018-06-06 21:44:37 -04:00
bunnei
b315b20e8d
Merge pull request #535 from Subv/gpu_swizzle
...
GPU: Support changing the texture swizzles for Maxwell textures.
2018-06-06 21:39:47 -04:00
bunnei
ec2cad04ef
gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS.
2018-06-06 19:47:41 -04:00
bunnei
16f739f695
gl_shader_decompiler: Implement ISETP_IMM instruction.
2018-06-06 19:45:58 -04:00
Subv
d97b2711ac
GPU: Support changing the texture swizzles for Maxwell textures.
2018-06-06 18:36:15 -05:00
Subv
23f87f342b
GLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit.
2018-06-06 18:36:13 -05:00
bunnei
1a47f755f3
Merge pull request #534 from Subv/multitexturing
...
GPU: Implement sampling multiple textures in the generated glsl shaders.
2018-06-06 19:12:52 -04:00
bunnei
8ff7558d0c
gl_shader_decompiler: Implement LD_C instruction.
2018-06-06 18:09:06 -04:00
bunnei
802a4febed
gl_shader_gen: Add uniform handling for indirect const buffer access.
2018-06-06 18:09:05 -04:00
bunnei
dbdf703c20
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
2018-06-06 17:57:15 -04:00
Subv
411f04b5a4
GPU: Implement sampling multiple textures in the generated glsl shaders.
...
All tested games that use a single texture show no regression.
Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible.
2018-06-06 12:58:16 -05:00
Sebastian Valle
6dccfac7ff
Merge pull request #531 from bunnei/fix-shl
...
gl_shader_decompiler: Fix un/signed mismatch with SHL.
2018-06-06 08:28:42 -05:00
Sebastian Valle
820cd30074
Merge pull request #530 from bunnei/wrap-mirror
...
maxwell_to_gl: Implement WrapMode Mirror.
2018-06-06 08:28:27 -05:00
bunnei
98df70ed5f
Merge pull request #528 from Subv/rg11b10f
...
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
2018-06-06 00:22:54 -04:00
bunnei
3ab3dd166a
gl_shader_decompiler: Fix un/signed mismatch with SHL.
2018-06-05 23:58:06 -04:00
bunnei
0f76311842
maxwell_to_gl: Implement WrapMode Mirror.
2018-06-05 23:56:45 -04:00
Subv
1ab5441d54
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
2018-06-05 21:57:16 -05:00
Subv
484b63fe34
GPU: Fixed the compression factor for RGBA16F textures.
...
They're not compressed.
2018-06-05 21:55:17 -05:00
bunnei
ddee657fc4
Merge pull request #516 from Subv/f2i_r
...
GPU: Implemented the F2I_R shader instruction.
2018-06-05 22:01:29 -04:00
bunnei
4ec9f8d6ae
Merge pull request #520 from bunnei/shader-shl
...
gl_shader_decompiler: Implement SHL instruction.
2018-06-05 10:08:42 -04:00
Subv
1476b79308
GPU: Implemented the F2I_R shader instruction.
2018-06-04 22:06:50 -05:00
bunnei
fdb75599cc
Merge pull request #518 from Subv/incomplete_shaders
...
GPU: Implemented predicated exit instructions in the shader programs.
2018-06-04 22:43:46 -04:00
bunnei
732dd3fa03
gl_shader_decompiler: Fix typo with ISCADD instruction.
2018-06-04 22:41:10 -04:00
bunnei
3ffb26b0a6
gl_shader_decompiler: Implement SHL instruction.
2018-06-04 22:36:49 -04:00
bunnei
d9b029ff99
gl_shader_decompiler: Implement PredCondition::NotEqual.
2018-06-04 22:00:47 -04:00
Subv
368be6ae32
GPU: Implement the ISCADD shader instructions.
2018-06-04 20:17:41 -05:00
bunnei
2321fe4ec7
Merge pull request #514 from Subv/lop32i
...
GPU: Implemented the LOP32I instruction.
2018-06-04 20:48:15 -04:00
bunnei
6dd400647a
Merge pull request #510 from Subv/isetp
...
GPU: Implemented the ISETP_R and ISETP_C instructions
2018-06-04 20:47:11 -04:00
Subv
aa486a9eb2
GPU: Implement predicated exit instructions in the shader programs.
2018-06-04 19:18:11 -05:00
Subv
9e1ef025cb
GPU: Take into account predicated exits when performing shader control flow analysis.
2018-06-04 19:14:23 -05:00
bunnei
8279e1205d
Merge pull request #512 from Subv/fset
...
GPU: Corrected the FSET and I2F instructions.
2018-06-04 19:04:20 -04:00
bunnei
71bbea4a0d
Merge pull request #501 from Subv/shader_bra
...
GPU: Partially implemented the bra shader instruction
2018-06-04 18:31:07 -04:00
bunnei
c26ae19983
Merge pull request #515 from Subv/viewport_fix
...
GPU: Calculate the correct viewport dimensions based on the scale and translate registers.
2018-06-04 18:11:36 -04:00
Subv
3e3e3274c7
GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.
2018-06-04 16:41:28 -05:00
Subv
45a000239d
GPU: Corrected the I2F_R implementation.
2018-06-04 16:41:27 -05:00
Subv
a58a06a218
GPU: Calculate the correct viewport dimensions based on the scale and translate registers.
...
This is how nouveau calculates the viewport width and height. For some reason some games set 0xFFFF in the VIEWPORT_HORIZ and VIEWPORT_VERT registers, maybe those are a misnomer and actually refer to something else?
2018-06-04 16:36:54 -05:00
Subv
7caec68586
GPU: Implemented the LOP32I instruction.
2018-06-04 13:56:31 -05:00