summaryrefslogtreecommitdiffstats
path: root/src/video_core/pica.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* clang-format: Fix coding styleYuri Kunde Schlesner2016-12-031-1/+1
|
* Minor formatting changeJames Rowe2016-11-191-1/+1
|
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-7/+18
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-325/+326
|
* PICA: Scissor fixes and cleanupsYuri Kunde Schlesner2016-06-281-12/+4
|
* PICA: Implement scissor testSubv2016-06-281-1/+31
|
* Pica: Add fog stateJannik Vogel2016-06-071-12/+41
|
* Pica: Name LightSrc.config registerJannik Vogel2016-05-231-15/+13
|
* Pica: Name lighting.config0 and .config1 registersJannik Vogel2016-05-231-6/+6
|
* Pica: Add texture type to stateJannik Vogel2016-05-111-0/+10
|
* Pica: Implement W-Buffer in SW rasterizerJannik Vogel2016-05-101-3/+17
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-3/+4
|
* pica: Handle default lighting caseSam Spilsbury2016-04-231-1/+6
|
* HWRasterizer: Texture forwardingtfarley2016-04-211-1/+1
|
* Rasterizer: Respect buffer-write allow registersJannik Vogel2016-04-081-1/+11
|
* Pica: Improve accuracy of immediate-mode supportYuri Kunde Schlesner2016-03-241-1/+6
| | | | This partially fixes Etrian Odyssey IV.
* Merge pull request #1508 from JayFoxRox/vs-output-mapbunnei2016-03-221-3/+5
|\ | | | | Respect vs output map
| * Respect vs output mapJannik Vogel2016-03-141-3/+5
| |
* | core/video_core: Make NumIds functions constexprLioncash2016-03-171-1/+1
| |
* | core/video_core: Don't cast away const in subscript operatorsLioncash2016-03-171-3/+3
| | | | | | | | Not to say these subscript operators aren't totally ugly as is.
* | PICA: Fix viewport offsetJannik Vogel2016-03-141-2/+2
|/
* Add immediate mode vertex submissionDwayne Slater2016-03-031-55/+11
|
* pica: Cleanup lighting register definitions and documentation.bunnei2016-02-051-33/+36
|
* gl_rasterizer: Initial implementation of bump mapping.bunnei2016-02-051-0/+9
|
* gl_shader_gen: Implement lighting red, green, and blue reflection.bunnei2016-02-051-3/+15
|
* gl_shader_gen: Implement fragment lighting fresnel effect.bunnei2016-02-051-0/+5
|
* gl_shader_gen: Implement fragment lighting specular 1 component.bunnei2016-02-051-8/+19
|
* gl_shader_gen: Add support for D0 LUT scaling.bunnei2016-02-051-1/+67
|
* gl_shader_gen: Refactor lighting config to match Pica register naming.bunnei2016-02-051-0/+2
| | | | - Also implement D0 LUT enable.
* pica: Cleanup and add some comments to lighting registers.bunnei2016-02-051-18/+18
|
* gl_rasterizer: Minor naming refactor on Pica register naming.bunnei2016-02-051-15/+18
|
* renderer_opengl: Initial implementation of basic specular lighting.bunnei2016-02-051-1/+7
|
* renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.bunnei2016-02-051-1/+1
|
* renderer_opengl: Implement diffuse component of HW fragment lighting.bunnei2016-02-051-10/+11
|
* pica: Implement decoding of basic fragment lighting components.bunnei2016-02-051-10/+53
| | | | | | | - Diffuse - Distance attenuation - float16/float20 types - Vertex Shader 'view' output
* pica: Implement fragment lighting LUTs.bunnei2016-02-051-0/+19
|
* pica: Add decodings for distance attenuation and LUT registers.bunnei2016-02-051-1/+104
|
* pica: Add pica_types module and move float24 definition.bunnei2016-02-051-112/+2
|
* gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.bunnei2015-10-221-4/+4
|
* Initial implementation of fragment shader generation with caching.Subv2015-10-221-0/+4
|
* video_core: Reorganize headersLioncash2015-09-111-1/+1
|
* OpenGL: Remove ugly and endian-unsafe color pointer castsYuri Kunde Schlesner2015-09-031-0/+4
|
* Pica: Added the primitive_restart register (0x25f) to the registers map.Subv2015-08-311-1/+4
|
* Pica: Add the vertex_offset register to the Pica registers map.Subv2015-08-311-0/+1
|
* Merge pull request #1059 from Subv/vertex_offsetbunnei2015-08-301-1/+6
|\ | | | | GPU: Implemented register 0x22A PICA_REG_DRAW_VERTEX_OFFSET
| * GPU: Implemented register 0x22A.Subv2015-08-301-1/+6
| | | | | | | | | | | | This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering. Register 0x22A doesn't affect indexed rendering.
* | Merge pull request #1049 from Subv/stencilbunnei2015-08-301-5/+17
|\ \ | | | | | | Rasterizer: Corrected the stencil implementation.
| * | SWRasterizer: Implemented stencil ops 6 and 7.Subv2015-08-211-6/+8
| | | | | | | | | | | | IncrementWrap and DecrementWrap, verified with hwtests.
| * | SWRasterizer: Implemented stencil action 1 (GL_ZERO).Subv2015-08-211-1/+1
| | | | | | | | | | | | Verified with hwtests.
| * | GPU/Rasterizer: Corrected the stencil implementation.Subv2015-08-201-5/+15
| |/ | | | | | | Verified the behavior with hardware tests.
* | fixup! Shaders: Fix multiplications between 0.0 and infYuri Kunde Schlesner2015-08-241-4/+4
| |
* | Shaders: Fix multiplications between 0.0 and infYuri Kunde Schlesner2015-08-241-1/+13
|/ | | | | | | | The PICA200 semantics for multiplication are so that when multiplying inf by exactly 0.0, the result is 0.0, instead of NaN, as defined by IEEE. This is relied upon by games. Fixes #1024 (missing OoT interface items)
* Merge pull request #1034 from yuriks/rg8-texturesbunnei2015-08-171-1/+2
|\ | | | | videocore: Added RG8 texture support
| * videocore: Added RG8 texture supportPatrick Martin2015-08-161-1/+2
| |
* | citra-qt: Improve shader debugger.Tony Wasserka2015-08-161-0/+11
|/ | | | Now supports dumping the current shader and recognizes a larger number of output semantics.
* Shader: Define a common interface for running vertex shader programs.bunnei2015-08-151-1/+5
|
* Videocore: Don't reinitialize register name map on every queryYuri Kunde Schlesner2015-07-261-64/+1
| | | | This greatly speeds up the command list debug widget.
* Merge pull request #892 from zawata/another-warning-fixesYuri Kunde Schlesner2015-07-251-1/+1
|\ | | | | Yet More Warning Fixes
| * Video_Core: Finally fix pesky warningzawata2015-07-191-1/+1
| |
* | Merge pull request #968 from Subv/texture_filteringbunnei2015-07-221-0/+7
|\ \ | | | | | | GPU: Added registers for min and mag texture filters
| * | GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.Subv2015-07-211-0/+7
| | |
* | | Merge pull request #929 from neobrain/geoshader_definitionsTony Wasserka2015-07-211-99/+113
|\ \ \ | |/ / |/| | Pica/Shader: Add geometry shader definitions.
| * | Pica/Shader: Add geometry shader definitions.Tony Wasserka2015-07-151-99/+113
| |/
* | Pica: Correct switched S/T texture wrapping registersYuri Kunde Schlesner2015-07-201-2/+2
| | | | | | | | This was found and hwtested by Lectem
* | Rasterizer/Textures: Fixed a bug where the I4 format would get twice the real stride.Subv2015-07-191-0/+1
|/ | | | Also added its name to the texture viewer widget
* VideoCore: Implement the DOT3_RGB combinerLectem2015-07-141-0/+1
|
* Pica: Implement stencil testing.Tony Wasserka2015-07-131-9/+34
|
* Merge pull request #907 from Lectem/clamp_to_borderTony Wasserka2015-07-121-1/+7
|\ | | | | Add GL_CLAMP_TO_BORDER support.
| * Added GL_CLAMP_TO_BORDER supportLectem2015-07-091-1/+7
| |
* | Common: Cleanup emu_window includes.Emmanuel Gil Peyrot2015-06-281-3/+3
|/
* video_core: add extra braces around initializerYuri Kunde Schlesner2015-06-141-3/+3
| | | | Trivial change and fixes several warnings in the clang build.
* Merge pull request #811 from archshift/commonifyarchshift2015-05-311-2/+1
|\ | | | | Commonify video_core utility headers
| * Move video_core/math.h to common/vector_math.harchshift2015-05-301-2/+1
| | | | | | | | The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
* | Pica: Use zero for the SecondaryFragmentColor source.bunnei2015-05-311-0/+1
| | | | | | | | - This is a workaround until we support fragment lighting.
* | Pica: Implement LogicOp function.bunnei2015-05-311-6/+21
| |
* | Pica: Implement command buffer execution registers.bunnei2015-05-311-12/+38
|/
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-4/+4
|
* Pica: Create 'State' structure and move state memory there.bunnei2015-05-231-81/+105
|
* OpenGL renderertfarley2015-05-231-10/+27
|
* Merge pull request #772 from lioncash/warnbunnei2015-05-181-1/+1
|\ | | | | core/video_core: Fix a few warnings when compiling on MSVC.
| * pica: Add the ULL specifier in IsDefaultAttributeLioncash2015-05-141-1/+1
| | | | | | | | This is necessary otherwise there are warnings about a 32-bit result being casted to a 64-bit value.
* | Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-2/+0
|/ | | | | | | 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.
* Implement I4 texture formatarchshift2015-05-111-1/+1
| | | | | | @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.bunnei2015-05-101-1/+12
|
* rasterizer: Fixed a depth testing bug.bunnei2015-05-101-3/+15
|
* rasterizer: Implement combiner buffer input.bunnei2015-05-101-3/+33
|
* Memory: Support more regions in the VAddr-PAddr translation functionsYuri Kunde Schlesner2015-05-091-11/+0
| | | | | Also adds better documentation and removes the one-off reimplementation of the function in pica.h.
* Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner2015-05-091-1/+1
|
* Merge pull request #721 from yuriks/more-cleanupsYuri Kunde Schlesner2015-05-071-0/+3
|\ | | | | More cleanups
| * Common: Remove common.hYuri Kunde Schlesner2015-05-071-0/+3
| |
* | GPU: Implemented default vertex shader attributes.Subv2015-05-071-25/+42
|/ | | | Fixes some games crashing.
* GPU: Added the stencil test structure to the Pica Regs struct.Subv2015-03-101-9/+34
|
* GPU: Implemented more depth buffer formats.Subv2015-03-101-0/+7
| | | | 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-3/+3
| | | | | | - Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger.
* Added RGBA5551 compatibility in the rasterizerarchshift2015-02-281-0/+1
| | | | This allows Virtual Console games to display properly.
* Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.harchshift2015-02-201-11/+0
|
* Pica/BlendUnit: Implement separate color/alpha blend equations.Tony Wasserka2015-02-181-1/+1
|
* 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/+3
|
* Pica/TextureUnit: Implement mirrored repeating texture wrapping.Tony Wasserka2015-02-181-2/+3
|
* 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-1/+1
|
* Pica/CommandProcessor: Properly implement shader load destination offset registers.Tony Wasserka2015-02-181-2/+6
|
* Add more blend equations from 3dbrewDarius Goad2015-02-101-1/+5
|
* Rasterizer: Implement the other color and alpha modifiers.bunnei2015-02-051-10/+20
|
* Pica: Implement blend factors.bunnei2015-01-311-6/+21
|
* Pica: Implement color/alpha channel enable.bunnei2015-01-281-0/+4
|
* Rasterizer: Implemented alpha testing.bunnei2015-01-271-3/+11
|
* GPU: Implement the remaining depth testing functions.bunnei2015-01-261-3/+8
|
* Pica/Rasterizer: Add ETC1 texture decompression support.Tony Wasserka2015-01-131-2/+2
|
* Pica/Rasterizer: Implement backface culling.Tony Wasserka2014-12-311-1/+15
|
* Pica/Rasterizer: Implement depth testing.Tony Wasserka2014-12-311-0/+1
|
* Pica: Add output merger definitions.Tony Wasserka2014-12-311-1/+56
|
* Pica/CommandProcessor: Add support for integer uniforms.Tony Wasserka2014-12-311-1/+9
|
* Rasterizer: Pre-divide vertex attributes by WYuri Kunde Schlesner2014-12-291-0/+20
| | | | | Execute the division-by-W for perspective-correct interpolation of values in the clipper, moving them out of the rasterization inner loop.
* Merge pull request #322 from chinhodado/masterbunnei2014-12-221-5/+5
|\ | | | | More warning cleanups
| * More warning cleanupsChin2014-12-211-5/+5
| |
* | Merge pull request #291 from purpasmart96/licensebunnei2014-12-211-1/+1
|\ \ | |/ |/| License change
| * License changepurpasmart962014-12-211-1/+1
| |
* | Pica: Add support for boolean uniforms.Tony Wasserka2014-12-201-1/+7
| |
* | Pica/VertexShader: Add support for MOVA, CMP and IFC.Tony Wasserka2014-12-201-0/+8
| |
* | Add support for a ridiculous number of texture formats.Tony Wasserka2014-12-201-6/+16
| |
* | Pica: Unify ugly address translation hacks.Tony Wasserka2014-12-201-8/+17
| |
* | Pica: Further improve Tev emulation.Tony Wasserka2014-12-201-0/+1
| |
* | Pica: Implement texture wrapping.Tony Wasserka2014-12-201-1/+11
| |
* | Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats.Tony Wasserka2014-12-201-0/+2
| |
* | Pica: Initial support for multitexturing.Tony Wasserka2014-12-201-5/+35
|/
* MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.bunnei2014-12-121-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).
* GSP: Trigger GPU interrupts at more accurate locations.bunnei2014-12-101-1/+9
|
* Pica: Re-enable command names on MSVC.Tony Wasserka2014-12-091-5/+0
| | | | The affected code is no longer limited by compiler support on that platform.
* More coding style fixes.Tony Wasserka2014-12-091-6/+12
|
* citra_qt: Add enhanced texture debugging widgets.Tony Wasserka2014-12-091-1/+14
| | | | 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.
* Build fix for something which shouldn't have compiled successfully to begin with.Tony Wasserka2014-12-091-1/+1
|
* Fix warnings in video_coreLioncash2014-10-081-1/+1
|
* Core: Fix warnings in gpu.cppLioncash2014-09-141-1/+1
|
* Pica/Rasterizer: Add texturing support.Tony Wasserka2014-08-251-1/+4
|
* Pica/Rasterizer: Add initial implementation of texture combiners.Tony Wasserka2014-08-251-1/+104
|
* Pica: Add support for dumping textures.Tony Wasserka2014-08-251-1/+44
|
* Pica: Add debug utilities for dumping shaders.Tony Wasserka2014-08-251-1/+1
|
* float24: Remove private default constructorarchshift2014-08-131-2/+0
| | | | Fixes building with clang.
* Pica: Add basic rasterizer.Tony Wasserka2014-08-121-1/+51
|
* Pica: Add triangle clipper.Tony Wasserka2014-08-121-2/+20
|
* Pica: Add primitive assembly stage.Tony Wasserka2014-08-121-1/+14
|
* Pica: Add vertex shader implementation.Tony Wasserka2014-08-121-5/+132
|
* Pica: Implement vertex loading.Tony Wasserka2014-08-121-7/+22
|
* Pica: Add register definition for vertex loading and rendering.Tony Wasserka2014-08-121-33/+128
|
* Pica: Add command processor.Tony Wasserka2014-08-121-0/+2
|
* Pica: Add float24 structure.Tony Wasserka2014-08-121-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.
* Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.Tony Wasserka2014-08-121-1/+1
| | | | | 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 Wasserka2014-08-121-98/+144
| | | | | 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.
* Pica: Use some template magic to define register structures efficiently.Tony Wasserka2014-06-121-25/+102
|
* Further refine GPU command list debugging.Tony Wasserka2014-06-121-0/+16
|
* Refine command list debugging functionality and its qt interface.Tony Wasserka2014-06-121-0/+2
|
* video core: added PICA definitions file.Tony Wasserka2014-06-121-0/+35