summaryrefslogtreecommitdiff
path: root/src/video_core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Only check OpenGL shader log if size is >1.Gravatar Yuri Kunde Schlesner2014-10-211-9/+6
| | | | | | | | This prevents a crash when the buffer size returned by the driver is 0, in which case no space is allocated to store even the NULL byte and glGetShaderInfoLog errors out. Thanks to @Relys for the bug report.
* Rework OpenGL renderer.Gravatar Yuri Kunde Schlesner2014-10-124-233/+193
| | | | | | | | | The OpenGL renderer has been revised, with the following changes: - Initialization and rendering have been refactored to reduce the number of redundant objects used. - Framebuffer rotation is now done directly, using texture mapping. - Vertex coordinates are now given in pixels, and the projection matrix isn't hardcoded anymore.
* OpenGL renderer: Shuffle initialization code around and rename functions.Gravatar Yuri Kunde Schlesner2014-10-122-25/+18
|
* Remove virtual inheritance from RendererOpenGLGravatar Yuri Kunde Schlesner2014-10-122-3/+3
| | | | Also make destructor virtual so that instances are properly destructed.
* Fix warnings in video_coreGravatar Lioncash2014-10-077-23/+23
|
* Common: Rename the File namespace to FileUtil, to match the filename and ↵Gravatar Emmanuel Gil Peyrot2014-09-171-1/+1
| | | | prevent collisions.
* Merge pull request #110 from lioncash/warningsGravatar bunnei2014-09-141-1/+1
|\ | | | | Core: Fix warnings in gpu.cpp
| * Core: Fix warnings in gpu.cppGravatar Lioncash2014-09-131-1/+1
| |
* | Merge pull request #97 from archshift/cleanupGravatar bunnei2014-09-134-44/+29
|\ \ | |/ |/| Small, general code cleanup
| * renderer_opengl.cpp: improved alignment for readabilityGravatar archshift2014-09-071-16/+16
| |
| * Dead code removal: video_core.cpp, load_symbol_map.cppGravatar archshift2014-09-071-7/+0
| |
| * utils: cleaned up DumpTGA, removing redundanciesGravatar archshift2014-09-072-21/+13
| |
* | Added support for multiple input device types for KeyMap and connected Qt.Gravatar Kevin Hartman2014-09-121-0/+1
| |
* | Moved common_types::Rect from common to Common namespaceGravatar archshift2014-09-082-3/+3
|/
* Remove hand-crafted Visual Studio solution.Gravatar Yuri Kunde Schlesner2014-09-012-217/+0
|
* CMake cleanupGravatar Yuri 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.Gravatar Yuri Kunde Schlesner2014-09-0110-13/+2819
| | | | | | | | | 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.
* Downgrade GLSL version to 1.50 (compatible with GL 3.2)Gravatar Yuri Kunde Schlesner2014-08-283-10/+15
|
* VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.Gravatar bunnei2014-08-264-8/+15
|
* Rewrite of OpenGL renderer, including OS X supportGravatar Kevin Hartman2014-08-258-211/+340
| | | | | | 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/Rasterizer: Clarify a TODO.Gravatar Tony Wasserka2014-08-251-1/+3
|
* Pica/VertexShader: Fix a bug in the call stack handling.Gravatar Tony Wasserka2014-08-251-2/+3
|
* Math: Warning fixes.Gravatar Tony Wasserka2014-08-251-14/+23
|
* Pica: Consolidate the primitive assembly code in PrimitiveAssembly and ↵Gravatar Tony Wasserka2014-08-255-46/+74
| | | | GeometryDumper.
* Pica/Rasterizer: Add texturing support.Gravatar Tony Wasserka2014-08-253-18/+69
|
* Pica/DebugUtils: Add convenient tev setup printer.Gravatar Tony Wasserka2014-08-253-0/+101
|
* Pica/Rasterizer: Add initial implementation of texture combiners.Gravatar Tony Wasserka2014-08-252-2/+225
|
* Pica: Add support for dumping textures.Gravatar Tony Wasserka2014-08-253-1/+177
|
* Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified ↵Gravatar Tony Wasserka2014-08-253-98/+133
| | | | | | | | rasterizer code accordingly. - Swizzlers now return const objects so that things like "first_vec4.xyz() = some_vec3" now will fail to compile (ideally we should support some vector holding references to make this actually work). - The methods "InsertBeforeX/Y/Z" and "Append" have been replaced by more versions of MakeVec, which now also supports building new vectors from vectors. - Vector library now follows C++ type promotion rules (hence, the result of Vec2<u8> with another Vec2<u8> is now a Vec2<int>).
* Pica/VertexShader: Fix a bug in the bitfield definitions and add the ↵Gravatar Tony Wasserka2014-08-252-14/+92
| | | | "negate" field for swizzlers.
* Pica/citra-qt: Replace command list view and command list debugging code ↵Gravatar Tony Wasserka2014-08-254-63/+78
| | | | with something more sophisticated.
* Pica/CommandProcessor: Implement parameter masking.Gravatar Tony Wasserka2014-08-252-6/+25
|
* Pica: Add debug utilities for dumping shaders.Gravatar Tony Wasserka2014-08-254-1/+227
|
* Pica: Add debug utility functions for dumping geometry data.Gravatar Tony Wasserka2014-08-256-4/+123
|
* Fix the threading for GL Context in Qt5.Gravatar Sacha2014-08-251-1/+0
| | | | Connect the emu_thread start/finish to a moveContext slot.
* Merge pull request #42 from archshift/glexpGravatar bunnei2014-08-131-3/+2
|\ | | | | Use glewExperimental to fix crashes with citra-glfw
| * Use glewExperimental on Linux in order to fix GLFW-modeGravatar archshift2014-08-121-3/+2
| |
* | float24: Remove private default constructorGravatar archshift2014-08-131-2/+0
|/ | | | Fixes building with clang.
* Pica: Add basic rasterizer.Gravatar Tony Wasserka2014-08-127-2/+260
|
* Pica: Add triangle clipper.Gravatar Tony Wasserka2014-08-127-8/+230
|
* Pica: Add primitive assembly stage.Gravatar Tony Wasserka2014-08-127-2/+95
|
* Pica: Add vertex shader implementation.Gravatar Tony Wasserka2014-08-127-10/+722
|
* Pica: Implement vertex loading.Gravatar Tony Wasserka2014-08-122-8/+102
|
* Pica: Add register definition for vertex loading and rendering.Gravatar Tony Wasserka2014-08-121-33/+128
|
* Pica: Add command processor.Gravatar Tony Wasserka2014-08-127-5/+107
|
* Pica: Add float24 structure.Gravatar Tony Wasserka2014-08-121-0/+75
| | | | | 24-bit floating points are used internally for calculations on the GPU, however the current code will still emulate that with 32-bit floating points. In the future we might want to accurately perform the calculations with correct bitness in the future, but for now we just wrap the calculations around this class.
* Video core: Add utility class for vector operations.Gravatar Tony Wasserka2014-08-124-1/+582
| | | | | 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.
* Pica/GPU: Change hardware registers to use physical addresses rather than ↵Gravatar Tony Wasserka2014-08-122-8/+8
| | | | | | | virtual ones. This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
* Remove the fancy RegisterSet class introduced in 4c2bff61e.Gravatar Tony Wasserka2014-08-122-100/+146
| | | | | While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures. Instead, we now use a more conventional approach which is a lot more clean to use.
* GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.Gravatar bunnei2014-08-051-6/+6
| | | | - Various other cleanups.