summaryrefslogtreecommitdiffstats
path: root/src/video_core/CMakeLists.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* maxwell_to_gl: Add module and function for decoding VertexType.bunnei2018-03-271-0/+1
|
* Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.Subv2018-03-241-0/+2
|
* GPU: Preliminary work for texture decoding.Subv2018-03-241-0/+3
|
* renderer_gl: Port boilerplate rasterizer code over from Citra.bunnei2018-03-201-0/+3
|
* renderer_gl: Port over gl_shader_gen module from Citra.bunnei2018-03-201-0/+2
|
* renderer_gl: Port over gl_shader_decompiler module from Citra.bunnei2018-03-201-0/+2
|
* renderer_gl: Port over gl_rasterizer_cache module from Citra.bunnei2018-03-201-0/+2
|
* renderer_gl: Port over gl_stream_buffer module from Citra.bunnei2018-03-201-0/+2
|
* GPU: Move the GPU's class constructor and destructors to a cpp file.Subv2018-03-181-0/+1
| | | | This should reduce recompile times when editing the Maxwell3D register structure.
* Make a GPU class in VideoCore to contain the GPU state.Subv2018-02-121-0/+3
| | | | Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
* GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines.Subv2018-02-121-0/+8
|
* CMakeLists: Derive the source directory grouping from targets themselvesLioncash2018-01-181-19/+15
| | | | | Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
* Remove references to PICA and rasterizers in video_coreJames Rowe2018-01-131-74/+1
|
* pica/command_processor: build geometry pipeline and run geometry shaderwwylele2017-08-191-0/+2
| | | | | | | | | | | | The geometry pipeline manages data transfer between VS, GS and primitive assembler. It has known four modes: - no GS mode: sends VS output directly to the primitive assembler (what citra currently does) - GS mode 0: sends VS output to GS input registers, and sends GS output to primitive assembler - GS mode 1: sends VS output to GS uniform registers, and sends GS output to primitive assembler. It also takes an index from the index buffer at the beginning of each primitive for determine the primitive size. - GS mode 2: similar to mode 1, but doesn't take the index and uses a fixed primitive size. hwtest shows that immediate mode also supports GS (at least for mode 0), so the geometry pipeline gets refactored into its own class for supporting both drawing mode. In the immediate mode, some games don't set the pipeline registers to a valid value until the first attribute input, so a geometry pipeline reset flag is set in `pipeline.vs_default_attributes_setup.index` trigger, and the actual pipeline reconfigure is triggered in the first attribute input. In the normal drawing mode with index buffer, the vertex cache is a little bit modified to support the geometry pipeline. Instead of OutputVertex, it now holds AttributeBuffer, which is the input to the geometry pipeline. The AttributeBuffer->OutputVertex conversion is done inside the pipeline vertex handler. The actual hardware vertex cache is believed to be implemented in a similar way (because this is the only way that makes sense). Both geometry pipeline and GS unit rely on states preservation across drawing call, so they are put into the global state. In the future, the other three vertex shader units should be also placed in the global state, and a scheduler should be implemented on top of the four units. Note that the current gs_unit already allows running VS on it in the future.
* SwRasterizer/Lighting: shorten file namewwylele2017-08-031-2/+2
|
* SwRasterizer/Lighting: move to its own filewwylele2017-08-021-0/+2
|
* CMake: Create INTERFACE targets for microprofile and nihstroYuri Kunde Schlesner2017-05-281-1/+1
|
* CMake: Use IMPORTED target for libpngYuri Kunde Schlesner2017-05-281-3/+2
|
* CMake: Correct inter-module dependencies and library visibilityYuri Kunde Schlesner2017-05-281-5/+7
| | | | | | | | | | Modules didn't correctly define their dependencies before, which relied on the frontends implicitly including every module for linking to succeed. Also changed every target_link_libraries call to specify visibility of dependencies to avoid leaking definitions to dependents when not necessary.
* pica/swrasterizer: implement procedural texturewwylele2017-05-201-0/+2
|
* SWRasterizer: Move texturing functions to their own fileYuri Kunde Schlesner2017-02-131-0/+2
|
* SWRasterizer: Move framebuffer operation functions to their own fileYuri Kunde Schlesner2017-02-131-0/+2
|
* VideoCore: Move software rasterizer files to sub-directoryYuri Kunde Schlesner2017-02-131-6/+6
|
* VideoCore: Move Regs to its own fileYuri Kunde Schlesner2017-02-041-0/+2
|
* VideoCore: Split shader regs from Regs structYuri Kunde Schlesner2017-02-041-0/+1
|
* VideoCore: Split geometry pipeline regs from Regs structYuri Kunde Schlesner2017-02-041-0/+1
|
* VideoCore: Split lighting regs from Regs structYuri Kunde Schlesner2017-02-041-0/+1
|
* VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner2017-02-041-0/+1
|
* VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner2017-02-041-0/+1
|
* VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner2017-02-041-0/+1
|
* Pica/Texture: Move part of ETC1 decoding to new file and cleanupsYuri Kunde Schlesner2017-02-041-0/+2
|
* VideoCore: Move LookupTexture out of debug_utils.hYuri Kunde Schlesner2017-02-041-16/+18
|
* VideoCore/Shader: Split interpreter and JIT into separate ShaderEnginesYuri Kunde Schlesner2017-01-261-0/+2
|
* VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}Yuri Kunde Schlesner2017-01-261-2/+2
|
* VideoCore/Shader: Move DebugData to a separate fileYuri Kunde Schlesner2016-12-161-0/+1
|
* VideoCore: Convert x64 shader JIT to use Xbyak for assemblyYuri Kunde Schlesner2016-12-151-0/+3
|
* Remove TGA dumperJannik Vogel2016-04-301-1/+0
|
* Refactor: Extract VertexLoader from command_processor.cpp.Henrik Rydgard2016-04-281-0/+2
| | | | Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
* Add immediate mode vertex submissionDwayne Slater2016-03-031-0/+1
|
* pica: Add pica_types module and move float24 definition.bunnei2016-02-051-0/+1
|
* VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner2015-12-081-1/+4
| | | | | | This removes explicit checks sprinkled all over the codebase to instead just have the SW rasterizer expose an implementation with no-ops for most operations.
* renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei2015-10-221-1/+2
|
* Replace the previous OpenGL loader with a glad-generated 3.3 oneYuri Kunde Schlesner2015-08-301-2/+1
| | | | | | The main advantage of switching to glad from glLoadGen is that, apart from being actively maintained, it supports a customizable entrypoint loader function, which makes it possible to also support OpenGL ES.
* Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei2015-08-161-1/+1
|
* x64: Refactor to remove fake interfaces and general cleanups.bunnei2015-08-161-6/+4
|
* Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.bunnei2015-08-161-0/+10
| | | | | - Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT.
* Shader: Define a common interface for running vertex shader programs.bunnei2015-08-151-0/+2
|
* Shader: Move shader code to its own subdirectory, "shader".bunnei2015-08-151-2/+2
|
* GPU: Refactor "VertexShader" namespace to "Shader".bunnei2015-08-151-2/+2
| | | | - Also renames "vertex_shader.*" to "shader_interpreter.*"
* OpenGL: Make OpenGL object resource wrappers fully inlineYuri Kunde Schlesner2015-07-261-1/+0
| | | | | The functions are so simple that having them separate only bloats the code and hinders optimization.
* Move video_core/color.h to common/color.harchshift2015-05-301-1/+0
|
* Move video_core/math.h to common/vector_math.harchshift2015-05-301-1/+0
| | | | The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
* Pica: Create 'State' structure and move state memory there.bunnei2015-05-231-0/+1
|
* OpenGL renderertfarley2015-05-231-1/+11
|
* GPU: Added RGB565/RGB8 framebuffer support and various cleanups.bunnei2015-03-041-0/+1
| | | | | | - Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger.
* CMake cleanupYuri Kunde Schlesner2014-09-011-13/+26
| | | | | | | | Several cleanups to the buildsystem: - Do better factoring of common libs between platforms. - Add support to building on Windows. - Remove Qt4 support. - Re-sort file lists and add missing headers.
* Replace GLEW with a glLoadGen loader.Yuri Kunde Schlesner2014-09-011-0/+2
| | | | | | | | | This should fix the GL loading errors that occur in some drivers due to the use of deprecated functions by GLEW. Side benefits are more accurate auto-completion (deprecated function and symbols don't exist) and faster pointer loading (less entrypoints to load). In addition it removes an external library depency, simplifying the build system a bit and eliminating one set of binary libraries for Windows.
* Rewrite of OpenGL renderer, including OS X supportKevin Hartman2014-08-261-4/+7
| | | | | | Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads. Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk.
* Pica: Add debug utility functions for dumping geometry data.Tony Wasserka2014-08-251-0/+2
|
* Pica: Add basic rasterizer.Tony Wasserka2014-08-121-0/+2
|
* Pica: Add triangle clipper.Tony Wasserka2014-08-121-2/+4
|
* Pica: Add primitive assembly stage.Tony Wasserka2014-08-121-0/+2
|
* Pica: Add vertex shader implementation.Tony Wasserka2014-08-121-0/+2
|
* Pica: Add command processor.Tony Wasserka2014-08-121-2/+5
|
* Video core: Add utility class for vector operations.Tony Wasserka2014-08-121-1/+2
| | | | | I wrote most of this for ppsspp, so I hold full copyright over it. In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors.
* CMakeLists: rename HEADS, improved commentsarchshift2014-05-201-2/+2
| | | | Changes for clarity of comments, removed redundant compiler flags.
* IT'S ALIVE!archshift2014-04-291-1/+6
|
* fixed a bunch of errors in CMakeListsbunnei2014-04-101-3/+3
|
* updated CMakeListsbunnei2014-04-101-16/+2
|
* added video_core project to solutionbunnei2014-04-051-0/+19