Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 4 | -5/+3 |
| | | | | | | | 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 rasterization | Yuri Kunde Schlesner | 2015-05-12 | 2 | -0/+10 |
| | |||||
* | Implement I4 texture format | archshift | 2015-05-11 | 2 | -1/+12 |
| | | | | | | @neobrain, could you confirm that this is correct? It's been tested with various different games and fixes different textures, including in Animal Crossing, Kirby Triple Deluxe, and SMB3D. | ||||
* | rasterizer: Implemented combiner output scaling. | bunnei | 2015-05-10 | 2 | -2/+16 |
| | |||||
* | rasterizer: Implemented AddSigned combiner op. | bunnei | 2015-05-10 | 1 | -0/+10 |
| | |||||
* | rasterizer: Fixed a depth testing bug. | bunnei | 2015-05-10 | 2 | -6/+19 |
| | |||||
* | rasterizer: Implement combiner buffer input. | bunnei | 2015-05-10 | 2 | -4/+53 |
| | |||||
* | rasterizer: Return zero'd vectors on error conditions. | bunnei | 2015-05-10 | 1 | -3/+3 |
| | |||||
* | vertex_shader: Implement FLR instruction. | bunnei | 2015-05-10 | 1 | -0/+9 |
| | |||||
* | vertex_shader: Implement MADI instruction. | bunnei | 2015-05-10 | 1 | -4/+7 |
| | | | | nihstro: Update submodule to latest upstream/master to support MADI instruction decoding. | ||||
* | Memory: Add GetPhysicalPointer helper function | Yuri Kunde Schlesner | 2015-05-09 | 3 | -11/+11 |
| | |||||
* | Memory: Support more regions in the VAddr-PAddr translation functions | Yuri Kunde Schlesner | 2015-05-09 | 3 | -18/+7 |
| | | | | | Also adds better documentation and removes the one-off reimplementation of the function in pica.h. | ||||
* | Memory: Re-organize and rename memory area address constants | Yuri Kunde Schlesner | 2015-05-09 | 1 | -1/+1 |
| | |||||
* | Merge pull request #721 from yuriks/more-cleanups | Yuri Kunde Schlesner | 2015-05-07 | 6 | -3/+8 |
|\ | | | | | More cleanups | ||||
| * | Common: Remove common.h | Yuri Kunde Schlesner | 2015-05-07 | 6 | -3/+8 |
| | | |||||
* | | Merge pull request #695 from Subv/crash_f | bunnei | 2015-05-07 | 4 | -68/+137 |
|\ \ | |/ |/| | GPU: Implemented default vertex shader attributes. | ||||
| * | GPU: Implemented default vertex shader attributes. | Subv | 2015-05-07 | 4 | -68/+137 |
| | | | | | | | | Fixes some games crashing. | ||||
* | | VideoCore: Remove a superfluous auto variable declaration in debug_utils. | Emmanuel Gil Peyrot | 2015-04-29 | 1 | -1/+1 |
| | | |||||
* | | Silence some -Wsign-compare warnings. | Rohit Nirmal | 2015-04-10 | 1 | -2/+2 |
|/ | |||||
* | Changed occurences of colour to color for consistency | Gareth Higgins | 2015-04-05 | 2 | -4/+4 |
| | |||||
* | Allow the user to set the background clear color during emulation | archshift | 2015-04-04 | 1 | -1/+2 |
| | | | | The background color can be seen at the sides of the bottom screen or when the window is wider than normal. | ||||
* | Merge pull request #652 from neobrain/shader_output_fix | bunnei | 2015-03-16 | 1 | -20/+24 |
|\ | | | | | Pica/VertexShader: Fix a bug caused due to incorrect assumptions of consecutive output register tables. | ||||
| * | Pica/VertexShader: Fix a bug caused due to incorrect assumptions of consecutive output register tables. | Tony Wasserka | 2015-03-12 | 1 | -20/+24 |
| | | | | | | | | We now write create a temporary buffer for output registers and copy all of them to the actual output vertex structure after the shader has run. This is technically not necessary, but it's easier to vectorize in the future. | ||||
* | | VideoCore: Add static_cast around expressions where the compiler doesn’t deduce the right type. | Emmanuel Gil Peyrot | 2015-03-16 | 2 | -4/+4 |
|/ | |||||
* | Merge pull request #629 from archshift/lcdfb | bunnei | 2015-03-10 | 2 | -11/+48 |
|\ | | | | | Implement SetLcdForceBlack and add implementation for color filling in the GPU code | ||||
| * | Added LCD registers, and implementation for color filling in OGL code. | archshift | 2015-03-09 | 2 | -11/+48 |
| | | |||||
* | | Merge pull request #643 from Subv/dem_feels | bunnei | 2015-03-10 | 3 | -13/+134 |
|\ \ | | | | | | | GPU: Implemented more depth buffer formats. | ||||
| * | | GPU: Added the stencil test structure to the Pica Regs struct. | Subv | 2015-03-10 | 3 | -50/+65 |
| | | | |||||
| * | | GPU: Implemented more depth buffer formats. | Subv | 2015-03-10 | 3 | -9/+115 |
| | | | | | | | | | | | | This fixes the horizontal lines in Picross E, Cubic Ninja, Cave Story 3D and possibly others | ||||
* | | | Pica/PrimitiveAssembly: Fix triangle strips and fans being generated with incorrect winding order. | Tony Wasserka | 2015-03-09 | 1 | -6/+3 |
| | | | |||||
* | | | Update nihstro submodule to the initial release version. | archshift | 2015-03-08 | 1 | -37/+38 |
| | | | | | | | | | | | | Includes more opcodes to implement in the future. | ||||
* | | | Merge pull request #636 from bunnei/refactor-screen-win | bunnei | 2015-03-08 | 3 | -43/+9 |
|\ \ \ | |/ / |/| | | Set framebuffer layout from EmuWindow. | ||||
| * | | Set framebuffer layout from EmuWindow. | bunnei | 2015-03-07 | 3 | -43/+9 |
| |/ | |||||
* | | GPU/Textures: Fixed ETC texture decoding. | Subv | 2015-03-07 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #538 from yuriks/perf-stat | Tony Wasserka | 2015-03-07 | 2 | -0/+18 |
|\ \ | |/ |/| | Add profiling infrastructure and widget | ||||
| * | Add profiling infrastructure and widget | Yuri Kunde Schlesner | 2015-03-02 | 2 | -0/+18 |
| | | |||||
* | | GPU: Added RGB565/RGB8 framebuffer support and various cleanups. | bunnei | 2015-03-04 | 5 | -85/+155 |
|/ | | | | | | - Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger. | ||||
* | Added RGBA5551 compatibility in the rasterizer | archshift | 2015-02-28 | 3 | -2/+41 |
| | | | | This allows Virtual Console games to display properly. | ||||
* | GPU: Implemented bits 3 and 1 from the display transfer flags. | Subv | 2015-02-27 | 3 | -54/+91 |
| | | | | | 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. | ||||
* | Video core: Fix A4 texture decoding | Yuri Kunde Schlesner | 2015-02-26 | 1 | -2/+2 |
| | | | | | | | | | It was trying to take the LSB from `coarse_x`, which would always be 0 and thus would always return the same texel from each byte. To add insult to the injury, the conditional was actually the wrong way around too. Fixes blocky text in OoT. | ||||
* | Video core: Fix pixelation/blockiness in textures. | Yuri Kunde Schlesner | 2015-02-26 | 1 | -3/+3 |
| | | | | | | This was caused during morton decoding by me not masking the bits of each coordinate before merging them, so the bits from x could set bits in y if it was >255. | ||||
* | Rasterizer: Add support for RGBA4 framebuffer format. | bunnei | 2015-02-25 | 1 | -0/+21 |
| | |||||
* | Rasterize with the correct color component order. | bunnei | 2015-02-22 | 1 | -11/+24 |
| | | | | - Fixes a regression with #594. | ||||
* | Merge pull request #593 from Subv/search_problem | Tony Wasserka | 2015-02-22 | 1 | -1/+4 |
|\ | | | | | Pica/VertexShader: Fixed LOOP with more than one iteration. | ||||
| * | Pica/VertexShader: Fixed LOOP with more than one iteration. | Subv | 2015-02-21 | 1 | -1/+4 |
| | | | | | | | | | | Previously it wouldn't jump back to the start of the loop code once it reached the end of the block. Fixes the texture problems in a lot of games. | ||||
* | | Merge pull request #588 from archshift/somebranch | bunnei | 2015-02-20 | 1 | -11/+0 |
|\ \ | |/ |/| | Sweeping cleanup of Common | ||||
| * | Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h | archshift | 2015-02-20 | 1 | -11/+0 |
| | | |||||
* | | Rasterizer: Fixed a warning in GetWrappedTexCoord. | Subv | 2015-02-19 | 1 | -4/+4 |
|/ | | | | Redeclaring the variable inside the switch was causing weird behavior. | ||||
* | Merge pull request #580 from lioncash/emplace | bunnei | 2015-02-18 | 2 | -4/+4 |
|\ | | | | | core/video_core: Use in-place construction where possible | ||||
| * | core/video_core: Use in-place construction where possible | Lioncash | 2015-02-17 | 2 | -4/+4 |
| | | |||||
* | | Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED(). | Tony Wasserka | 2015-02-18 | 1 | -5/+5 |
| | | |||||
* | | Pica/Rasterizer: Make some local lambdas static. | Tony Wasserka | 2015-02-18 | 1 | -8/+8 |
| | | |||||
* | | Pica/BlendUnit: Implement separate color/alpha blend equations. | Tony Wasserka | 2015-02-18 | 2 | -65/+59 |
| | | |||||
* | | Pica/TextureEnvironment: Add a note. | Tony Wasserka | 2015-02-18 | 1 | -0/+4 |
| | | |||||
* | | Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor. | Tony Wasserka | 2015-02-18 | 2 | -0/+4 |
| | | | | | | | | 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 Wasserka | 2015-02-18 | 2 | -0/+28 |
| | | |||||
* | | Pica/OutputMerger: Fix flipped framebuffers. | Tony Wasserka | 2015-02-18 | 1 | -0/+10 |
| | | |||||
* | | Pica/TextureUnit: Implement mirrored repeating texture wrapping. | Tony Wasserka | 2015-02-18 | 2 | -3/+12 |
| | | |||||
* | | Pica: Fix a bug in the register definitions, relating to texture wrapping. | Tony Wasserka | 2015-02-18 | 2 | -2/+2 |
| | | |||||
* | | Pica/OutputMerger: Implement color format checking. | Tony Wasserka | 2015-02-18 | 2 | -4/+13 |
| | | |||||
* | | Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners. | Tony Wasserka | 2015-02-18 | 1 | -2/+3 |
| | | |||||
* | | Pica/Rasterizer: Fix garbage pixels at triangle borders. | Tony Wasserka | 2015-02-18 | 1 | -1/+3 |
| | | |||||
* | | Pica/Rasterizer: Clean up and fix backface culling. | Tony Wasserka | 2015-02-18 | 1 | -11/+27 |
| | | |||||
* | | Pica: Cleanup clipping code and change screenspace z to range from -1..0. | Tony Wasserka | 2015-02-18 | 2 | -53/+42 |
| | | | | | | | | 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). | ||||
* | | Pica/VertexShader: Implement the LOOP instruction. | Tony Wasserka | 2015-02-18 | 1 | -14/+36 |
| | | |||||
* | | Pica/CommandProcessor: Properly implement shader load destination offset registers. | Tony Wasserka | 2015-02-18 | 2 | -20/+10 |
| | | |||||
* | | Pica/CommandProcessor: Work around initialized vertex attributes some more. | Tony Wasserka | 2015-02-18 | 1 | -2/+8 |
| | | |||||
* | | VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead. | Emmanuel Gil Peyrot | 2015-02-16 | 1 | -1/+1 |
| | | |||||
* | | video_core: Implement the remaining framebuffer formats in the OpenGL renderer. | Emmanuel Gil Peyrot | 2015-02-15 | 2 | -12/+67 |
|/ | |||||
* | Merge pull request #529 from Subv/master | bunnei | 2015-02-14 | 2 | -3/+3 |
|\ | | | | | Build: Fixed some warnings | ||||
| * | Build: Fixed some warnings | Subv | 2015-02-12 | 2 | -3/+3 |
| | | |||||
* | | Fix Min and Max blend equations | Darius Goad | 2015-02-11 | 1 | -6/+8 |
|/ | |||||
* | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 2015-02-11 | 8 | -23/+18 |
| | | | | | | | 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 3dbrew | Darius Goad | 2015-02-10 | 2 | -2/+49 |
| | |||||
* | Rasterizer: Implement the other color and alpha modifiers. | bunnei | 2015-02-05 | 2 | -58/+69 |
| | |||||
* | VideoCore: Added same-component swizzlers to math utility functions. | bunnei | 2015-02-05 | 1 | -16/+35 |
| | |||||
* | Pica: Implement blend factors. | bunnei | 2015-01-31 | 2 | -10/+67 |
| | |||||
* | Pica: Implement color/alpha channel enable. | bunnei | 2015-01-28 | 2 | -1/+12 |
| | |||||
* | Rasterizer: Implemented alpha testing. | bunnei | 2015-01-27 | 2 | -7/+52 |
| | |||||
* | GPU: Implement the remaining depth testing functions. | bunnei | 2015-01-26 | 2 | -3/+28 |
| | |||||
* | GSP: Update framebuffer info on all interrupts | Yuri Kunde Schlesner | 2015-01-14 | 1 | -3/+1 |
| | | | | | | | | | | Hardware testing determined that the GSP processes shared memory framebuffer update info even when no memory transfer or filling GX commands are used. They are now updated on every interrupt, which isn't confirmed correct but matches hardware behaviour more closely. This also reverts the hack introduced in #404. It made a few games behave better, but I believe it's incorrect and also breaks other games. | ||||
* | Merge pull request #473 from archshift/pp3ports | bunnei | 2015-01-14 | 2 | -14/+142 |
|\ | | | | | Pica/Rasterizer: Add ETC1 texture decompression support. | ||||
| * | Pica/Rasterizer: Add ETC1 texture decompression support. | Tony Wasserka | 2015-01-13 | 2 | -14/+142 |
| | | |||||
* | | Merge pull request #478 from archshift/pp3ports4 | bunnei | 2015-01-13 | 1 | -0/+69 |
|\ \ | | | | | | | Pica/VertexShader: Implement the MAD instruction. | ||||
| * | | Pica/VertexShader: Implement the MAD instruction. | Tony Wasserka | 2015-01-13 | 1 | -0/+69 |
| |/ | |||||
* / | Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU. | Tony Wasserka | 2015-01-13 | 1 | -23/+52 |
|/ | |||||
* | GSP: Toggle active framebuffer each frame | bunnei | 2015-01-08 | 1 | -1/+4 |
| | |||||
* | Pica/Rasterizer: Remove some redundant casts. | Tony Wasserka | 2014-12-31 | 1 | -3/+3 |
| | |||||
* | Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea. | Tony Wasserka | 2014-12-31 | 1 | -31/+38 |
| | |||||
* | Pica: Cleanup color conversion. | Tony Wasserka | 2014-12-31 | 2 | -18/+46 |
| | |||||
* | VideoCore: Remove some unused functions. | Tony Wasserka | 2014-12-31 | 1 | -26/+0 |
| | |||||
* | Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping. | Tony Wasserka | 2014-12-31 | 1 | -2/+2 |
| | |||||
* | Pica/Rasterizer: Clean up long code lines. | Tony Wasserka | 2014-12-31 | 1 | -4/+8 |
| | |||||
* | Pica/VertexShader: Coding style fixes. | Tony Wasserka | 2014-12-31 | 1 | -16/+8 |
| | |||||
* | Pica/CommandProcessor: Cleanups. | Tony Wasserka | 2014-12-31 | 1 | -3/+4 |
| | |||||
* | Pica/CommandProcessor: Workaround games not setting the input position's w component. | Tony Wasserka | 2014-12-31 | 1 | -0/+14 |
| | |||||
* | Pica/Rasterizer: Implement backface culling. | Tony Wasserka | 2014-12-31 | 2 | -10/+36 |
| | |||||
* | Pica/Rasterizer: Textures seem to be laid out flipped vertically. | Tony Wasserka | 2014-12-31 | 1 | -1/+1 |
| | | | | Not sure if this is a correct fix. Probably should instead change the decoding logic itself. | ||||
* | Pica/DebugUtils: Fix a bug in RGBA4 texture decoding. | Tony Wasserka | 2014-12-31 | 1 | -2/+2 |
| | |||||
* | Pica/Rasterizer: Implement alpha blending. | Tony Wasserka | 2014-12-31 | 1 | -0/+84 |
| | |||||
* | Pica/Rasterizer: Implement depth testing. | Tony Wasserka | 2014-12-31 | 2 | -6/+34 |
| | |||||
* | Pica/Rasterizer: Further enhance Tev support. | Tony Wasserka | 2014-12-31 | 1 | -4/+19 |
| | |||||
* | Pica: Add output merger definitions. | Tony Wasserka | 2014-12-31 | 1 | -1/+56 |
| | |||||
* | Pica: Fix A4, IA4 and IA8 texture formats. | Tony Wasserka | 2014-12-31 | 1 | -13/+7 |
| | | | | Both IA4 and IA8 had their component order mixed up. Additionally, IA4 used the wrong number of nibbles per texel. A4 skipped every second texel. | ||||
* | Pica/CommandProcessor: Add support for integer uniforms. | Tony Wasserka | 2014-12-31 | 4 | -1/+30 |
| | |||||
* | Rasterizer: Pre-divide vertex attributes by W | Yuri Kunde Schlesner | 2014-12-29 | 3 | -8/+32 |
| | | | | | Execute the division-by-W for perspective-correct interpolation of values in the clipper, moving them out of the rasterization inner loop. | ||||
* | GPU: Bitwise texture swizzling | Yuri Kunde Schlesner | 2014-12-29 | 1 | -27/+24 |
| | | | | | | Replace the loop-based texture address swizzling code by a bit-twiddling implementation, providing a very small speed up. Also simplify addressing code. | ||||
* | Rasterizer: Common sub-expression elimination | Yuri Kunde Schlesner | 2014-12-29 | 1 | -14/+17 |
| | | | | | Move the computation of some values out of loops so that they're not constantly recalculated even when they don't change. | ||||
* | Clipper: Compact buffers on each clipping pass | Yuri Kunde Schlesner | 2014-12-29 | 1 | -28/+27 |
| | | | | | | 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. | ||||
* | Clipper: Avoid dynamic allocations | Yuri Kunde Schlesner | 2014-12-29 | 1 | -10/+7 |
| | | | | | | 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. | ||||
* | Vertex Shader: Zero OutputVertex to avoid denormals | Yuri Kunde Schlesner | 2014-12-29 | 1 | -0/+4 |
| | | | | | | | | | 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. | ||||
* | GPU: Implement frameskip and remove forced framebuffer swap hack. | bunnei | 2014-12-29 | 1 | -0/+5 |
| | |||||
* | Merge pull request #327 from Apology11/master | bunnei | 2014-12-27 | 1 | -4/+4 |
|\ | | | | | Fix visual studio ambiguous symbol error | ||||
| * | Fix visual studio ambiguous symbol error | Apology11 | 2014-12-21 | 1 | -4/+4 |
| | | |||||
* | | Merge pull request #322 from chinhodado/master | bunnei | 2014-12-22 | 2 | -7/+7 |
|\ \ | | | | | | | More warning cleanups | ||||
| * | | More warning cleanups | Chin | 2014-12-21 | 2 | -7/+7 |
| |/ | |||||
* | | Merge pull request #291 from purpasmart96/license | bunnei | 2014-12-21 | 23 | -23/+23 |
|\ \ | |/ |/| | License change | ||||
| * | License change | purpasmart96 | 2014-12-21 | 23 | -23/+23 |
| | | |||||
* | | Pica/VertexShader: Promote a log message to critical status. | Tony Wasserka | 2014-12-20 | 1 | -1/+1 |
| | | |||||
* | | Pica/VertexShader: Small optimization. | Tony Wasserka | 2014-12-20 | 1 | -7/+7 |
| | | |||||
* | | Pica/VertexShader: Be robust against invalid inputs. | Tony Wasserka | 2014-12-20 | 1 | -2/+9 |
| | | | | | | | | More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that. | ||||
* | | Pica/VertexShader: Clarify a comment. | Tony Wasserka | 2014-12-20 | 1 | -1/+3 |
| | | |||||
* | | Pica/DebugUtils: Further cleanups to LookupTexture. | Tony Wasserka | 2014-12-20 | 1 | -7/+7 |
| | | |||||
* | | Pica/DebugUtils: Fix two warnings. | Tony Wasserka | 2014-12-20 | 1 | -2/+2 |
| | | |||||
* | | Pica/DebugUtils: Better document LookupTexture. | Tony Wasserka | 2014-12-20 | 2 | -7/+16 |
| | | |||||
* | | Pica/Rasterizer: Get rid of C-style casts. | Tony Wasserka | 2014-12-20 | 1 | -4/+4 |
| | | |||||
* | | Pica/DebugUtils: Make a number of variables static. | Tony Wasserka | 2014-12-20 | 1 | -13/+13 |
| | | | | | | | | Makes for cleaner and faster code. | ||||
* | | Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions. | Tony Wasserka | 2014-12-20 | 1 | -50/+56 |
| | | |||||
* | | Pica/VertexShader: Run instruction handlers according to the effective opcode. | Tony Wasserka | 2014-12-20 | 1 | -1/+1 |
| | | | | | | | | This allows for proper emulation of the different CMP/LRP/MAD instructions. | ||||
* | | Pica/VertexShader: Implement MAX instructions. | Tony Wasserka | 2014-12-20 | 1 | -0/+9 |
| | | |||||
* | | Pica: Add support for boolean uniforms. | Tony Wasserka | 2014-12-20 | 4 | -2/+21 |
| | | |||||
* | | Pica/VertexShader: Add support for MOVA, CMP and IFC. | Tony Wasserka | 2014-12-20 | 2 | -7/+138 |
| | | |||||
* | | Pica/VertexShader: Move code around a bit. | Tony Wasserka | 2014-12-20 | 1 | -42/+58 |
| | | |||||
* | | Pica/VertexShader: Some cleanups using std::array. | Tony Wasserka | 2014-12-20 | 2 | -5/+19 |
| | | |||||
* | | Pica/VertexShader: Support negating src2. | Tony Wasserka | 2014-12-20 | 2 | -3/+9 |
| | | |||||
* | | Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones. | Tony Wasserka | 2014-12-20 | 1 | -61/+8 |
| | | |||||
* | | Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones. | Tony Wasserka | 2014-12-20 | 2 | -222/+30 |
| | | |||||
* | | Pica/DebugUtils: Add an event triggered after loading a vertex. | Tony Wasserka | 2014-12-20 | 2 | -0/+4 |
| | | |||||
* | | Pica/PrimitiveAssembly: Implement triangle strips. | Tony Wasserka | 2014-12-20 | 2 | -8/+16 |
| | | |||||
* | | Pica/CommandProcessor: Add a safety check for invalid (?) GPU configurations. | Tony Wasserka | 2014-12-20 | 1 | -0/+7 |
| | | |||||
* | | Pica/CommandProcessor: Fix vertex decoding if multiple memory areas are accessed for different attributes. | Tony Wasserka | 2014-12-20 | 1 | -7/+8 |
| | | |||||
* | | Add support for a ridiculous number of texture formats. | Tony Wasserka | 2014-12-20 | 2 | -7/+80 |
| | | |||||
* | | Pica: Unify ugly address translation hacks. | Tony Wasserka | 2014-12-20 | 5 | -16/+25 |
| | | |||||
* | | Pica: Further improve Tev emulation. | Tony Wasserka | 2014-12-20 | 3 | -12/+51 |
| | | |||||
* | | Pica: Merge texture lookup logic for DebugUtils and Rasterizer. | Tony Wasserka | 2014-12-20 | 3 | -55/+41 |
| | | | | | | | | This effectively adds support for a lot texture formats in the rasterizer. | ||||
* | | Pica: Implement texture wrapping. | Tony Wasserka | 2014-12-20 | 2 | -2/+31 |
| | | |||||
* | | Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats. | Tony Wasserka | 2014-12-20 | 2 | -3/+48 |
| | | |||||
* | | Pica: Initial support for multitexturing. | Tony Wasserka | 2014-12-20 | 3 | -24/+83 |
| | | |||||
* | | Clean up some warnings | Chin | 2014-12-20 | 1 | -2/+2 |
| | | |||||
* | | Properly erase/remove an observer | chinhodado | 2014-12-19 | 1 | -1/+1 |
|/ | |||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 10 | -38/+50 |
| | |||||
* | Merge pull request #267 from bunnei/apt-shared-font | bunnei | 2014-12-13 | 1 | -2/+2 |
|\ | | | | | APT shared font loading | ||||
| * | MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP. | bunnei | 2014-12-12 | 1 | -2/+2 |
| | | | | | | | | - 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). | ||||
* | | Merge pull request #261 from neobrain/boost | Tony Wasserka | 2014-12-12 | 1 | -6/+10 |
|\ \ | |/ |/| | Add Boost as a submodule and add some minor cleanups using Boost.Range | ||||
| * | Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp. | Tony Wasserka | 2014-12-07 | 1 | -6/+10 |
| | | |||||
* | | GSP: Trigger GPU interrupts at more accurate locations. | bunnei | 2014-12-10 | 2 | -1/+15 |
| | | |||||
* | | GPU: Fixed bug in command list size decoding. | bunnei | 2014-12-10 | 1 | -1/+2 |
| | | |||||
* | | Pica: Re-enable command names on MSVC. | Tony Wasserka | 2014-12-09 | 1 | -5/+0 |
| | | | | | | | | The affected code is no longer limited by compiler support on that platform. | ||||
* | | More coding style fixes. | Tony Wasserka | 2014-12-09 | 1 | -6/+12 |
| | | |||||
* | | Some code cleanup. | Tony Wasserka | 2014-12-09 | 1 | -3/+1 |
| | | |||||
* | | citra_qt: Add enhanced texture debugging widgets. | Tony Wasserka | 2014-12-09 | 3 | -1/+30 |
| | | | | | | | | Double-clicking a texture parameter command in the pica command lists will spawn these as a new tab in the pica command list dock area. | ||||
* | | citra-qt: Add texture viewer to Pica command list. | Tony Wasserka | 2014-12-09 | 2 | -21/+45 |
| | | | | | | | | The texture viewer is enabled when selecting a write command to one of the texture config registers. | ||||
* | | Pica/DebugUtils: Add breakpoint functionality. | Tony Wasserka | 2014-12-09 | 3 | -0/+189 |
| | | |||||
* | | Build fix for something which shouldn't have compiled successfully to begin with. | Tony Wasserka | 2014-12-09 | 1 | -1/+1 |
|/ | |||||
* | Change NULLs to nullptrs. | Rohit Nirmal | 2014-12-03 | 2 | -7/+7 |
| | |||||
* | Merge pull request #236 from rohit-n/sign-compare | bunnei | 2014-12-03 | 3 | -6/+6 |
|\ | | | | | Silence a few -Wsign-compare warnings. | ||||
| * | Silence a few -Wsign-compare warnings. | Rohit Nirmal | 2014-12-01 | 3 | -6/+6 |
| | | |||||
* | | Fixed viewport error caused by rounding | vaguilar | 2014-11-30 | 1 | -2/+2 |
|/ | |||||
* | Remove tabs in all files except in skyeye imports and in generated GL code | Emmanuel Gil Peyrot | 2014-11-19 | 4 | -14/+14 |
| | |||||
* | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated | Emmanuel Gil Peyrot | 2014-11-19 | 2 | -3/+3 |
| | |||||
* | OpenGL Renderer: Cleanup viewport extent calculation. | Tony Wasserka | 2014-11-18 | 2 | -44/+29 |
| | |||||
* | Fixup EmuWindow interface and implementations thereof. | Tony Wasserka | 2014-11-18 | 1 | -3/+3 |
| | |||||
* | Viewport scaling and display density independence | Kevin Hartman | 2014-11-18 | 2 | -1/+50 |
| | | | | | The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window. On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly. | ||||
* | Merge pull request #195 from lioncash/control | Tony Wasserka | 2014-11-16 | 1 | -1/+1 |
|\ | | | | | vertex_shader: Fix control reaches end of function warning | ||||
| * | vertex_shader: Fix control reaches end of function warning | Lioncash | 2014-11-16 | 1 | -1/+1 |
| | | |||||
* | | Fix two format strings. | Lioncash | 2014-11-14 | 1 | -2/+2 |
|/ | |||||
* | Merge pull request #162 from SeannyM/warning-fixes | bunnei | 2014-10-30 | 2 | -3/+3 |
|\ | | | | | Fix some warnings | ||||
| * | Fix some warnings | Sean | 2014-10-30 | 2 | -3/+3 |
| | | |||||
* | | Renamed souce files of services to match port names | Gareth Poole | 2014-10-29 | 1 | -1/+1 |
|/ | |||||
* | Add `override` keyword through the code. | Yuri Kunde Schlesner | 2014-10-26 | 1 | -4/+4 |
| | | | | This was automated using `clang-modernize`. | ||||
* | Only check OpenGL shader log if size is >1. | Yuri Kunde Schlesner | 2014-10-21 | 1 | -9/+6 |
| | | | | | | | | This prevents a crash when the buffer size returned by the driver is 0, in which case no space is allocated to store even the NULL byte and glGetShaderInfoLog errors out. Thanks to @Relys for the bug report. | ||||
* | Rework OpenGL renderer. | Yuri Kunde Schlesner | 2014-10-12 | 4 | -233/+193 |
| | | | | | | | | | The OpenGL renderer has been revised, with the following changes: - Initialization and rendering have been refactored to reduce the number of redundant objects used. - Framebuffer rotation is now done directly, using texture mapping. - Vertex coordinates are now given in pixels, and the projection matrix isn't hardcoded anymore. | ||||
* | OpenGL renderer: Shuffle initialization code around and rename functions. | Yuri Kunde Schlesner | 2014-10-12 | 2 | -25/+18 |
| | |||||
* | Remove virtual inheritance from RendererOpenGL | Yuri Kunde Schlesner | 2014-10-12 | 2 | -3/+3 |
| | | | | Also make destructor virtual so that instances are properly destructed. | ||||
* | Fix warnings in video_core | Lioncash | 2014-10-08 | 7 | -23/+23 |
| | |||||
* | Common: Rename the File namespace to FileUtil, to match the filename and prevent collisions. | Emmanuel Gil Peyrot | 2014-09-17 | 1 | -1/+1 |
| | |||||
* | Merge pull request #110 from lioncash/warnings | bunnei | 2014-09-15 | 1 | -1/+1 |
|\ | | | | | Core: Fix warnings in gpu.cpp | ||||
| * | Core: Fix warnings in gpu.cpp | Lioncash | 2014-09-14 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #97 from archshift/cleanup | bunnei | 2014-09-14 | 4 | -44/+29 |
|\ \ | |/ |/| | Small, general code cleanup | ||||
| * | renderer_opengl.cpp: improved alignment for readability | archshift | 2014-09-07 | 1 | -16/+16 |
| | | |||||
| * | Dead code removal: video_core.cpp, load_symbol_map.cpp | archshift | 2014-09-07 | 1 | -7/+0 |
| | | |||||
| * | utils: cleaned up DumpTGA, removing redundancies | archshift | 2014-09-07 | 2 | -21/+13 |
| | | |||||
* | | Added support for multiple input device types for KeyMap and connected Qt. | Kevin Hartman | 2014-09-12 | 1 | -0/+1 |
| | | |||||
* | | Moved common_types::Rect from common to Common namespace | archshift | 2014-09-09 | 2 | -3/+3 |
|/ | |||||
* | Remove hand-crafted Visual Studio solution. | Yuri Kunde Schlesner | 2014-09-01 | 2 | -217/+0 |
| | |||||
* | CMake cleanup | Yuri Kunde Schlesner | 2014-09-01 | 1 | -13/+26 |
| | | | | | | | | Several cleanups to the buildsystem: - Do better factoring of common libs between platforms. - Add support to building on Windows. - Remove Qt4 support. - Re-sort file lists and add missing headers. | ||||
* | Replace GLEW with a glLoadGen loader. | Yuri Kunde Schlesner | 2014-09-01 | 10 | -13/+2819 |
| | | | | | | | | | This should fix the GL loading errors that occur in some drivers due to the use of deprecated functions by GLEW. Side benefits are more accurate auto-completion (deprecated function and symbols don't exist) and faster pointer loading (less entrypoints to load). In addition it removes an external library depency, simplifying the build system a bit and eliminating one set of binary libraries for Windows. | ||||
* | Downgrade GLSL version to 1.50 (compatible with GL 3.2) | Yuri Kunde Schlesner | 2014-08-28 | 3 | -10/+15 |
| | |||||
* | VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size. | bunnei | 2014-08-26 | 4 | -8/+15 |
| | |||||
* | Rewrite of OpenGL renderer, including OS X support | Kevin Hartman | 2014-08-26 | 8 | -211/+340 |
| | | | | | | Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads. Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk. | ||||
* | Pica/Rasterizer: Clarify a TODO. | Tony Wasserka | 2014-08-25 | 1 | -1/+3 |
| | |||||
* | Pica/VertexShader: Fix a bug in the call stack handling. | Tony Wasserka | 2014-08-25 | 1 | -2/+3 |
| | |||||
* | Math: Warning fixes. | Tony Wasserka | 2014-08-25 | 1 | -14/+23 |
| | |||||
* | Pica: Consolidate the primitive assembly code in PrimitiveAssembly and GeometryDumper. | Tony Wasserka | 2014-08-25 | 5 | -46/+74 |
| | |||||
* | Pica/Rasterizer: Add texturing support. | Tony Wasserka | 2014-08-25 | 3 | -18/+69 |
| | |||||
* | Pica/DebugUtils: Add convenient tev setup printer. | Tony Wasserka | 2014-08-25 | 3 | -0/+101 |
| | |||||
* | Pica/Rasterizer: Add initial implementation of texture combiners. | Tony Wasserka | 2014-08-25 | 2 | -2/+225 |
| | |||||
* | Pica: Add support for dumping textures. | Tony Wasserka | 2014-08-25 | 3 | -1/+177 |
| | |||||
* | Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly. | Tony Wasserka | 2014-08-25 | 3 | -98/+133 |
| | | | | | | - 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/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers. | Tony Wasserka | 2014-08-25 | 2 | -14/+92 |
| | |||||
* | Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated. | Tony Wasserka | 2014-08-25 | 4 | -63/+78 |
| | |||||
* | Pica/CommandProcessor: Implement parameter masking. | Tony Wasserka | 2014-08-25 | 2 | -6/+25 |
| | |||||
* | Pica: Add debug utilities for dumping shaders. | Tony Wasserka | 2014-08-25 | 4 | -1/+227 |
| | |||||
* | Pica: Add debug utility functions for dumping geometry data. | Tony Wasserka | 2014-08-25 | 6 | -4/+123 |
| | |||||
* | Fix the threading for GL Context in Qt5. | Sacha | 2014-08-24 | 1 | -1/+0 |
| | | | | Connect the emu_thread start/finish to a moveContext slot. | ||||
* | Merge pull request #42 from archshift/glexp | bunnei | 2014-08-13 | 1 | -3/+2 |
|\ | | | | | Use glewExperimental to fix crashes with citra-glfw | ||||
| * | Use glewExperimental on Linux in order to fix GLFW-mode | archshift | 2014-08-12 | 1 | -3/+2 |
| | | |||||
* | | float24: Remove private default constructor | archshift | 2014-08-13 | 1 | -2/+0 |
|/ | | | | Fixes building with clang. | ||||
* | Pica: Add basic rasterizer. | Tony Wasserka | 2014-08-12 | 7 | -2/+260 |
| | |||||
* | Pica: Add triangle clipper. | Tony Wasserka | 2014-08-12 | 7 | -8/+230 |
| | |||||
* | Pica: Add primitive assembly stage. | Tony Wasserka | 2014-08-12 | 7 | -2/+95 |
| | |||||
* | Pica: Add vertex shader implementation. | Tony Wasserka | 2014-08-12 | 7 | -10/+722 |
| | |||||
* | Pica: Implement vertex loading. | Tony Wasserka | 2014-08-12 | 2 | -8/+102 |
| | |||||
* | Pica: Add register definition for vertex loading and rendering. | Tony Wasserka | 2014-08-12 | 1 | -33/+128 |
| | |||||
* | Pica: Add command processor. | Tony Wasserka | 2014-08-12 | 7 | -5/+107 |
| | |||||
* | Pica: Add float24 structure. | Tony Wasserka | 2014-08-12 | 1 | -0/+75 |
| | | | | | 24-bit floating points are used internally for calculations on the GPU, however the current code will still emulate that with 32-bit floating points. In the future we might want to accurately perform the calculations with correct bitness in the future, but for now we just wrap the calculations around this class. | ||||
* | Video core: Add utility class for vector operations. | Tony Wasserka | 2014-08-12 | 4 | -1/+582 |
| | | | | | I wrote most of this for ppsspp, so I hold full copyright over it. In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors. | ||||
* | Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones. | Tony Wasserka | 2014-08-12 | 2 | -8/+8 |
| | | | | | This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though. | ||||
* | Remove the fancy RegisterSet class introduced in 4c2bff61e. | Tony Wasserka | 2014-08-12 | 2 | -100/+146 |
| | | | | | While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures. Instead, we now use a more conventional approach which is a lot more clean to use. | ||||
* | GSP: Removed dumb GX prefixes to functions/structs in GSP namespace. | bunnei | 2014-08-06 | 1 | -6/+6 |
| | | | | - Various other cleanups. | ||||
* | Use uniform formatting when printing hexadecimal numbers. | Tony Wasserka | 2014-07-23 | 1 | -1/+1 |
| | |||||
* | GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32. | Tony Wasserka | 2014-07-23 | 1 | -3/+2 |
| | | | | Anonymous structs are not standard C++, hence don't use them. | ||||
* | RegisterSet: Simplify code by using structs for register definition instead of unions. | Tony Wasserka | 2014-07-23 | 1 | -9/+9 |
| | |||||
* | GPU: Make use of RegisterSet. | Tony Wasserka | 2014-07-23 | 1 | -26/+28 |
| | |||||
* | Renderer: Fix component order in bottom framebuffer. | Tony Wasserka | 2014-07-23 | 2 | -5/+4 |
| | |||||
* | Renderer: Respect the active_fb GPU register. | Tony Wasserka | 2014-07-23 | 1 | -2/+9 |
| | |||||
* | Renderer: Add a few TODOs. | Tony Wasserka | 2014-07-23 | 1 | -3/+10 |
| | |||||
* | GPU debugger: Don't keep track of debugging data if no debugger views are active. | Tony Wasserka | 2014-07-22 | 1 | -0/+6 |
| | |||||
* | GPU debugger: Const correctness and build fix. | Tony Wasserka | 2014-06-12 | 1 | -3/+3 |
| | |||||
* | Preprocessor: #if's out OSX-specific GL changes on other platforms | archshift | 2014-06-12 | 1 | -0/+3 |
| | |||||
* | Pica: Use some template magic to define register structures efficiently. | Tony Wasserka | 2014-06-12 | 1 | -25/+102 |
| | |||||
* | Further refine GPU command list debugging. | Tony Wasserka | 2014-06-12 | 2 | -0/+17 |
| | |||||
* | Refine command list debugging functionality and its qt interface. | Tony Wasserka | 2014-06-12 | 2 | -8/+17 |
| | |||||
* | citra-qt: Add command list view. | Tony Wasserka | 2014-06-12 | 1 | -2/+2 |
| | |||||
* | GPU debugger: Add functionality to inspect command lists. | Tony Wasserka | 2014-06-12 | 1 | -1/+53 |
| | |||||
* | video core: added PICA definitions file. | Tony Wasserka | 2014-06-12 | 3 | -0/+37 |
| | |||||
* | Rename LCD to GPU. | Tony Wasserka | 2014-06-12 | 1 | -3/+3 |
| | |||||
* | Add initial graphics debugger interface. | Tony Wasserka | 2014-06-12 | 3 | -3/+102 |
| | |||||
* | common_types: Changed BasicRect back to Rect, in the common namespace | archshift | 2014-05-20 | 2 | -3/+3 |
| | | | | Only Rect is in the namespace for now; the rest of common should be added in the future | ||||
* | Improved clarity and whitespace | archshift | 2014-05-20 | 2 | -3/+4 |
| | | | | Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5. | ||||
* | CMakeLists: rename HEADS, improved comments | archshift | 2014-05-20 | 1 | -2/+2 |
| | | | | Changes for clarity of comments, removed redundant compiler flags. | ||||
* | Indent fixes | archshift | 2014-05-19 | 1 | -31/+31 |
| | |||||
* | Merge remote-tracking branch 'upstream/master' into issue-7-fix | archshift | 2014-05-17 | 1 | -7/+6 |
|\ | |||||
| * | Update FlipFramebuffer | Sethpaien | 2014-05-08 | 1 | -7/+6 |
| | | | | | | Less calculations + fix | ||||
* | | Fixed indents | archshift | 2014-05-01 | 2 | -37/+35 |
| | | |||||
* | | Reverse debugging changes | archshift | 2014-05-01 | 1 | -2/+0 |
| | | |||||
* | | TGA dumps work, courtesy of @bunnei | archshift | 2014-05-01 | 2 | -36/+38 |
| | | |||||
* | | OpenGL 3+ on OSX with GLFW | archshift | 2014-05-01 | 1 | -0/+2 |
| | | |||||
* | | IT'S ALIVE! | archshift | 2014-04-29 | 1 | -1/+6 |
| | | |||||
* | | Xcode complains that the class name is redundant. | archshift | 2014-04-28 | 1 | -1/+1 |
| | | |||||
* | | Rect to BasicRect | archshift | 2014-04-28 | 2 | -3/+3 |
|/ | | | | Somewhere along the line an OSX header had already taken the name Rect. | ||||
* | removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class | bunnei | 2014-04-28 | 2 | -4/+1 |
| | |||||
* | fixed renderer to use correct framebuffer location | bunnei | 2014-04-27 | 2 | -8/+7 |
| | |||||
* | fixed GL context acquire (applies to Qt GUI only) | bunnei | 2014-04-22 | 1 | -0/+2 |
| | |||||
* | renamed hw_lcd module to just lcd | bunnei | 2014-04-18 | 1 | -1/+1 |
| | |||||
* | fixed framebuffer color order | bunnei | 2014-04-17 | 1 | -1/+1 |
| | |||||
* | removed hard-coded framebuffer addresses from renderer_opengl.cpp | bunnei | 2014-04-17 | 1 | -2/+4 |
| | |||||
* | cleaned up some logging messages | bunnei | 2014-04-11 | 1 | -1/+2 |
| | |||||
* | fixed a bunch of errors in CMakeLists | bunnei | 2014-04-10 | 1 | -3/+3 |
| | |||||
* | updated CMakeLists | bunnei | 2014-04-10 | 1 | -16/+2 |
| | |||||
* | fixed project includes to use new directory structure | bunnei | 2014-04-09 | 9 | -38/+39 |
| | |||||
* | got rid of 'src' folders in each sub-project | bunnei | 2014-04-09 | 7 | -0/+0 |
| | |||||
* | fixed license header in video_core | bunnei | 2014-04-09 | 7 | -182/+23 |
| | |||||
* | - removed lots of unused code from gekko | bunnei | 2014-04-09 | 3 | -367/+110 |
| | | | | - updated code style/naming conventions | ||||
* | added support for renderering the external framebuffers | bunnei | 2014-04-07 | 2 | -20/+147 |
| | |||||
* | added external framebuffer GL handles | bunnei | 2014-04-07 | 1 | -2/+11 |
| | |||||
* | added initial renderer code | bunnei | 2014-04-06 | 7 | -19/+534 |
| | |||||
* | added video_core project to solution | bunnei | 2014-04-05 | 8 | -0/+567 |