summaryrefslogtreecommitdiffstats
path: root/src/video_core/rasterizer.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-02-13VideoCore: Move software rasterizer files to sub-directoryYuri Kunde Schlesner1-1299/+0
2017-02-09VideoCore: Split regs.h inclusionsYuri Kunde Schlesner1-1/+3
2017-02-04VideoCore: Move Regs to its own fileYuri Kunde Schlesner1-1/+1
2017-02-04VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner1-111/+118
2017-02-04VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner1-25/+27
2017-02-04VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner1-11/+13
2017-02-04VideoCore: Move LookupTexture out of debug_utils.hYuri Kunde Schlesner1-2/+3
2017-01-30VideoCore: Extract swrast-specific data from OutputVertexYuri Kunde Schlesner1-4/+3
2016-11-30ClangFormat: Fixed the clang-format errorsSubv1-2/+2
2016-11-29Build: Fixed a few warnings.Subv1-3/+3
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-4/+1
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-21/+21
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-202/+255
2016-06-28PICA: Scissor fixes and cleanupsYuri Kunde Schlesner1-12/+13
2016-06-28PICA: Implement scissor testSubv1-1/+21
2016-06-07Rasterizer: Implement fogJannik Vogel1-21/+52
2016-05-11Rasterizer: Implement texture type 3Jannik Vogel1-2/+27
2016-05-10Pica: Implement W-Buffer in SW rasterizerJannik Vogel1-3/+23
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot1-2/+8
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner1-3/+0
This has been entirely superseded by MicroProfile. The rest of the code can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-17Rasterizer: Allow all blend factors for alpha blend-funcJannik Vogel1-57/+42
2016-04-08Rasterizer: Respect buffer-write allow registersJannik Vogel1-3/+5
2016-03-06Pica: Write depth value even when depth test is disabledYuri Kunde Schlesner1-8/+8
This has been confirmed on hardware. Fixes Etrian Odyssey IV.
2016-03-03Add immediate mode vertex submissionDwayne Slater1-0/+1
2015-12-01PICA: Properly emulate 1-stage delay in the combiner bufferYuri Kunde Schlesner1-5/+8
This was discovered and verified by @fincs. The tev combiner buffer actually lags behind by one stage, meaning stage 1 reads the initial color, stage 2 reads stage 0's output, and so on. Fixes character portraits in Fire Emblem: Awakening and world textures in Zelda: ALBW. Closes #1140.
2015-10-09CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.Emmanuel Gil Peyrot1-4/+4
The LOG_* function itself already appends one.
2015-09-29fix some xcode 7.0 warningsMartin Lindhe1-0/+4
2015-09-16general: Silence some warnings when using clangLioncash1-2/+2
2015-09-11video_core: Reorganize headersLioncash1-6/+6
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner1-0/+3
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-21SWRasterizer: Implemented stencil ops 6 and 7.Subv1-0/+6
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21SWRasterizer: Implemented stencil action 1 (GL_ZERO).Subv1-0/+3
Verified with hwtests.
2015-08-21SWRasterizer: Removed a todo. Verified with hwtests.Subv1-1/+0
2015-08-21SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.Subv1-7/+5
The HW renderer already did this.
2015-08-21Rasterizer: Abstract duplicated stencil code into a lambda.Subv1-6/+9
2015-08-20GPU/Rasterizer: Corrected the stencil implementation.Subv1-13/+24
Verified the behavior with hardware tests.
2015-08-15Shader: Move shader code to its own subdirectory, "shader".bunnei1-1/+1
2015-08-15GPU: Refactor "VertexShader" namespace to "Shader".bunnei1-7/+7
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-07-26VideoCore: #ifdef out some debugging routinesYuri Kunde Schlesner1-0/+2
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-21GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.Subv1-0/+1
2015-07-14VideoCore: Implement the DOT3_RGB combinerLectem1-1/+12
2015-07-13Pica: Implement stencil testing.Tony Wasserka1-3/+139
2015-07-09Added GL_CLAMP_TO_BORDER supportLectem1-11/+20
2015-05-31Pica: Use zero for the SecondaryFragmentColor source.bunnei1-1/+6
- This is a workaround until we support fragment lighting.
2015-05-31rasterizer: Remove unnecessary 'using' for BlendEquation.bunnei1-2/+1
2015-05-31Pica: Implement LogicOp function.bunnei1-2/+57
2015-05-31rasterizer: Implement AddSigned combiner function for alpha channel.bunnei1-0/+7
2015-05-30Move video_core/color.h to common/color.harchshift1-1/+1
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot1-1/+1
2015-05-23Pica: Create 'State' structure and move state memory there.bunnei1-119/+125
2015-05-23OpenGL renderertfarley1-10/+10
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner1-0/+2
memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
2015-05-12GPU: Add more fine grained profiling for vertex shader and rasterizationYuri Kunde Schlesner1-0/+5
2015-05-10rasterizer: Implemented combiner output scaling.bunnei1-1/+4
2015-05-10rasterizer: Implemented AddSigned combiner op.bunnei1-0/+10
2015-05-10rasterizer: Fixed a depth testing bug.bunnei1-3/+4
2015-05-10rasterizer: Implement combiner buffer input.bunnei1-1/+20
2015-05-10rasterizer: Return zero'd vectors on error conditions.bunnei1-3/+3
2015-05-09Memory: Add GetPhysicalPointer helper functionYuri Kunde Schlesner1-5/+5
2015-05-09Memory: Support more regions in the VAddr-PAddr translation functionsYuri Kunde Schlesner1-5/+5
Also adds better documentation and removes the one-off reimplementation of the function in pica.h.
2015-04-10Silence some -Wsign-compare warnings.Rohit Nirmal1-2/+2
2015-03-10GPU: Added the stencil test structure to the Pica Regs struct.Subv1-32/+22
2015-03-10GPU: Implemented more depth buffer formats.Subv1-9/+51
This fixes the horizontal lines in Picross E, Cubic Ninja, Cave Story 3D and possibly others
2015-03-04GPU: Added RGB565/RGB8 framebuffer support and various cleanups.bunnei1-50/+26
- Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger.
2015-02-28Added RGBA5551 compatibility in the rasterizerarchshift1-2/+21
This allows Virtual Console games to display properly.
2015-02-27GPU: Implemented bits 3 and 1 from the display transfer flags.Subv1-12/+27
Bit 3 is used to specify a raw copy, where no processing is done to the data, seems to behave exactly as a DMA. Bit 1 is used to specify whether to convert from a tiled format to a linear format or viceversa.
2015-02-25Rasterizer: Add support for RGBA4 framebuffer format.bunnei1-0/+21
2015-02-22Rasterize with the correct color component order.bunnei1-11/+24
- Fixes a regression with #594.
2015-02-19Rasterizer: Fixed a warning in GetWrappedTexCoord.Subv1-4/+4
Redeclaring the variable inside the switch was causing weird behavior.
2015-02-18Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED().Tony Wasserka1-5/+5
2015-02-18Pica/Rasterizer: Make some local lambdas static.Tony Wasserka1-8/+8
2015-02-18Pica/BlendUnit: Implement separate color/alpha blend equations.Tony Wasserka1-64/+58
2015-02-18Pica/TextureEnvironment: Add a note.Tony Wasserka1-0/+4
2015-02-18Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor.Tony Wasserka1-0/+2
Not really sure where the difference is, but some applications seem to use this 1:1 the same way...
2015-02-18Pica/TextureEnvironment: Add support for the MAD-like texture combiners and clean up texture environment logic.Tony Wasserka1-0/+25
2015-02-18Pica/OutputMerger: Fix flipped framebuffers.Tony Wasserka1-0/+10
2015-02-18Pica/TextureUnit: Implement mirrored repeating texture wrapping.Tony Wasserka1-1/+9
2015-02-18Pica: Fix a bug in the register definitions, relating to texture wrapping.Tony Wasserka1-1/+1
2015-02-18Pica/OutputMerger: Implement color format checking.Tony Wasserka1-3/+12
2015-02-18Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners.Tony Wasserka1-2/+3
2015-02-18Pica/Rasterizer: Fix garbage pixels at triangle borders.Tony Wasserka1-1/+3
2015-02-18Pica/Rasterizer: Clean up and fix backface culling.Tony Wasserka1-11/+27
2015-02-18Pica: Cleanup clipping code and change screenspace z to range from -1..0.Tony Wasserka1-5/+6
The change in depth range seems to reflect better to what applications are expecting, and makes for cleaner code overall (hence is more likely to reflect hardware behavior).
2015-02-11Fix Min and Max blend equationsDarius Goad1-6/+8
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-5/+5
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
2015-02-10Add more blend equations from 3dbrewDarius Goad1-1/+44
2015-02-05Rasterizer: Implement the other color and alpha modifiers.bunnei1-48/+49
2015-01-31Pica: Implement blend factors.bunnei1-4/+46
2015-01-28Pica: Implement color/alpha channel enable.bunnei1-1/+8
2015-01-27Rasterizer: Implemented alpha testing.bunnei1-4/+41
2015-01-26GPU: Implement the remaining depth testing functions.bunnei1-0/+20
2014-12-31Pica/Rasterizer: Remove some redundant casts.Tony Wasserka1-3/+3
2014-12-31Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea.Tony Wasserka1-31/+38
2014-12-31Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping.Tony Wasserka1-2/+2
2014-12-31Pica/Rasterizer: Clean up long code lines.Tony Wasserka1-4/+8
2014-12-31Pica/Rasterizer: Implement backface culling.Tony Wasserka1-9/+21
2014-12-31Pica/Rasterizer: Textures seem to be laid out flipped vertically.Tony Wasserka1-1/+1
Not sure if this is a correct fix. Probably should instead change the decoding logic itself.
2014-12-31Pica/Rasterizer: Implement alpha blending.Tony Wasserka1-0/+84
2014-12-31Pica/Rasterizer: Implement depth testing.Tony Wasserka1-6/+33
2014-12-31Pica/Rasterizer: Further enhance Tev support.Tony Wasserka1-4/+19
2014-12-29Rasterizer: Pre-divide vertex attributes by WYuri Kunde Schlesner1-5/+2
Execute the division-by-W for perspective-correct interpolation of values in the clipper, moving them out of the rasterization inner loop.
2014-12-29Rasterizer: Common sub-expression eliminationYuri Kunde Schlesner1-14/+17
Move the computation of some values out of loops so that they're not constantly recalculated even when they don't change.
2014-12-21License changepurpasmart961-1/+1
2014-12-20Pica/Rasterizer: Get rid of C-style casts.Tony Wasserka1-4/+4
2014-12-20Pica: Unify ugly address translation hacks.Tony Wasserka1-4/+4
2014-12-20Pica: Further improve Tev emulation.Tony Wasserka1-10/+42
2014-12-20Pica: Merge texture lookup logic for DebugUtils and Rasterizer.Tony Wasserka1-46/+3
This effectively adds support for a lot texture formats in the rasterizer.
2014-12-20Pica: Implement texture wrapping.Tony Wasserka1-1/+20
2014-12-20Pica: Initial support for multitexturing.Tony Wasserka1-17/+41
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-6/+6
2014-10-08Fix warnings in video_coreLioncash1-6/+6
2014-08-26VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.bunnei1-3/+3
2014-08-25Pica/Rasterizer: Clarify a TODO.Tony Wasserka1-1/+3
2014-08-25Pica/Rasterizer: Add texturing support.Tony Wasserka1-0/+64
2014-08-25Pica/Rasterizer: Add initial implementation of texture combiners.Tony Wasserka1-1/+121
2014-08-25Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.Tony Wasserka1-16/+16
- 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>).
2014-08-12Pica: Add basic rasterizer.Tony Wasserka1-0/+180