summaryrefslogtreecommitdiffstats
path: root/src/video_core/rasterizer.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* VideoCore: Move software rasterizer files to sub-directoryYuri Kunde Schlesner2017-02-131-1299/+0
|
* VideoCore: Split regs.h inclusionsYuri Kunde Schlesner2017-02-091-1/+3
|
* VideoCore: Move Regs to its own fileYuri Kunde Schlesner2017-02-041-1/+1
|
* VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner2017-02-041-111/+118
|
* VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner2017-02-041-25/+27
|
* VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner2017-02-041-11/+13
|
* Merge pull request #2476 from yuriks/shader-refactor3Yuri Kunde Schlesner2017-02-041-4/+3
|\ | | | | Oh No! More shader changes!
| * VideoCore: Extract swrast-specific data from OutputVertexYuri Kunde Schlesner2017-01-301-4/+3
| |
* | VideoCore: Move LookupTexture out of debug_utils.hYuri Kunde Schlesner2017-02-041-2/+3
|/
* ClangFormat: Fixed the clang-format errorsSubv2016-11-301-2/+2
|
* Build: Fixed a few warnings.Subv2016-11-291-3/+3
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-4/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-21/+21
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-202/+255
|
* PICA: Scissor fixes and cleanupsYuri Kunde Schlesner2016-06-281-12/+13
|
* PICA: Implement scissor testSubv2016-06-281-1/+21
|
* Rasterizer: Implement fogJannik Vogel2016-06-071-21/+52
|
* Rasterizer: Implement texture type 3Jannik Vogel2016-05-111-2/+27
|
* Pica: Implement W-Buffer in SW rasterizerJannik Vogel2016-05-101-3/+23
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-2/+8
|
* Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner2016-04-291-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.
* Rasterizer: Allow all blend factors for alpha blend-funcJannik Vogel2016-04-171-57/+42
|
* Rasterizer: Respect buffer-write allow registersJannik Vogel2016-04-081-3/+5
|
* Pica: Write depth value even when depth test is disabledYuri Kunde Schlesner2016-03-061-8/+8
| | | | This has been confirmed on hardware. Fixes Etrian Odyssey IV.
* Add immediate mode vertex submissionDwayne Slater2016-03-031-0/+1
|
* PICA: Properly emulate 1-stage delay in the combiner bufferYuri Kunde Schlesner2015-12-011-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.
* CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.Emmanuel Gil Peyrot2015-10-091-4/+4
| | | | The LOG_* function itself already appends one.
* fix some xcode 7.0 warningsMartin Lindhe2015-09-291-0/+4
|
* general: Silence some warnings when using clangLioncash2015-09-161-2/+2
|
* video_core: Reorganize headersLioncash2015-09-111-6/+6
|
* Merge pull request #1049 from Subv/stencilbunnei2015-08-301-19/+39
|\ | | | | Rasterizer: Corrected the stencil implementation.
| * SWRasterizer: Implemented stencil ops 6 and 7.Subv2015-08-211-0/+6
| | | | | | | | IncrementWrap and DecrementWrap, verified with hwtests.
| * SWRasterizer: Implemented stencil action 1 (GL_ZERO).Subv2015-08-211-0/+3
| | | | | | | | Verified with hwtests.
| * SWRasterizer: Removed a todo. Verified with hwtests.Subv2015-08-211-1/+0
| |
| * SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.Subv2015-08-211-7/+5
| | | | | | | | The HW renderer already did this.
| * Rasterizer: Abstract duplicated stencil code into a lambda.Subv2015-08-211-6/+9
| |
| * GPU/Rasterizer: Corrected the stencil implementation.Subv2015-08-201-13/+24
| | | | | | | | Verified the behavior with hardware tests.
* | Integrate the MicroProfile profiling libraryYuri Kunde Schlesner2015-08-251-0/+3
|/ | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* Shader: Move shader code to its own subdirectory, "shader".bunnei2015-08-151-1/+1
|
* GPU: Refactor "VertexShader" namespace to "Shader".bunnei2015-08-151-7/+7
| | | | - Also renames "vertex_shader.*" to "shader_interpreter.*"
* VideoCore: #ifdef out some debugging routinesYuri Kunde Schlesner2015-07-261-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.
* GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.Subv2015-07-211-0/+1
|
* VideoCore: Implement the DOT3_RGB combinerLectem2015-07-141-1/+12
|
* Pica: Implement stencil testing.Tony Wasserka2015-07-131-3/+139
|
* Added GL_CLAMP_TO_BORDER supportLectem2015-07-091-11/+20
|
* Merge pull request #811 from archshift/commonifyarchshift2015-05-311-1/+1
|\ | | | | Commonify video_core utility headers
| * Move video_core/color.h to common/color.harchshift2015-05-301-1/+1
| |
* | Pica: Use zero for the SecondaryFragmentColor source.bunnei2015-05-311-1/+6
| | | | | | | | - This is a workaround until we support fragment lighting.
* | rasterizer: Remove unnecessary 'using' for BlendEquation.bunnei2015-05-311-2/+1
| |
* | Pica: Implement LogicOp function.bunnei2015-05-311-2/+57
| |
* | rasterizer: Implement AddSigned combiner function for alpha channel.bunnei2015-05-311-0/+7
|/
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-1/+1
|
* Pica: Create 'State' structure and move state memory there.bunnei2015-05-231-119/+125
|
* OpenGL renderertfarley2015-05-231-10/+10
|
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-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.
* GPU: Add more fine grained profiling for vertex shader and rasterizationYuri Kunde Schlesner2015-05-121-0/+5
|
* rasterizer: Implemented combiner output scaling.bunnei2015-05-101-1/+4
|
* rasterizer: Implemented AddSigned combiner op.bunnei2015-05-101-0/+10
|
* rasterizer: Fixed a depth testing bug.bunnei2015-05-101-3/+4
|
* rasterizer: Implement combiner buffer input.bunnei2015-05-101-1/+20
|
* rasterizer: Return zero'd vectors on error conditions.bunnei2015-05-101-3/+3
|
* Memory: Add GetPhysicalPointer helper functionYuri Kunde Schlesner2015-05-091-5/+5
|
* Memory: Support more regions in the VAddr-PAddr translation functionsYuri Kunde Schlesner2015-05-091-5/+5
| | | | | Also adds better documentation and removes the one-off reimplementation of the function in pica.h.
* Silence some -Wsign-compare warnings.Rohit Nirmal2015-04-101-2/+2
|
* GPU: Added the stencil test structure to the Pica Regs struct.Subv2015-03-101-32/+22
|
* GPU: Implemented more depth buffer formats.Subv2015-03-101-9/+51
| | | | This fixes the horizontal lines in Picross E, Cubic Ninja, Cave Story 3D and possibly others
* GPU: Added RGB565/RGB8 framebuffer support and various cleanups.bunnei2015-03-041-50/+26
| | | | | | - Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger.
* Added RGBA5551 compatibility in the rasterizerarchshift2015-02-281-2/+21
| | | | This allows Virtual Console games to display properly.
* GPU: Implemented bits 3 and 1 from the display transfer flags.Subv2015-02-271-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.
* Rasterizer: Add support for RGBA4 framebuffer format.bunnei2015-02-251-0/+21
|
* Rasterize with the correct color component order.bunnei2015-02-221-11/+24
| | | | - Fixes a regression with #594.
* Rasterizer: Fixed a warning in GetWrappedTexCoord.Subv2015-02-191-4/+4
| | | | Redeclaring the variable inside the switch was causing weird behavior.
* Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED().Tony Wasserka2015-02-181-5/+5
|
* Pica/Rasterizer: Make some local lambdas static.Tony Wasserka2015-02-181-8/+8
|
* Pica/BlendUnit: Implement separate color/alpha blend equations.Tony Wasserka2015-02-181-64/+58
|
* Pica/TextureEnvironment: Add a note.Tony Wasserka2015-02-181-0/+4
|
* Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor.Tony Wasserka2015-02-181-0/+2
| | | | Not really sure where the difference is, but some applications seem to use this 1:1 the same way...
* Pica/TextureEnvironment: Add support for the MAD-like texture combiners and clean up texture environment logic.Tony Wasserka2015-02-181-0/+25
|
* Pica/OutputMerger: Fix flipped framebuffers.Tony Wasserka2015-02-181-0/+10
|
* Pica/TextureUnit: Implement mirrored repeating texture wrapping.Tony Wasserka2015-02-181-1/+9
|
* Pica: Fix a bug in the register definitions, relating to texture wrapping.Tony Wasserka2015-02-181-1/+1
|
* Pica/OutputMerger: Implement color format checking.Tony Wasserka2015-02-181-3/+12
|
* Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners.Tony Wasserka2015-02-181-2/+3
|
* Pica/Rasterizer: Fix garbage pixels at triangle borders.Tony Wasserka2015-02-181-1/+3
|
* Pica/Rasterizer: Clean up and fix backface culling.Tony Wasserka2015-02-181-11/+27
|
* Pica: Cleanup clipping code and change screenspace z to range from -1..0.Tony Wasserka2015-02-181-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).
* Fix Min and Max blend equationsDarius Goad2015-02-111-6/+8
|
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-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.
* Add more blend equations from 3dbrewDarius Goad2015-02-101-1/+44
|
* Rasterizer: Implement the other color and alpha modifiers.bunnei2015-02-051-48/+49
|
* Pica: Implement blend factors.bunnei2015-01-311-4/+46
|
* Pica: Implement color/alpha channel enable.bunnei2015-01-281-1/+8
|
* Rasterizer: Implemented alpha testing.bunnei2015-01-271-4/+41
|
* GPU: Implement the remaining depth testing functions.bunnei2015-01-261-0/+20
|
* Pica/Rasterizer: Remove some redundant casts.Tony Wasserka2014-12-311-3/+3
|
* Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea.Tony Wasserka2014-12-311-31/+38
|
* Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping.Tony Wasserka2014-12-311-2/+2
|
* Pica/Rasterizer: Clean up long code lines.Tony Wasserka2014-12-311-4/+8
|
* Pica/Rasterizer: Implement backface culling.Tony Wasserka2014-12-311-9/+21
|
* Pica/Rasterizer: Textures seem to be laid out flipped vertically.Tony Wasserka2014-12-311-1/+1
| | | | Not sure if this is a correct fix. Probably should instead change the decoding logic itself.
* Pica/Rasterizer: Implement alpha blending.Tony Wasserka2014-12-311-0/+84
|
* Pica/Rasterizer: Implement depth testing.Tony Wasserka2014-12-311-6/+33
|
* Pica/Rasterizer: Further enhance Tev support.Tony Wasserka2014-12-311-4/+19
|
* Rasterizer: Pre-divide vertex attributes by WYuri Kunde Schlesner2014-12-291-5/+2
| | | | | Execute the division-by-W for perspective-correct interpolation of values in the clipper, moving them out of the rasterization inner loop.
* Rasterizer: Common sub-expression eliminationYuri Kunde Schlesner2014-12-291-14/+17
| | | | | Move the computation of some values out of loops so that they're not constantly recalculated even when they don't change.
* Merge pull request #291 from purpasmart96/licensebunnei2014-12-211-1/+1
|\ | | | | License change
| * License changepurpasmart962014-12-211-1/+1
| |
* | Pica/Rasterizer: Get rid of C-style casts.Tony Wasserka2014-12-201-4/+4
| |
* | Pica: Unify ugly address translation hacks.Tony Wasserka2014-12-201-4/+4
| |
* | Pica: Further improve Tev emulation.Tony Wasserka2014-12-201-10/+42
| |
* | Pica: Merge texture lookup logic for DebugUtils and Rasterizer.Tony Wasserka2014-12-201-46/+3
| | | | | | | | This effectively adds support for a lot texture formats in the rasterizer.
* | Pica: Implement texture wrapping.Tony Wasserka2014-12-201-1/+20
| |
* | Pica: Initial support for multitexturing.Tony Wasserka2014-12-201-17/+41
|/
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-6/+6
|
* Fix warnings in video_coreLioncash2014-10-081-6/+6
|
* VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.bunnei2014-08-261-3/+3
|
* Pica/Rasterizer: Clarify a TODO.Tony Wasserka2014-08-251-1/+3
|
* Pica/Rasterizer: Add texturing support.Tony Wasserka2014-08-251-0/+64
|
* Pica/Rasterizer: Add initial implementation of texture combiners.Tony Wasserka2014-08-251-1/+121
|
* Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.Tony Wasserka2014-08-251-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>).
* Pica: Add basic rasterizer.Tony Wasserka2014-08-121-0/+180