Commit Graph

46 Commits

Author SHA1 Message Date
e795692614 Clean up some warnings 2014-12-20 10:03:36 -05:00
0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02:00
8a62423970 Change NULLs to nullptrs. 2014-12-03 12:57:57 -06:00
63b1453dd8 Merge pull request #236 from rohit-n/sign-compare
Silence a few -Wsign-compare warnings.
2014-12-03 10:04:47 -05:00
f9b53c3e94 Silence a few -Wsign-compare warnings. 2014-11-30 22:29:23 -06:00
95b33ee0a7 Fixed viewport error caused by rounding 2014-11-30 09:53:50 -08:00
739bb58c3a Remove tabs in all files except in skyeye imports and in generated GL code 2014-11-19 09:04:03 +00:00
c5c6e095f0 OpenGL Renderer: Cleanup viewport extent calculation. 2014-11-18 13:09:01 +01:00
bd8f491e4c Fixup EmuWindow interface and implementations thereof. 2014-11-18 13:09:01 +01:00
221a9b023d Viewport scaling and display density independence
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.
2014-11-18 13:06:05 +01:00
d72708c1f5 Add override keyword through the code.
This was automated using `clang-modernize`.
2014-10-26 16:18:05 -02:00
15c59f3974 Only check OpenGL shader log if size is >1.
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.
2014-10-21 16:07:39 -02:00
11642fd3a2 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.
 - Vertex coordinates are now given in pixels, and the projection matrix
   isn't hardcoded anymore.
2014-10-12 14:38:53 +02:00
5f598a5e2c OpenGL renderer: Shuffle initialization code around and rename functions. 2014-10-12 14:37:24 +02:00
787a1b047c Remove virtual inheritance from RendererOpenGL
Also make destructor virtual so that instances are properly destructed.
2014-10-12 14:37:24 +02:00
5481115e71 Merge pull request #97 from archshift/cleanup
Small, general code cleanup
2014-09-13 22:58:58 -04:00
8fe5f2e2fe Moved common_types::Rect from common to Common namespace 2014-09-08 15:43:36 -07:00
81baa477b5 renderer_opengl.cpp: improved alignment for readability 2014-09-07 12:09:02 -07:00
478289140d Replace GLEW with a glLoadGen loader.
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.
2014-09-01 17:41:56 -03:00
9d172ab550 Downgrade GLSL version to 1.50 (compatible with GL 3.2) 2014-08-28 05:38:13 -03:00
20d169e4a1 VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size. 2014-08-26 17:34:52 -04:00
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
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
9fd2537e93 Use uniform formatting when printing hexadecimal numbers. 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
1dfa392824 Rename LCD to GPU. 2014-06-12 06:10:49 -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
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
948cfe6d37 Reverse debugging changes 2014-04-30 20:00:44 -07:00
fb47258af7 TGA dumps work, courtesy of @bunnei 2014-04-30 18:34:49 -07:00
48deb45624 Xcode complains that the class name is redundant. 2014-04-27 22:23:01 -07:00
ff48c8bed3 Rect to BasicRect
Somewhere along the line an OSX header had already taken the name Rect.
2014-04-27 22:21:46 -07:00
a48c6b947d removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class 2014-04-27 18:29:51 -04:00
1142ccba03 fixed renderer to use correct framebuffer location 2014-04-27 12:42:01 -04:00
7a080551ac fixed GL context acquire (applies to Qt GUI only) 2014-04-21 22:00:32 -04:00
70c2cce963 renamed hw_lcd module to just lcd 2014-04-17 23:48:23 -04:00
9d5a561c1b fixed framebuffer color order 2014-04-17 17:47:34 -04:00
d4411acfd0 removed hard-coded framebuffer addresses from renderer_opengl.cpp 2014-04-16 21:30:10 -04:00
de0a034a84 fixed project includes to use new directory structure 2014-04-08 20:15:08 -04:00
63e46abdb8 got rid of 'src' folders in each sub-project 2014-04-08 19:25:03 -04:00