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
bunnei
4669f15f8b
gl_shader_decompiler: Implement LD_C instruction.
8 years ago
bunnei
4112aa68a6
gl_shader_gen: Add uniform handling for indirect const buffer access.
8 years ago
bunnei
6e386a334b
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
8 years ago
Subv
dbfc39d214
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
566f97b580
gl_shader_decompiler: Fix un/signed mismatch with SHL.
8 years ago
bunnei
bf0543af23
maxwell_to_gl: Implement WrapMode Mirror.
8 years ago
Subv
adf47cd59a
GPU: Allow the usage of RGBA16_FLOAT in the texture copy engine.
8 years ago
Subv
c531a92eda
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
8 years ago
Subv
14afc704d4
GPU: Fixed the compression factor for RGBA16F textures.
They're not compressed.
8 years ago
Subv
8d70d1ea45
GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine.
8 years ago
Subv
e7dfcdde74
GPU: Corrected the branch targets for the shader bra instruction.
8 years ago
Subv
4b89348c00
GPU: Implemented the F2I_R shader instruction.
8 years ago
bunnei
799e632ccb
gl_shader_decompiler: Fix typo with ISCADD instruction.
8 years ago
bunnei
c23c30c76f
gl_shader_decompiler: Implement SHL instruction.
8 years ago
bunnei
6ea1576513
gl_shader_decompiler: Implement PredCondition::NotEqual.
8 years ago
Subv
23b1e6eded
GPU: Implement the ISCADD shader instructions.
8 years ago
Subv
438a9b70cc
GPU: Added decodings for the ISCADD instructions.
8 years ago
Subv
6cf6fa2842
GPU: Implement predicated exit instructions in the shader programs.
8 years ago
Subv
d27279092f
GPU: Take into account predicated exits when performing shader control flow analysis.
8 years ago
Subv
2933521a08
GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.
8 years ago
Subv
f6679ce422
GPU: Corrected the I2F_R implementation.
8 years ago
Subv
5d55403f94
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
0c688b421c
GPU: Implemented the LOP32I instruction.
8 years ago
Subv
cb47abecc6
GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface.
8 years ago
Subv
90cddf1996
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
7c181fd4f4
GPU: Implemented the ISETP_R and ISETP_C shader instructions.
8 years ago
Subv
b481d8a00d
GPU: Partially implemented the shader BRA instruction.
8 years ago
Subv
06c72b4fcf
GPU: Added decoding for the BRA instruction.
8 years ago
Subv
d57333406d
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
1efcba346a
gl_shader_decompiler: Implement TEXS component mask.
8 years ago
bunnei
e54ea773fc
gl_shader_decompiler: Implement RRO as a register move.
8 years ago
Subv
99f9d47d16
GPU: Implemented the DXN1 (BC4) texture format.
8 years ago
bunnei
888eb345c0
gl_shader_decompiler: Implement TEX instruction.
8 years ago
bunnei
4c727d0ba8
gl_shader_decompiler: Support multi-destination for TEXS.
8 years ago
bunnei
49309b5848
gl_rasterizer_cache: Assert that component type is UNorm or format is RGBA16F.
8 years ago
bunnei
ca5a4a704b
gl_rasterizer_cache: Implement PixelFormat RGBA16F.
8 years ago
Subv
99f12b05fa
Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.
8 years ago
bunnei
6fcc7e9c36
gl_shader_decompiler: F2F_R instruction: Implement abs.
8 years ago
bunnei
68937a662d
gl_shader_decompiler: Partially implement F2F_R instruction.
8 years ago