bunnei
c388741f12
renderer: Create rasterizer and cleanup.
8 years ago
Subv
f3a5328f09
GPU: Added vertex attribute format registers.
8 years ago
Subv
a569ee8a58
GPU: Added registers for the number of vertices to render.
8 years ago
bunnei
188a685e73
renderer_gl: Port boilerplate rasterizer code over from Citra.
8 years ago
bunnei
e0f3facd01
gl_shader_util: Sync latest version with Citra.
8 years ago
bunnei
756e14027a
renderer_gl: Port over gl_shader_gen module from Citra.
8 years ago
bunnei
f1e9d5404d
renderer_gl: Port over gl_shader_decompiler module from Citra.
8 years ago
bunnei
a533c3398c
renderer_gl: Port over gl_rasterizer_cache module from Citra.
8 years ago
bunnei
ac51a39abf
gl_resource_manager: Sync latest version with Citra.
8 years ago
bunnei
52bfc102bc
renderer_gl: Port over gl_stream_buffer module from Citra.
8 years ago
bunnei
b1ceeb5c42
gl_state: Sync latest version with Citra.
8 years ago
Subv
3e645f5595
GPU: Added Z buffer registers to Maxwell3D's reg structure.
8 years ago
Subv
b942bfbb13
GPU: Added the render target (RT) registers to Maxwell3D's reg structure.
8 years ago
N00byKing
d3bdad2aaa
Clang Fixes
8 years ago
N00byKing
1212e9e231
Clean Warnings (?)
8 years ago
Subv
c0f954906c
GPU: Added the TSC registers to the Maxwell3D register structure.
8 years ago
Subv
f6e3d3aa1a
GPU: Added the TIC registers to the Maxwell3D register structure.
8 years ago
Subv
36c527131f
GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.
This macro simply sets the current CB_ADDRESS to the texture buffer address for the input shader stage.
8 years ago
Subv
80b0f4d681
GPU: Implement the BindStorageBuffer macro method in HLE.
This macro binds the SSBO Info Buffer as the current ConstBuffer.
This buffer is usually bound to c0 during shader execution.
Games seem to use this macro instead of directly writing the address for some reason.
8 years ago
Subv
845415cc3d
GPU: Handle writes to the CB_DATA method.
Writing to this method will cause the written value to be stored in the currently-set ConstBuffer plus CB_POS.
This method is usually used to upload uniforms or other shader-visible data.
8 years ago
Subv
46bbeeb54a
GPU: Move the GPU's class constructor and destructors to a cpp file.
This should reduce recompile times when editing the Maxwell3D register structure.
8 years ago
Subv
a8cb6ba213
GPU: Store uploaded GPU macros and keep track of the number of method parameters.
8 years ago
Subv
29c026fae1
GPU: Macros are specific to the Maxwell3D engine, so handle them internally.
8 years ago
Subv
5979796df8
GPU: Renamed ShaderType to ShaderStage as that is less confusing.
8 years ago
Subv
7b48098c60
GPU: Store shader constbuffer bindings in the GPU state.
8 years ago
Subv
5f181aec24
GPU: Corrected some register offsets and removed superfluous macro registers.
8 years ago
Subv
8a5c0e873b
GPU: Make the SetShader macro call do the same as the real macro's code.
It'll now set the CB_SIZE, CB_ADDRESS and CB_BIND registers when it's called.
Presumably this SetShader function is binding the constant shader uniforms to buffer 1 (c1[]).
8 years ago
Subv
e3e0625ff7
GPU: Corrected the parameter documentation for the SetShader macro call.
Register 0xE24 is actually a macro that sets some shader parameters in the register structure.
Macros are uploaded to the GPU at startup and have their own ISA, we'll probably write an interpreter for this in the future.
8 years ago
Subv
c9850b0d3a
GPU: Handle the SetShader method call (0xE24) and store the shader config.
8 years ago
Subv
dbade2db3e
GPU: Added the vertex array registers.
8 years ago
Subv
6796e37911
GPU: Process command mode 5 (IncreaseOnce) differently from other commands.
Accumulate all arguments before calling the desired method.
Note: Maybe we should do the same for the NonIncreasing mode?
8 years ago
Subv
3247b8f9dd
GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.
Shader address calculation depends on this value to some extent, we do not currently know what it being 0 entails.
8 years ago
Subv
d468c046f9
GPU: Added Maxwell registers for Shader Program control.
8 years ago
Subv
083e494083
GPU: Intercept writes to the VERTEX_END_GL register.
This is the register that gets written after a game calls DrawArrays().
We should collect all GPU state and draw using our graphics API here.
8 years ago
Lioncash
c1583210dd
maxwell_3d: Make constructor explicit
8 years ago
Subv
9cf3a6cc00
GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.
Only QueryMode::Write is supported at the moment.
8 years ago
Subv
0088b3128b
Make a GPU class in VideoCore to contain the GPU state.
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
8 years ago
Subv
35176a0f73
GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines.
8 years ago
bunnei
1926a0d478
renderer_opengl: Support framebuffer flip vertical.
8 years ago
MerryMage
7a23a53396
memory: Replace all memory hooking with Special regions
8 years ago
James Rowe
ea88c44eb8
Format: Run the new clang format on everything
8 years ago
Lioncash
447c25646e
CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
8 years ago
MerryMage
41bfd994f6
clang-format
8 years ago
bunnei
386ecbd433
renderer_gl: Clear screen to black before rendering framebuffer.
8 years ago
bunnei
f0bccde0a0
renderer: Render previous frame when no new one is available.
8 years ago
MerryMage
d616b36e7b
Fix build on macOS and linux
8 years ago
James Rowe
bd5740a721
Remove gpu debugger and get yuzu qt to compile
8 years ago
James Rowe
a5b9cd4d18
Remove references to PICA and rasterizers in video_core
8 years ago
bunnei
5203bf6799
renderer_opengl: Fix LOG_TRACE in LoadFBToScreenInfo.
8 years ago
bunnei
0ffcc1190e
renderer_opengl: Support rendering Switch framebuffer.
8 years ago