aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2015-08-18Merge pull request #1047 from aroulin/shader-ex2-lg2bunnei
Shader: Save caller-saved registers in JIT before a CALL
2015-08-19Shader: Save caller-saved registers in JIT before a CALLaroulin
2015-08-18Merge pull request #1037 from aroulin/shader-ex2-lg2bunnei
Shader: Implement EX2 and LG2 in interpreter/JIT
2015-08-16Merge pull request #1034 from yuriks/rg8-texturesbunnei
videocore: Added RG8 texture support
2015-08-17Shader: implement EX2 and LG2 in JITaroulin
2015-08-16Fix Linux GCC 4.9 build (complaining about undeclared memset)LittleWhite
2015-08-16Shader: implement EX2 and LG2 in interpreteraroulin
2015-08-16Build fix for Debug configurations.Tony Wasserka
2015-08-16Merge pull request #997 from Lectem/cmdlist_full_debugTony Wasserka
citra-qt: Improve pica command list widget (add mask, fix some issues)
2015-08-16Introduce a shader tracer to allow inspection of input/output values for ↵Tony Wasserka
each processed instruction.
2015-08-16Pica/DebugUtils: Include uniform information into shader dumps.Tony Wasserka
2015-08-16citra-qt: Improve shader debugger.Tony Wasserka
Now supports dumping the current shader and recognizes a larger number of output semantics.
2015-08-16videocore: Added RG8 texture supportPatrick Martin
2015-08-15Shader: Use a POD struct for registers.bunnei
2015-08-15Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei
2015-08-15Common: Cleanup CPU capability detection code.bunnei
2015-08-15Common: Move cpu_detect to x64 directory.bunnei
2015-08-15x64: Refactor to remove fake interfaces and general cleanups.bunnei
2015-08-15JIT: Support negative address offsets.bunnei
2015-08-15Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.bunnei
- Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15Common: Added MurmurHash3 hash function for general-purpose use.bunnei
2015-08-15Shader: Define a common interface for running vertex shader programs.bunnei
2015-08-15Shader: Move shader code to its own subdirectory, "shader".bunnei
2015-08-15GPU: Refactor "VertexShader" namespace to "Shader".bunnei
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-11Merge pull request #893 from linkmauve/remove-uint._t-int._tbunnei
Replace standard uint*_t and int*_t with CommonTypes’ u* and s* types
2015-08-11ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the ↵Emmanuel Gil Peyrot
standard u?int*_t types.
2015-08-06OpenGL: Fix state tracking in situations with reused object handlesYuri Kunde Schlesner
If an OpenGL object is created, bound to a binding using the state tracker, and then destroyed, a newly created object can be assigned the same numeric handle by OpenGL. However, even though it is a new object, and thus needs to be bound to the binding again, the state tracker compared the current and previous handles and concluded that no change needed to be made, leading to failure to bind objects in certain cases. This manifested as broken text in VVVVVV, which this commit fixes along with similar texturing problems in other games.
2015-08-05OpenGL: Remove redundant texture.enable_2d field from OpenGLStateYuri Kunde Schlesner
All uses of this field where it's false can just set the texture id to 0 instead.
2015-08-04Videocore: Implement simple vertex cachingYuri Kunde Schlesner
This gives a ~2/3 reduction in the amount of vertices that need to be processed through the vertex loaders and the vertex shader, yielding a good speedup.
2015-07-30Merge pull request #1006 from yuriks/fb-commit-profilebunnei
OpenGL: Add a profiler category measuring framebuffer readback
2015-07-29Merge pull request #963 from yuriks/gpu-fixesbunnei
Misc. GPU vertex loading fixes
2015-07-28OpenGL: Add a profiler category measuring framebuffer readbackYuri Kunde Schlesner
2015-07-26Merge pull request #991 from yuriks/globjectsbunnei
OpenGL: Make OpenGL object resource wrappers fully inline
2015-07-26Merge pull request #992 from yuriks/hot-path-debugbunnei
VideoCore: #ifdef out some debugging routines
2015-07-26citra-qt/debug_utils: Use lock_guard everywhereLectem
unique_lock were being used as lock_guards. Also replaced manual lock/unlock by lock_guard for harmonization.
2015-07-26citra-qt/command list: Add mask columnLectem
2015-07-26OpenGL: Make OpenGL object resource wrappers fully inlineYuri Kunde Schlesner
The functions are so simple that having them separate only bloats the code and hinders optimization.
2015-07-26Merge pull request #987 from yuriks/regnamesTony Wasserka
Videocore: Don't reinitialize register name map on every query.
2015-07-26Videocore: Don't reinitialize register name map on every queryYuri Kunde Schlesner
This greatly speeds up the command list debug widget.
2015-07-26Videocore: Simplify variables in vertex shader interpreterYuri Kunde Schlesner
Simplifies the code and gives a tiny speed-up.
2015-07-26Videocore: Replace std::stack in shader interpreter with static_vectorYuri Kunde Schlesner
Shaves off 1/3rd of the vertex shader time in Fire Emblem
2015-07-26VideoCore: #ifdef out some debugging routinesYuri Kunde Schlesner
Some disabled debugging functionality was being called from rendering routines in VideoCore. Although disabled, many of them still allocated memory or did some extra work that was enough to show up in a profiler. Gives a slight (~2ms) speedup.
2015-07-25Address error that remained in last mergeYuri Kunde Schlesner
2015-07-25Merge pull request #892 from zawata/another-warning-fixesYuri Kunde Schlesner
Yet More Warning Fixes
2015-07-24Merge pull request #980 from Subv/more_breakpointsTony Wasserka
Qt/GPU Breakpoints: Added three more breakpoint types.
2015-07-23VideoCore: Fix values of unset components in input attribute arraysYuri Kunde Schlesner
If an input attribute array had a field with less than 4 components, the remaining components were left unset if not specified by a default vertex attribute. If neither mechanism would set a component, it would assume a garbage value. It has been verified that the hardware behavior is to instead to set the missing components from the fixed default of (0 0 0 1). The default vertex attribute values aren't used at all if a vertex array is specified for that attribute. Fixes UI graphics on Fire Emblem: Awakening, a small texturing glitch when selecting a character in Cubic Ninja, as well as eliminating the unset-W hack which was required for Ocarina of Time to not have garbled triangles. This change has been tested against hardware.
2015-07-23VideoCore: Saturate vertex colors before interpolatingYuri Kunde Schlesner
During testing, it was discovered that hardware does not interpolate colors output by the vertex shader as-is. Rather, it drops the sign and saturates the value to 1.0. This is done before interpolation, such that (e.g.) interpolating outputs 1.5 and -0.5 is equivalent to as if the shader had output the values 1.0 and 0.5 instead, with the interpolated value never crossing 0.0. This change has been tested against hardware.
2015-07-23Qt/GPU Breakpoints: Added three more breakpoint types:Subv
* IncomingDisplayTransfer: Triggered just before a display transfer is performed. * GSPCommandProcessed: Triggered right after a GSP command is processed. * BufferSwapped: Triggered when the frames flip
2015-07-23Merge pull request #977 from yuriks/glenable-tex2dbunnei
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
2015-07-22Rasterizer/GL: Set the border color when binding a texture.Subv