bunnei
547da374b8
rasterizer: Fixed a depth testing bug.
2015-05-09 22:12:38 -04:00
bunnei
a806b420a6
rasterizer: Implement combiner buffer input.
2015-05-09 22:12:36 -04:00
bunnei
44927f0306
rasterizer: Return zero'd vectors on error conditions.
2015-05-09 22:12:35 -04:00
Yuri Kunde Schlesner
17a8cae003
Memory: Add GetPhysicalPointer helper function
2015-05-09 04:02:32 -03:00
Yuri Kunde Schlesner
28a9e4c1d5
Memory: Support more regions in the VAddr-PAddr translation functions
...
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
2015-05-09 03:08:11 -03:00
Rohit Nirmal
f15c142c5e
Silence some -Wsign-compare warnings.
2015-04-09 18:55:01 -05:00
Subv
1248e291f0
GPU: Added the stencil test structure to the Pica Regs struct.
2015-03-09 20:13:21 -05:00
Subv
414b0741c4
GPU: Implemented more depth buffer formats.
...
This fixes the horizontal lines in Picross E, Cubic Ninja, Cave Story 3D and possibly others
2015-03-09 20:12:39 -05:00
bunnei
34c31db14a
GPU: Added RGB565/RGB8 framebuffer support and various cleanups.
...
- Centralizes color format encode/decode functions.
- Fixes endianness issues.
- Implements remaining framebuffer formats in the debugger.
2015-03-03 18:26:03 -05:00
archshift
7f9ee69a2b
Added RGBA5551 compatibility in the rasterizer
...
This allows Virtual Console games to display properly.
2015-02-27 19:15:08 -08:00
Subv
c564c21668
GPU: Implemented bits 3 and 1 from the display transfer flags.
...
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-26 21:17:14 -05:00
bunnei
ed255ebaec
Rasterizer: Add support for RGBA4 framebuffer format.
2015-02-24 19:58:33 -05:00
bunnei
733c19ddd3
Rasterize with the correct color component order.
...
- Fixes a regression with #594 .
2015-02-22 13:57:24 -05:00
Subv
5410367ebf
Rasterizer: Fixed a warning in GetWrappedTexCoord.
...
Redeclaring the variable inside the switch was causing weird behavior.
2015-02-18 23:52:47 -05:00
Tony Wasserka
2eee3a87f9
Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED().
2015-02-18 14:52:27 +01:00
Tony Wasserka
6e5a903286
Pica/Rasterizer: Make some local lambdas static.
2015-02-18 14:50:28 +01:00
Tony Wasserka
1561204342
Pica/BlendUnit: Implement separate color/alpha blend equations.
2015-02-18 14:50:28 +01:00
Tony Wasserka
81ebb4d682
Pica/TextureEnvironment: Add a note.
2015-02-18 14:50:28 +01:00
Tony Wasserka
e11fb96408
Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor.
...
Not really sure where the difference is, but some applications seem to use this 1:1 the same way...
2015-02-18 14:50:28 +01:00
Tony Wasserka
04cd06d5c2
Pica/TextureEnvironment: Add support for the MAD-like texture combiners and clean up texture environment logic.
2015-02-18 14:50:28 +01:00
Tony Wasserka
087edcfbec
Pica/OutputMerger: Fix flipped framebuffers.
2015-02-18 14:50:28 +01:00
Tony Wasserka
6ca752ccbc
Pica/TextureUnit: Implement mirrored repeating texture wrapping.
2015-02-18 14:50:28 +01:00
Tony Wasserka
8bd7a896ea
Pica: Fix a bug in the register definitions, relating to texture wrapping.
2015-02-18 14:50:28 +01:00
Tony Wasserka
aaf30ca4ee
Pica/OutputMerger: Implement color format checking.
2015-02-18 14:50:28 +01:00
Tony Wasserka
3b5710bae6
Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners.
2015-02-18 14:50:28 +01:00
Tony Wasserka
3cb22d31a7
Pica/Rasterizer: Fix garbage pixels at triangle borders.
2015-02-18 14:50:28 +01:00
Tony Wasserka
638b370fb5
Pica/Rasterizer: Clean up and fix backface culling.
2015-02-18 14:50:28 +01:00
Tony Wasserka
365236fa4c
Pica: Cleanup clipping code and change screenspace z to range from -1..0.
...
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-18 14:50:03 +01:00
Darius Goad
5db62cc758
Fix Min and Max blend equations
2015-02-11 15:33:44 -06:00
archshift
ef24e72b26
Asserts: break/crash program, fit to style guide; log.h->assert.h
...
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-10 18:30:31 -08:00
Darius Goad
536958fb29
Add more blend equations from 3dbrew
2015-02-09 20:41:06 -06:00
bunnei
1eb591d6fd
Rasterizer: Implement the other color and alpha modifiers.
2015-02-04 22:15:51 -05:00
bunnei
72cc512b1e
Pica: Implement blend factors.
2015-01-31 01:40:05 -05:00
bunnei
b522cf4e6a
Pica: Implement color/alpha channel enable.
2015-01-27 22:03:34 -05:00
bunnei
b2c55bf772
Rasterizer: Implemented alpha testing.
2015-01-27 14:39:17 -05:00
bunnei
ff83d23ed5
GPU: Implement the remaining depth testing functions.
2015-01-25 23:34:14 -05:00
Tony Wasserka
bc187be0c1
Pica/Rasterizer: Remove some redundant casts.
2014-12-31 16:32:56 +01:00
Tony Wasserka
9675d19b47
Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea.
2014-12-31 16:32:56 +01:00
Tony Wasserka
d13bd327ba
Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping.
2014-12-31 16:32:55 +01:00
Tony Wasserka
195d73a385
Pica/Rasterizer: Clean up long code lines.
2014-12-31 16:32:55 +01:00
Tony Wasserka
0f49424022
Pica/Rasterizer: Implement backface culling.
2014-12-31 16:32:55 +01:00
Tony Wasserka
3b78af904e
Pica/Rasterizer: Textures seem to be laid out flipped vertically.
...
Not sure if this is a correct fix. Probably should instead change the decoding logic itself.
2014-12-31 16:32:55 +01:00
Tony Wasserka
a7ae0330b1
Pica/Rasterizer: Implement alpha blending.
2014-12-31 16:32:55 +01:00
Tony Wasserka
e229ff8c83
Pica/Rasterizer: Implement depth testing.
2014-12-31 16:32:55 +01:00
Tony Wasserka
77bb58afeb
Pica/Rasterizer: Further enhance Tev support.
2014-12-31 15:35:54 +01:00
Yuri Kunde Schlesner
8369ee5803
Rasterizer: Pre-divide vertex attributes by W
...
Execute the division-by-W for perspective-correct interpolation of
values in the clipper, moving them out of the rasterization inner loop.
2014-12-29 02:08:11 -02:00
Yuri Kunde Schlesner
2012e1420f
Rasterizer: Common sub-expression elimination
...
Move the computation of some values out of loops so that they're not
constantly recalculated even when they don't change.
2014-12-29 02:08:10 -02:00
bunnei
0de6a08d75
Merge pull request #291 from purpasmart96/license
...
License change
2014-12-21 16:05:44 -05:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
Tony Wasserka
e4e9710d18
Pica/Rasterizer: Get rid of C-style casts.
2014-12-20 18:06:55 +01:00
Tony Wasserka
40f123b7c0
Pica: Unify ugly address translation hacks.
2014-12-20 18:06:53 +01:00
Tony Wasserka
7e210e0229
Pica: Further improve Tev emulation.
2014-12-20 18:05:53 +01:00
Tony Wasserka
3df88d59b0
Pica: Merge texture lookup logic for DebugUtils and Rasterizer.
...
This effectively adds support for a lot texture formats in the rasterizer.
2014-12-20 18:05:53 +01:00
Tony Wasserka
0fba1d48a6
Pica: Implement texture wrapping.
2014-12-20 18:05:53 +01:00
Tony Wasserka
fd2539121c
Pica: Initial support for multitexturing.
2014-12-20 18:05:53 +01:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00
Lioncash
eb5054e6eb
Fix warnings in video_core
2014-10-07 20:35:13 -04:00
bunnei
20d169e4a1
VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.
2014-08-26 17:34:52 -04:00
Tony Wasserka
a79644c9ba
Pica/Rasterizer: Clarify a TODO.
2014-08-25 22:03:19 +02:00
Tony Wasserka
9679d231df
Pica/Rasterizer: Add texturing support.
2014-08-25 22:03:18 +02:00
Tony Wasserka
27cab6477e
Pica/Rasterizer: Add initial implementation of texture combiners.
2014-08-25 22:03:18 +02:00
Tony Wasserka
162d641a30
Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified 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>).
2014-08-25 22:03:18 +02:00
Tony Wasserka
94d742fe17
Pica: Add basic rasterizer.
2014-08-12 13:50:07 +02:00