Commit graph

77 commits

Author SHA1 Message Date
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Orgad Shaneh
ce5b27f82f TINYGL: Implement a real operator=
With logic similar to the copy ctor.
2021-03-15 13:25:01 +00:00
D G Turner
7beaae25ba TINYGL: Fix Compilation with pre-C++-11 Compilers 2021-03-13 19:42:56 +00:00
D G Turner
4a5e96ce6f TINYGL: Fix GCC Warning for Implicit Copy Operator
This is emitted when -Wdeprecated-copy is enabled. The fix implemented
is to explicitly declare this to be the default copy operator.

Since this may be a latent bug, this is marked with a FIXME.
2021-03-13 11:28:46 +00:00
Pawel Kolodziejski
27e12d8a96 ALL: Eliminate LOCAL_PI macro 2020-09-23 23:20:23 +02:00
Vincent Pelletier
009d3320b3 TINYGL: Compute surface pixel count once only in BlitImage::loadData
Cartesian coordinates are not actually needed here, so simplify
computations by just using a pixel offset.
2017-05-15 10:31:25 +00:00
Vincent Pelletier
eeedf4de06 TINYGL: Deduplicate PixelFormat retrieval in zblit
For some reason, loadData hardcodes a pixel format.
At least avoid duplicating it in Line constructor.
Likewise, avoid duplicating access to framebuffer's pixel format when
constructing a Line from another.
Also, avoid over-allocating Line, as its size argument is counted in pixel,
not in bytes.
2017-05-01 08:34:53 +00:00
Vincent Pelletier
bf319b5437 TINYGL: Cache and clip dirty rect on all DrawCall subclasses.
getDirtyRegion will be called twice on each DrawCall instance, so make
repeated work as short as possible.
2017-04-23 12:30:00 +00:00
Vincent Pelletier
50c5aef6e5 Revert "TINYGL: Reuse renderRect instead of accessing fb size."
This reverts commit ec418a9769.
2017-04-23 12:25:58 +00:00
Vincent Pelletier
ec418a9769 TINYGL: Reuse renderRect instead of accessing fb size. 2017-04-23 12:03:52 +00:00
Vincent Pelletier
6087492dbd TINYGL: Simplify setting & disabling scissors. 2017-04-23 10:35:04 +00:00
Vincent Pelletier
e1de3407f1 TINYGL: Make scissors follow Common::Rect semantics.
As per Common::Rect data model, right and bottom border are excluded, so:
- Make FrameBuffer::scissorPixel reject bottom & right borders.
- Update bounding rectangle definition for dirty rectangle operations
  ClearBufferDrawCall::getDirtyRegion is already correct.
