Yuri Kunde Schlesner
fbf1aca8f6
Address some review concerns.
2014-08-30 22:36:11 -03:00
Yuri Kunde Schlesner
0e0cccf0e2
[OpenGL] Request a forward compat context in Citra-Qt
...
This should fix it on OS X, which requires this flag. Also requests a
core context on all platforms in Citra-GLFW, for consistency.
2014-08-30 18:21:30 -03:00
Yuri Kunde Schlesner
f1f381aec6
Rework OpenGL renderer.
...
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.
- Attempt to support the LCD framebuffer size registers, under the
assumption that the 3DS hardware does hardware scaling in case they
don't match the physical LCD resolution.
- Vertex coordinates are now given in pixels, and the projection matrix
isn't hardcoded anymore.
2014-08-28 15:37:58 -03:00
Yuri Kunde Schlesner
d90252f92d
Introduce VAddr and PAddr typedefs for ARM addresses.
2014-08-28 15:36:32 -03:00
Yuri Kunde Schlesner
e7719a52cd
Rename GPU::Regs::FramebufferFormat to PixelFormat
...
This name better represents what the enum does, and is less overloaded
in the context. (The whole register the enum is part of is also called
'format'.)
2014-08-28 15:36:31 -03:00
Yuri Kunde Schlesner
7aae063844
[OpenGL] Shuffle initialization code around and rename functions.
2014-08-28 15:36:31 -03:00
Yuri Kunde Schlesner
83973f3ba6
Remove virtual inheritance from RendererOpenGL
...
Also make destructor virtual so that instances are properly destructed.
2014-08-28 15:33:37 -03:00
bunnei
7122c46937
Merge pull request #81 from yuriks/downgrade-shader
...
Downgrade GLSL version to 1.50 (compatible with GL 3.2)
2014-08-28 12:10:40 -04:00
Yuri Kunde Schlesner
9d172ab550
Downgrade GLSL version to 1.50 (compatible with GL 3.2)
2014-08-28 05:38:13 -03:00
bunnei
1a7bbe2569
Merge pull request #79 from bunnei/framebuffer-render-fixes
...
VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.
2014-08-26 18:10:23 -04:00
bunnei
20d169e4a1
VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.
2014-08-26 17:34:52 -04:00
bunnei
fef62d0e54
Merge pull request #74 from kevinhartman/master
...
Initial rewrite of opengl renderer.
2014-08-26 00:03:05 -04:00
Kevin Hartman
cbfd6b6e52
Rewrite of OpenGL renderer, including OS X support
...
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.
2014-08-25 20:56:59 -07:00
bunnei
aa7472057a
Update README.md to correct OS X typo
2014-08-25 19:08:25 -04:00
bunnei
62b621788b
Update README.md
2014-08-25 18:57:47 -04:00
bunnei
97fd8fc38d
Merge pull request #50 from neobrain/pica
...
Further work on Pica emulation
2014-08-25 16:12:10 -04:00
Tony Wasserka
a79644c9ba
Pica/Rasterizer: Clarify a TODO.
2014-08-25 22:03:19 +02:00
Tony Wasserka
697b50c3ff
Pica/VertexShader: Fix a bug in the call stack handling.
2014-08-25 22:03:19 +02:00
Tony Wasserka
b5b3aeb576
Math: Warning fixes.
2014-08-25 22:03:19 +02:00
Tony Wasserka
941762a573
GPU: Fix a compiler warning about redundant semicolons.
2014-08-25 22:03:19 +02:00
Tony Wasserka
2f1c129f64
Pica: Consolidate the primitive assembly code in PrimitiveAssembly and GeometryDumper.
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
34fa0b6d9c
Pica/DebugUtils: Add convenient tev setup printer.
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
c4691b784b
Pica: Add support for dumping textures.
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
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
Tony Wasserka
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
Tony Wasserka
0465adf206
Pica/CommandProcessor: Implement parameter masking.
2014-08-25 22:03:18 +02:00
Tony Wasserka
f37e39deb9
Pica: Add debug utilities for dumping shaders.
2014-08-25 22:03:18 +02:00
Tony Wasserka
6ea003c7b5
Pica: Add debug utility functions for dumping geometry data.
2014-08-25 22:03:18 +02:00
Tony Wasserka
14b24a75b3
GSP: Update framebuffer information when necessary.
2014-08-25 22:03:18 +02:00
Tony Wasserka
590c206ac8
GSP: Implement SetBufferSwap.
2014-08-25 22:03:18 +02:00
Tony Wasserka
e832bbe554
GSP: Add a helper function for convenience.
2014-08-25 22:02:33 +02:00
bunnei
613b0a8df8
Merge pull request #75 from xsacha/qt5
...
Fix threading for Qt5.
2014-08-24 22:25:35 -04:00
Sacha
1b1205cf73
Pass format to the QGLWidget and use atomic instead of mutex.
2014-08-25 03:42:52 +10:00
Sacha
b044510fa9
Fix EmuThread loop by ensuring it exits properly.
...
Note: There is a pre-existing issue with booting a new game in that it keeps the old EmuThread.
The GL code now supports this but the Core still doesn't.
2014-08-25 01:49:34 +10:00
Sacha
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
bunnei
fab2f28ea5
Merge pull request #73 from yuriks/remove-docs
...
Remove documentation for external modules.
2014-08-23 22:12:59 -04:00
Yuri Kunde Schlesner
04d53629db
Remove documentation for external modules.
...
We don't need these and they clutter up the repository.
2014-08-23 11:48:58 -03:00
bunnei
0ffc966e42
Merge pull request #68 from archshift/readfile
...
Added FS functions to Archive and Archive_RomFS
2014-08-22 18:50:00 -04:00
archshift
4c4a01bf41
Added FS functions to Archive and Archive_RomFS
2014-08-22 15:45:10 -07:00
bunnei
c3c66ad34d
Merge pull request #46 from archshift/citrah
...
Removed unused citra.h
2014-08-21 18:27:54 -04:00
bunnei
59d512484a
Merge pull request #58 from lioncash/clamp
...
Common: Add a clamp function to math_utils.h
2014-08-21 11:31:43 -04:00
bunnei
c9add2e4b2
Merge pull request #64 from linkmauve/master
...
ARM: Remove a forgotten const in vfp.
2014-08-21 11:30:29 -04:00
Emmanuel Gil Peyrot
ef27770a53
ARM: Remove a forgotten const in vfp.
2014-08-20 17:50:27 +00:00
bunnei
2386764756
Merge pull request #62 from archshift/revert-49-redundantloop
...
Revert "Removed redundant loop in EmuThread::run()"
2014-08-20 13:27:05 -04:00
archshift
d93dc81953
Revert "Removed redundant loop in EmuThread::run()"
2014-08-20 10:15:12 -07:00
archshift
80c4d7bf48
Removed unused citra.h
2014-08-19 22:22:12 -07:00
bunnei
bc64261d29
Merge pull request #60 from xsacha/qt5
...
Use Qt5 by default for citra-qt project.
2014-08-19 19:08:01 -04:00