aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2014-12-29Rasterizer: Pre-divide vertex attributes by WYuri Kunde Schlesner
Execute the division-by-W for perspective-correct interpolation of values in the clipper, moving them out of the rasterization inner loop.
2014-12-29GPU: Bitwise texture swizzlingYuri Kunde Schlesner
Replace the loop-based texture address swizzling code by a bit-twiddling implementation, providing a very small speed up. Also simplify addressing code.
2014-12-29Rasterizer: Common sub-expression eliminationYuri Kunde Schlesner
Move the computation of some values out of loops so that they're not constantly recalculated even when they don't change.
2014-12-29Clipper: Compact buffers on each clipping passYuri Kunde Schlesner
Use a new buffer management scheme in the clipper that allows using a bounded minimal amount of buffer space. Even though it copies more data it is still slightly faster likely due to using less cache.
2014-12-29Clipper: Avoid dynamic allocationsYuri Kunde Schlesner
The triangle clipper was allocating its temporary input, output and work buffers using a std::vector. Since this is a hot path, it's desirable to use stack allocation instead.
2014-12-29Vertex Shader: Zero OutputVertex to avoid denormalsYuri Kunde Schlesner
Unused OutputVertex attributes were being left un-initialized. The leftover garbage sometimes decoded as floating-point denormalized values, causing fallbacks to microcode and massive slowdowns in the rest of the rasterization pipeline even though the results were unused. By zeroing the structure we ensure these attributes only contain harmless zeros.
2014-12-28GPU: Implement frameskip and remove forced framebuffer swap hack.bunnei
2014-12-26Merge pull request #327 from Apology11/masterbunnei
Fix visual studio ambiguous symbol error
2014-12-22Merge pull request #322 from chinhodado/masterbunnei
More warning cleanups
2014-12-21Merge pull request #291 from purpasmart96/licensebunnei
License change
2014-12-21Fix visual studio ambiguous symbol errorApology11
2014-12-21More warning cleanupsChin
2014-12-20License changepurpasmart96
2014-12-20Pica/VertexShader: Promote a log message to critical status.Tony Wasserka
2014-12-20Pica/VertexShader: Small optimization.Tony Wasserka
2014-12-20Pica/VertexShader: Be robust against invalid inputs.Tony Wasserka
More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
2014-12-20Pica/VertexShader: Clarify a comment.Tony Wasserka
2014-12-20Pica/DebugUtils: Further cleanups to LookupTexture.Tony Wasserka
2014-12-20Pica/DebugUtils: Fix two warnings.Tony Wasserka
2014-12-20Pica/DebugUtils: Better document LookupTexture.Tony Wasserka
2014-12-20Pica/Rasterizer: Get rid of C-style casts.Tony Wasserka
2014-12-20Pica/DebugUtils: Make a number of variables static.Tony Wasserka
Makes for cleaner and faster code.
2014-12-20Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU ↵Tony Wasserka
instructions.
2014-12-20Pica/VertexShader: Run instruction handlers according to the effective opcode.Tony Wasserka
This allows for proper emulation of the different CMP/LRP/MAD instructions.
2014-12-20Pica/VertexShader: Implement MAX instructions.Tony Wasserka
2014-12-20Pica: Add support for boolean uniforms.Tony Wasserka
2014-12-20Pica/VertexShader: Add support for MOVA, CMP and IFC.Tony Wasserka
2014-12-20Pica/VertexShader: Move code around a bit.Tony Wasserka
2014-12-20Pica/VertexShader: Some cleanups using std::array.Tony Wasserka
2014-12-20Pica/VertexShader: Support negating src2.Tony Wasserka
2014-12-20Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones.Tony Wasserka
2014-12-20Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in ↵Tony Wasserka
favor of nihstro's ones.
2014-12-20Pica/DebugUtils: Add an event triggered after loading a vertex.Tony Wasserka
2014-12-20Pica/PrimitiveAssembly: Implement triangle strips.Tony Wasserka
2014-12-20Pica/CommandProcessor: Add a safety check for invalid (?) GPU configurations.Tony Wasserka
2014-12-20Pica/CommandProcessor: Fix vertex decoding if multiple memory areas are ↵Tony Wasserka
accessed for different attributes.
2014-12-20Add support for a ridiculous number of texture formats.Tony Wasserka
2014-12-20Pica: Unify ugly address translation hacks.Tony Wasserka
2014-12-20Pica: Further improve Tev emulation.Tony Wasserka
2014-12-20Pica: Merge texture lookup logic for DebugUtils and Rasterizer.Tony Wasserka
This effectively adds support for a lot texture formats in the rasterizer.
2014-12-20Pica: Implement texture wrapping.Tony Wasserka
2014-12-20Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats.Tony Wasserka
2014-12-20Pica: Initial support for multitexturing.Tony Wasserka
2014-12-20Clean up some warningsChin
2014-12-19Properly erase/remove an observerchinhodado
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner
2014-12-12Merge pull request #267 from bunnei/apt-shared-fontbunnei
APT shared font loading
2014-12-12Merge pull request #261 from neobrain/boostTony Wasserka
Add Boost as a submodule and add some minor cleanups using Boost.Range
2014-12-12MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.bunnei
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
2014-12-09GSP: Trigger GPU interrupts at more accurate locations.bunnei