- zblit was almost following, except for an off-by-one mistake.
2017-04-23 10:35:04 +00:00
Vincent Pelletier
112ca82363 TINYGL: Manage BlitImages with a refcount.
So that zdirtyrect can keep an image alive for longer than its creator
intended.
2016-07-28 23:32:43 +00:00
Vincent Pelletier
7c1a15c6e8 TINYGL: Expect colorKey in the same pixel format as surface.
So caller does not have to depend on the pixel format used internally to
BlitImage.
Update callers which do request for color keying (GRIM/EMI only).
Also, remove a special-casing of transparent color when converting image
format which sets a color in a packed format independent from actual
destination format.
Also, in GfxTinyGL::createTextObject, prefer changing invisible colorKey
value than actually-visible color.
2016-07-21 16:17:32 +02:00
Stefano Musumeci
5bd0a864f5 TINYGL: Fixed line breaks. 2014-08-16 16:04:16 +02:00
Stefano Musumeci
41737fcc21 TINYGL: Added/Updated license header in tinyGL files. 2014-08-16 16:03:54 +02:00
Stefano Musumeci
0be18788db TINYGL: Minor formatting fixes. 2014-08-13 21:21:09 +02:00
Stefano Musumeci
2c8f2ecd0b TINYGL: Moved some variables from public to private access. 2014-08-13 21:13:50 +02:00
Stefano Musumeci
e58c1361fe TINYGL: Added const modifier to const variables. 2014-08-13 21:11:35 +02:00
Stefano Musumeci
6c83f83b6c TINYGL: Fixed line breaks. 2014-08-13 21:11:24 +02:00
Stefano Musumeci
a5e91722de TINYGL: moved global variable to GLContext 2014-08-13 21:03:42 +02:00
Stefano Musumeci
7cb1fd7c8b TINYGL: Added default values to Line empty constructor. 2014-08-13 20:51:53 +02:00
Stefano Musumeci
85fdaed682 TINYGL: Added safe check on blit image delete. 2014-08-13 15:38:00 +02:00
Stefano Musumeci
1990876f7a TINYGL: Added some more documentation. 2014-08-11 16:38:52 +02:00
Stefano Musumeci
c64e2884b2 TINYGL: Added some more documentation to blitting code. 2014-08-10 22:02:06 +02:00
Stefano Musumeci
389bcba20d TINYGL: Renamed blit function template parameters with constants naming convention. 2014-08-10 20:29:09 +02:00
Stefano Musumeci
f43d39172b TINYGL: Refactored big complex if else sequence with template function calls. 2014-08-10 20:18:04 +02:00
Stefano Musumeci
d747cad5b2 TINYGL: Improved code commenting. 2014-08-10 20:17:31 +02:00
Stefano Musumeci
5adba756e3 TINYGL: Renamed tglBlitScissorRect into tglBlitSetScissorRect 2014-08-10 19:38:06 +02:00
Stefano Musumeci
bbe0811aea TINYGL: Renamed iterator varaibles from l and r to y and x 2014-08-10 19:35:29 +02:00
Stefano Musumeci
0e4c062f3a TINYGL: Reodered member variables and initialization in BlitImage. 2014-08-10 19:34:47 +02:00
Stefano Musumeci
35a36f7c09 TINYGL: Renamed blit images container with proper class naming convention. 2014-08-09 12:17:40 +02:00
Stefano Musumeci
bd0c813296 TINYGL: Changed blit images container from Array to List 2014-08-09 12:17:11 +02:00
Stefano Musumeci
da01fb30b6 TINYGL: removed commented out 2014-08-07 21:49:36 +02:00
Stefano Musumeci
83626dce94 TINYGL: Fixed code formatting. 2014-08-07 21:49:13 +02:00
Stefano Musumeci
6cd062826b TINYGL: Renamed zrect in zdirty rect 2014-08-07 17:56:01 +02:00
Stefano Musumeci
75ea6893ef TINYGL: renamed glIssueDrawCall to tglIssueDrawCall. 2014-08-07 17:38:11 +02:00
Stefano Musumeci
78aa22180b TINYGL: Fixed a bug with image clipping. 2014-08-05 13:20:18 +02:00
Stefano Musumeci
7bacf3c6b5 TINYGL: Fixed a bug with flipped and clipped blitting 2014-08-05 13:19:57 +02:00
Stefano Musumeci
12f54643f7 TINYGL: Moved a check in a function called less frequently 2014-08-03 22:16:18 +02:00
Stefano Musumeci
dc153a727b TINYGL: Fixed a bug with blit image version not being updated properly. 2014-08-03 20:56:38 +02:00
Stefano Musumeci
e60d5060d1 TINYGL: Fixed a bug with z buffer blitting. 2014-08-02 21:46:07 +02:00
Stefano Musumeci
f6c259684c TINYGL: Added blit image versioning. 2014-08-02 21:44:23 +02:00
Stefano Musumeci
3965d93c1b TINYGL: Implemented clipped bitmap blitting. 2014-08-01 19:45:59 +02:00
Stefano Musumeci
29efd03671 TINYGL: Added an utility function that gives the size of a previously loaded blitImage. 2014-07-27 19:51:16 +02:00
Stefano Musumeci
b5720b425f TINYGL: Added tglBlitZBuffer as a way to render to the Z buffer. 2014-07-25 16:02:24 +02:00
Stefano Musumeci
8d498699b3 TINYGL: Encapsulated draw calls issuing inside a function. 2014-07-25 16:02:21 +02:00
Stefano Musumeci
96167b84c4 TINYGL: Removed duplicated variables.
Explanation: those two variables were already tracked inside the class FrameBuffer and they were duplicated here, since there is no need to keep a copy of those variables I just removed them.
2014-07-25 15:54:07 +02:00
Stefano Musumeci
6fc509bb15 TINYGL: Changed the way textures are disposed.
Textures are now marked as disposed and then cleaned up afterwards when the function cleanup is called. (this is needed in order to defer blit calls without making them crash because a texture has been disposed before the frame ended)
2014-07-23 21:37:45 +02:00
Stefano Musumeci
44b0718f0e TINYGL: Separated dispatch blitting function from execution one.
This is needed to allow a deferred blit call.
2014-07-23 15:29:21 +02:00