bunnei
1bd065fb8e
shader_bytecode: Add decoding for FMNMX instruction.
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
8c6970d20d
shader_bytecode: Add decodings for i2i instructions.
8 years ago
bunnei
f252169fa6
gl_shader_decompiler: Implement MOV32_IMM instruction.
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
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
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
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
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
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
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
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
Subv
601c5d9d93
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
8 years ago
Subv
4ca65f10b1
ShaderGen: Implemented the fmul32i shader instruction.
8 years ago
bunnei
e8cc5900a6
gl_shader_gen: Support vertical/horizontal viewport flipping. ( #347 )
* gl_shader_gen: Support vertical/horizontal viewport flipping.
* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
8 years ago
Subv
19a0e7e141
GPU: Pitch textures are now supported, don't assert when encountering them.
8 years ago
bunnei
de84b74dd4
maxwell3d: Allow Texture2DNoMipmap as Texture2D.
8 years ago
bunnei
797267eb58
shader_bytecode: Make ctor's constexpr and explicit.
8 years ago
bunnei
4d9c441bef
renderer_opengl: Implement BlendEquation and BlendFunc.
8 years ago
bunnei
c1408040a6
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
8 years ago
bunnei
05305422e1
gl_shader_decompiler: Add support for TEXS instruction.
8 years ago
bunnei
65092bf8d8
gl_rasterizer: Implement indexed vertex mode.
8 years ago
Subv
e14e38fe0e
GPU: Added a function to determine whether a shader stage is enabled or not.
8 years ago
bunnei
538322ec1f
shaders: Add NumTextureSamplers const, remove unused #pragma.
8 years ago
bunnei
f48c229f0e
shaders: Address PR review feedback.
8 years ago
bunnei
47bf0b0094
shaders: Fix GCC and clang build issues.
8 years ago
bunnei
d166a50ded
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
8 years ago
bunnei
a859a70da1
shader_bytecode: Add FSETP and KIL to GetInfo.
8 years ago
bunnei
6fe96737a1
shader_bytecode: Add SubOp decoding.
8 years ago
bunnei
7e7f053ea7
maxwell_3d: Make memory_manager public.
8 years ago
bunnei
4e961244a8
maxwell_3d: Fix shader_config decodings.
8 years ago
bunnei
0b49a74e19
shader_bytecode: Add initial module for shader decoding.
8 years ago
Subv
cb3ca1d4cf
GPU: Assert when finding a texture with a format type other than UNORM.
8 years ago
Subv
84c9824895
GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.
8 years ago
Subv
7fe4f9491e
GPU: Implemented a gpu macro interpreter.
The Ryujinx macro interpreter and envydis were used as reference.
Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
8 years ago
bunnei
b9eae6e652
gl_rasterizer: Add a SyncViewport method.
8 years ago
bunnei
95d56cac29
gl_rasterizer: Normalize vertex array data as appropriate.
8 years ago
bunnei
ded4139447
maxwell_3d: Use names that match envytools for VertexType.
8 years ago
bunnei
d37f03d0fe
maxwell_3d: Add VertexAttribute struct and cleanup.
8 years ago