aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-03-19GPU: Added the render target (RT) registers to Maxwell3D's reg structure.Subv
2018-03-19Clang FixesN00byKing
2018-03-19Clean Warnings (?)N00byKing
2018-03-19GPU: Added the TSC registers to the Maxwell3D register structure.Subv
2018-03-19GPU: Added the TIC registers to the Maxwell3D register structure.Subv
2018-03-18GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.Subv
This macro simply sets the current CB_ADDRESS to the texture buffer address for the input shader stage.
2018-03-18GPU: Implement the BindStorageBuffer macro method in HLE.Subv
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.
2018-03-18GPU: Handle writes to the CB_DATA method.Subv
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.
2018-03-18GPU: Move the GPU's class constructor and destructors to a cpp file.Subv
This should reduce recompile times when editing the Maxwell3D register structure.
2018-03-18GPU: Store uploaded GPU macros and keep track of the number of method ↵Subv
parameters.
2018-03-18GPU: Macros are specific to the Maxwell3D engine, so handle them internally.Subv
2018-03-17GPU: Renamed ShaderType to ShaderStage as that is less confusing.Subv
2018-03-17GPU: Store shader constbuffer bindings in the GPU state.Subv
2018-03-17GPU: Corrected some register offsets and removed superfluous macro registers.Subv
2018-03-17GPU: Make the SetShader macro call do the same as the real macro's code.Subv
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[]).
2018-03-17GPU: Corrected the parameter documentation for the SetShader macro call.Subv
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.
2018-03-17Merge pull request #242 from Subv/set_shaderbunnei
GPU: Handle the SetShader method call (0xE24) and store the shader config.
2018-03-16GPU: Handle the SetShader method call (0xE24) and store the shader config.Subv
2018-03-16GPU: Added the vertex array registers.Subv
2018-03-16Merge pull request #241 from Subv/gpu_method_callbunnei
GPU: Process command mode 5 (IncreaseOnce) differently from other commands
2018-03-16GPU: Process command mode 5 (IncreaseOnce) differently from other commands.Subv
Accumulate all arguments before calling the desired method. Note: Maybe we should do the same for the NonIncreasing mode?
2018-03-16GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.Subv
Shader address calculation depends on this value to some extent, we do not currently know what it being 0 entails.
2018-03-16GPU: Added Maxwell registers for Shader Program control.Subv
2018-03-04GPU: Intercept writes to the VERTEX_END_GL register.Subv
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.
2018-02-13maxwell_3d: Make constructor explicitLioncash
2018-02-13Merge pull request #187 from Subv/maxwell3d_querybunnei
GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.
2018-02-12Merge pull request #178 from Subv/command_buffersbunnei
GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines
2018-02-12GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.Subv
Only QueryMode::Write is supported at the moment.
2018-02-11Make a GPU class in VideoCore to contain the GPU state.Subv
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
2018-02-11GPU: Added a command processor to decode the GPU pushbuffers and forward the ↵Subv
commands to their respective engines.
2018-02-11renderer_opengl: Support framebuffer flip vertical.bunnei
2018-01-27memory: Replace all memory hooking with Special regionsMerryMage
2018-01-20Format: Run the new clang format on everythingJames Rowe
2018-01-17CMakeLists: Derive the source directory grouping from targets themselvesLioncash
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
2018-01-16clang-formatMerryMage
2018-01-15renderer_gl: Clear screen to black before rendering framebuffer.bunnei
2018-01-14renderer: Render previous frame when no new one is available.bunnei
2018-01-13Fix build on macOS and linuxMerryMage
2018-01-12Remove gpu debugger and get yuzu qt to compileJames Rowe
2018-01-12Remove references to PICA and rasterizers in video_coreJames Rowe
2018-01-11renderer_opengl: Fix LOG_TRACE in LoadFBToScreenInfo.bunnei
2018-01-10renderer_opengl: Support rendering Switch framebuffer.bunnei
2018-01-10render_base: Add a struct describing framebuffer metadata.bunnei
2018-01-10renderer_opengl: Add MortonCopyPixels function for Switch framebuffer.bunnei
2018-01-10renderer_opengl: Update DrawScreens for Switch.bunnei
2018-01-01core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei
2017-10-14hle: Initial implementation of NX service framework and IPC.bunnei
2017-10-04Extracted the attribute setup and draw commands into their own functionsHuw Pascoe
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2017-09-27Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.Subv
It is unlikely we will ever use this without first doing a Cast to a signed type. Fixes 9 "unary minus operator applied to unsigned type, result still unsigned" warnings on MSVC2017.3