Subv
6d7be6fc08
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
179623a99c
gl_shader_decompiler: Implement IADD instruction.
8 years ago
bunnei
54408c16a8
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
8 years ago
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.
8 years ago
Subv
3e48928bf2
GPU: Added registers for normal and independent blending.
8 years ago
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.
8 years ago
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.
8 years ago
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.
8 years ago
bunnei
221a29f0fd
gl_shader_decompiler: Implement BFE_IMM instruction.
8 years ago
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.
8 years ago
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.
8 years ago
bunnei
1586ee87ae
gl_shader_decompiler: F2F: Implement rounding modes.
8 years ago
bunnei
ec2cad04ef
gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS.
8 years ago
bunnei
8160467a6d
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
8 years ago
bunnei
16f739f695
gl_shader_decompiler: Implement ISETP_IMM instruction.
8 years ago
Subv
d97b2711ac
GPU: Support changing the texture swizzles for Maxwell textures.
8 years ago
Subv
23f87f342b
GLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit.
8 years ago
bunnei
8ff7558d0c
gl_shader_decompiler: Implement LD_C instruction.
8 years ago
bunnei
802a4febed
gl_shader_gen: Add uniform handling for indirect const buffer access.
8 years ago
bunnei
dbdf703c20
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
8 years ago
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.
8 years ago
bunnei
3ab3dd166a
gl_shader_decompiler: Fix un/signed mismatch with SHL.
8 years ago
bunnei
0f76311842
maxwell_to_gl: Implement WrapMode Mirror.
8 years ago
Subv
d91fc15ea4
GPU: Allow the usage of RGBA16_FLOAT in the texture copy engine.
8 years ago
Subv
1ab5441d54
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
8 years ago
Subv
484b63fe34
GPU: Fixed the compression factor for RGBA16F textures.
They're not compressed.
8 years ago
Subv
f13edfd80b
GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine.
8 years ago
Subv
18d020ae81
GPU: Corrected the branch targets for the shader bra instruction.
8 years ago
Subv
1476b79308
GPU: Implemented the F2I_R shader instruction.
8 years ago
bunnei
732dd3fa03
gl_shader_decompiler: Fix typo with ISCADD instruction.
8 years ago
bunnei
3ffb26b0a6
gl_shader_decompiler: Implement SHL instruction.
8 years ago
bunnei
d9b029ff99
gl_shader_decompiler: Implement PredCondition::NotEqual.
8 years ago
Subv
368be6ae32
GPU: Implement the ISCADD shader instructions.
8 years ago
Subv
4e153d2bd6
GPU: Added decodings for the ISCADD instructions.
8 years ago
Subv
aa486a9eb2
GPU: Implement predicated exit instructions in the shader programs.
8 years ago
Subv
9e1ef025cb
GPU: Take into account predicated exits when performing shader control flow analysis.
8 years ago
Subv
3e3e3274c7
GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.
8 years ago
Subv
45a000239d
GPU: Corrected the I2F_R implementation.
8 years ago
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?
8 years ago
Subv
7caec68586
GPU: Implemented the LOP32I instruction.
8 years ago
Subv
a2117df8e6
GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface.
8 years ago
Subv
0e337430f5
GPU: Use explicit types when retrieving the uniform values for fsetp/fset and isetp instead of the type of an invalid output register.
8 years ago
Subv
c330734536
GPU: Implemented the ISETP_R and ISETP_C shader instructions.
8 years ago
Subv
54a12f1b84
GPU: Partially implemented the shader BRA instruction.
8 years ago
Subv
d75c79b61a
GPU: Added decoding for the BRA instruction.
8 years ago
Subv
315e5e6cf3
GPU: Partial implementation of long GPU queries.
Long queries write a 128-bit result value to memory, which consists of a 64 bit query value and a 64 bit timestamp.
In this implementation, only select=Zero of the Crop unit is implemented, this writes the query sequence as a 64 bit value, and a 0u64 value for the timestamp, since we emulate an infinitely fast GPU.
This specific type was hwtested, but more rigorous tests should be performed in the future for the other types.
8 years ago
bunnei
94b620a89e
gl_shader_decompiler: Implement TEXS component mask.
8 years ago
bunnei
76da1f526a
gl_shader_decompiler: Implement RRO as a register move.
8 years ago
Subv
c00fc04a65
GPU: Implemented the DXN1 (BC4) texture format.
8 years ago
bunnei
20fa6379f6
gl_shader_decompiler: Implement TEX instruction.
8 years ago