34fa0b6d9c
Pica/DebugUtils: Add convenient tev setup printer.
2014-08-25 22:03:18 +02:00
27cab6477e
Pica/Rasterizer: Add initial implementation of texture combiners.
2014-08-25 22:03:18 +02:00
c4691b784b
Pica: Add support for dumping textures.
2014-08-25 22:03:18 +02:00
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
62c36a4ef0
Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers.
2014-08-25 22:03:18 +02:00
26ade98411
Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.
2014-08-25 22:03:18 +02:00
0465adf206
Pica/CommandProcessor: Implement parameter masking.
2014-08-25 22:03:18 +02:00
f37e39deb9
Pica: Add debug utilities for dumping shaders.
2014-08-25 22:03:18 +02:00
6ea003c7b5
Pica: Add debug utility functions for dumping geometry data.
2014-08-25 22:03:18 +02:00
a3a70e56ac
Fix the threading for GL Context in Qt5.
...
Connect the emu_thread start/finish to a moveContext slot.
2014-08-25 00:47:00 +10:00
388356f629
Merge pull request #42 from archshift/glexp
...
Use glewExperimental to fix crashes with citra-glfw
2014-08-13 13:10:45 -04:00
662a1993e6
float24: Remove private default constructor
...
Fixes building with clang.
2014-08-13 02:54:16 -07:00
d71af1bd20
Use glewExperimental on Linux in order to fix GLFW-mode
2014-08-12 13:42:04 -07:00
94d742fe17
Pica: Add basic rasterizer.
2014-08-12 13:50:07 +02:00
94aa9da562
Pica: Add triangle clipper.
2014-08-12 13:49:33 +02:00
9a76a2d061
Pica: Add primitive assembly stage.
2014-08-12 13:48:56 +02:00
c526512619
Pica: Add vertex shader implementation.
2014-08-12 13:48:10 +02:00
d443f0a921
Pica: Implement vertex loading.
2014-08-12 13:47:31 +02:00
1a43f69477
Pica: Add register definition for vertex loading and rendering.
2014-08-12 13:47:31 +02:00
76a586de49
Pica: Add command processor.
2014-08-12 13:47:30 +02:00
98ad16a45b
Pica: Add float24 structure.
...
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.
2014-08-12 13:46:24 +02:00
8528c810cf
Video core: Add utility class for vector operations.
...
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.
2014-08-12 13:46:20 +02:00
7b6a7d7dfb
Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.
...
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.
2014-08-12 13:32:56 +02:00
9c781a6c76
Remove the fancy RegisterSet class introduced in 4c2bff61e
.
...
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.
2014-08-12 02:17:21 +02:00
4e9f305ed2
GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.
...
- Various other cleanups.
2014-08-05 23:58:00 -04:00
9fd2537e93
Use uniform formatting when printing hexadecimal numbers.
2014-07-23 00:44:31 +02:00
9b0d0c81a0
GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.
...
Anonymous structs are not standard C++, hence don't use them.
2014-07-23 00:44:31 +02:00
246cb75584
RegisterSet: Simplify code by using structs for register definition instead of unions.
2014-07-23 00:33:08 +02:00
75775e9ef4
GPU: Make use of RegisterSet.
2014-07-23 00:33:08 +02:00
c6fdeb7b23
Renderer: Fix component order in bottom framebuffer.
2014-07-23 00:33:08 +02:00
cb6f97b2eb
Renderer: Respect the active_fb GPU register.
2014-07-23 00:33:08 +02:00
9b96407e8e
Renderer: Add a few TODOs.
2014-07-23 00:33:08 +02:00
a4d89edd9b
GPU debugger: Don't keep track of debugging data if no debugger views are active.
2014-07-22 22:27:27 +02:00
c34ba38001
GPU debugger: Const correctness and build fix.
2014-06-12 06:10:56 -04:00
ee4717aaae
Preprocessor: #if's out OSX-specific GL changes on other platforms
2014-06-12 06:10:55 -04:00
4c2bff61e5
Pica: Use some template magic to define register structures efficiently.
2014-06-12 06:10:54 -04:00
f82410e633
Further refine GPU command list debugging.
2014-06-12 06:10:53 -04:00
b0051b2203
Refine command list debugging functionality and its qt interface.
2014-06-12 06:10:52 -04:00
6893732348
citra-qt: Add command list view.
2014-06-12 06:10:52 -04:00
5d62f5d92a
GPU debugger: Add functionality to inspect command lists.
2014-06-12 06:10:51 -04:00
50b2b73be4
video core: added PICA definitions file.
2014-06-12 06:10:51 -04:00
1dfa392824
Rename LCD to GPU.
2014-06-12 06:10:49 -04:00
31666632ca
Add initial graphics debugger interface.
2014-06-12 06:10:48 -04:00
5a8ed196e6
common_types: Changed BasicRect back to Rect, in the common namespace
...
Only Rect is in the namespace for now; the rest of common should be added in the future
2014-05-19 17:57:35 -07:00
034e3aabc8
Improved clarity and whitespace
...
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.
2014-05-19 15:21:55 -07:00
403e4bf837
CMakeLists: rename HEADS, improved comments
...
Changes for clarity of comments, removed redundant compiler flags.
2014-05-19 15:19:36 -07:00
71b8789803
Indent fixes
2014-05-19 13:51:59 -07:00
b8c8d0903e
Merge remote-tracking branch 'upstream/master' into issue-7-fix
2014-05-16 23:21:03 -07:00
e1fcb2fdfb
Update FlipFramebuffer
...
Less calculations + fix
2014-05-08 18:05:30 +02:00
704075f04a
Fixed indents
2014-04-30 20:13:28 -07:00