bunnei
d01e76720d
maxwell_to_gl: Implement type SignedNorm, Size_8_8_8_8.
8 years ago
bunnei
1bd065fb8e
shader_bytecode: Add decoding for FMNMX instruction.
8 years ago
Subv
87389ce295
Shaders: Implemented predicate condition 3 (LessEqual) in the fset and fsetp instructions.
8 years ago
bunnei
0ee1a0e698
gl_shader_decompiler: Implement MOV_C.
8 years ago
bunnei
f2da134385
fermi_2d: Fix surface copy block height.
8 years ago
bunnei
aaa3d91e7c
gl_shader_decompiler: Partially implement I2I_R, and I2F_R.
8 years ago
bunnei
327e24bb8f
gl_shader_decompiler: More cleanups, etc. with how we handle register types.
8 years ago
bunnei
543d4a680f
GLSLRegister: Simplify register declarations, etc.
8 years ago
bunnei
8c6970d20d
shader_bytecode: Add decodings for i2i instructions.
8 years ago
bunnei
f252169fa6
gl_shader_decompiler: Implement MOV32_IMM instruction.
8 years ago
Lioncash
cfd0e7f2d9
renderer_opengl: Replace usages of LOG_GENERIC with fmt-capable equivalents
8 years ago
bunnei
2dbd239ed5
gl_shader_decompiler: Add GLSLRegisterManager class to track register state.
8 years ago
Lioncash
324ee31fc3
general: Convert assertion macros over to be fmt-compatible
8 years ago
bunnei
8e661859a8
gl_shader_decompiler: Boilerplate for handling integer instructions.
8 years ago
bunnei
02771faf4e
gl_shader_decompiler: Move color output to EXIT instruction.
8 years ago
Subv
0c04a308d1
GPU: Partially implemented the Fermi2D surface copy operation.
The hardware allows for some rather complicated operations to be performed on the data during the copy, this is not implemented.
Only same-format same-size raw copies are implemented for now.
8 years ago
Subv
1755d4bec3
Shaders: Added bit decodings for the I2I instruction.
8 years ago
Subv
e02112db16
Shaders: Implemented the FSET instruction.
This instruction is similar to the FSETP instruction, but it doesn't set a predicate, it sets the destination register to 1.0 if the condition holds, and 0 otherwise.
8 years ago
Subv
634620b502
GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file.
8 years ago
Subv
284aad1420
GPU: Added a function to retrieve the bytes per pixel of the render target formats.
8 years ago
Subv
bbb15541aa
GPU: Added surface copy registers to Fermi2D
8 years ago
Subv
b0b75e7ae4
GPU: Added boilerplate code for the Fermi2D engine
8 years ago
Subv
94d0d499c3
GPU: Reduce the number of registers of Maxwell3D to 0xE00.
The rest are just macro shim registers.
8 years ago
Subv
219b5d34e7
GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
It doesn't belong in the PFIFO handler.
8 years ago
Subv
f42b93399f
GPU: Corrected the upper bound of the PFIFO method ids in the command processor.
8 years ago
Lioncash
f5bd2617a8
video-core: Move logging macros over to new fmt-capable ones
8 years ago
Subv
74c89df1c8
Shaders: Added decodings for the FSET instructions.
8 years ago
bunnei
bfb435c994
renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.
8 years ago
bunnei
1f14d07952
gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
8 years ago
bunnei
931c447c84
gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.
8 years ago
bunnei
4713ba7d9c
gl_rasterizer_cache: Use new logger.
8 years ago
bunnei
197ea35d95
gl_rasterizer_cache: Add a function for finding framebuffer GPU address.
8 years ago
bunnei
640c943d34
gl_rasterizer_cache: Handle compressed texture sizes.
8 years ago
bunnei
31748079de
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
8 years ago
bunnei
995cbfc15f
memory_manager: Add implement CpuToGpuAddress.
8 years ago
bunnei
b6bed8fd74
memory_manager: Make GpuToCpuAddress return an optional.
8 years ago
bunnei
ebef12f037
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
8 years ago
Lioncash
f6b2c3485b
renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()
8 years ago
Subv
1eca798d8b
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
This is based on research from nouveau. Many things are currently unknown and will require hwtests in the future.
This commit also stubs QueryMode::Write2 to do the same as Write. Nouveau code treats them interchangeably, it is currently unknown what the difference is.
8 years ago
Subv
6be45c562f
GPU: Support multiple enabled vertex arrays.
The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension.
yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
8 years ago
Subv
fbc480d611
GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.
Also removed some dead code and added memory map consistency asserts.
8 years ago
Subv
fa6edc4412
GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format.
8 years ago
Subv
abd66a9a33
GPU: Implement the A2BGR10 texture format.
8 years ago
bunnei
ff1700e261
gl_shader_decompiler: Skip RRO instruction.
8 years ago
bunnei
54fbbc6f26
gl_shader_decompiler: Cleanup error logging.
8 years ago
bunnei
f66098bd37
shader_bytecode: Add several more instruction decodings.
8 years ago
bunnei
d2302ee79f
shader_bytecode: Decode instructions based on bit strings.
8 years ago
Subv
79e7bb8896
ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.
8 years ago
Subv
2fbb91a6b6
ShaderGen: Implemented predicated instruction execution.
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
8 years ago
Subv
31de416fc0
ShaderGen: Implemented the fsetp instruction.
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
8 years ago