Commit graph

28 commits

Author SHA1 Message Date
Michael Yu
3aeb0b0f95 cellPngDecDecodeData handles CELL_PNGDEC_ARGB case much faster.
Profiling done with two samples on Solar v2.1 from rpcs3 init to first frame.
Before optimization, profiler found rpcs3 in cellPngDecDecodeData 15.3% of the time.
Post-optimization, profiler finds rpcs3 in cellPngDecDecodeData 0.33% of the time for ~50x improvement.
2014-05-19 02:23:23 -07:00
Unknown W. Brackets
fed2998d48 cellPngDec: Ignore bytesPerLine < width * bpp.
It seems strange, but Sonic CD passes bytesPerLine = w * 3 for a 4 channel
image.  Either this is a bug elsewhere, or it ignores likely incorrect
strides.

Untested except in Sonic CD.
2014-05-17 22:32:11 -07:00
Unknown W. Brackets
f7114cc620 cellPngDec: fix outputMode, outputBytesPerLine.
This handles CELL_PNGDEC_BOTTOM_TO_TOP and also handles reduced
outputBytesPerLine more correctly-looking.  Not actually tested against
actual behavior.
2014-05-17 09:21:25 -07:00
raven02
86ca4819ee Fix ternary operator 2014-05-16 22:43:32 +08:00
Unknown W. Brackets
2fdefc4fb5 Fix some int/ptr comparisons. 2014-04-28 07:43:06 -07:00
Bigpet
eea3aa9729 This is squashed commit from the follwing commits:
* various changes to make it compile with clang

* don't compile recompiler on linux yet but make the CMake build include asmjit already

* add experimental travis bot

* modify yml to match

* try to build and install wxWidgets, since it's not in the travis repo

* use newer cmake version for travis

* add keys with sudo

* use sudo for all apt- commands

* Add additional dependencies

* use version approriate gcc flags for c++11

* try clang, gcc too old

* set c++0x flag for clang

* use gcc 4.8

* use gcc 4.8 and add the repo for it

* use gcc 4.8 even for clang to get newer headers

* fix ambiguous conversions

* add lz from hykem and more explicit conversions from be for x86

* more switch disambiguation

* more switch disambiguation

* add additional unigned int casts to deal with be_t conversion ambiguity

* remove unnecessary clang flag

* add lz.cpp to vcxproj and cast to u32 instead of unsigned int

* correct temporaray #ifdefs
2014-04-27 00:41:46 +02:00
Bigpet
25c3aa8e19 fixes to get llvm to compile (excepti for utils.cpp, that'll get fixed
later)

Eradicate the Array almost everywhere, some usages like Stack still
remains
2014-04-12 12:06:52 +02:00
lioncash
d0c9d7c0ae Use spaces for vertical alignment 2014-04-04 09:25:38 -04:00
Lioncash
9d0dd4c7cf Add a parameter check to some Gif/Jpg/Png decoding syscalls 2014-04-02 22:02:43 -04:00
Alexandro Sánchez Bach
81cdaa883a cellPngDec fixes and some rewritings
* This commit solves the cellPngDec GetMemFromAddr(0x0) error when
loading PNGs from files.
* cellVideoOutGetResolution, cellRtc* syscalls rewritten to use the use
the mem*_t data types.
* Replaced int/uint with s32/u32 in some syscall arguments and structs.
2014-04-02 19:53:44 +02:00
Ben Anderson
33f7f37ca7 Fixes null ptr in gcc, probably to do with operator precedence. @Bigpet was all over this one. 2014-03-30 03:21:41 +13:00
Peter Tissen
3871134a49 respect the outputBytesPerLine parameter if it's longer than the natural length of the PNG file 2014-03-07 04:15:56 +01:00
Nekotekina
8b952bf98c memcpy partially replaced
Fixed one of exit issues
2014-02-26 18:06:13 +04:00
Alexandro Sánchez Bach
e7a721a1fb Merge pull request #46 from krofna 2014-02-21 17:13:57 +01:00
DH
ab41540064 Improved ID manager.
Improved MemoryBlock.
2014-01-19 05:14:11 +02:00
Alexandro Sánchez Bach
aa9b0d0a31 RSX Debugger, Mem. Viewer and module improvements
* Small cleanup in cellJpgDec and cellPngDec.
* cellPamf added to the project and a few test lines added to
cellPamfGetHeaderSize(2).
* Improved speed of the Raw Image Preview on the the Memory Viewer.
* Now you can click on the shown buffers / textures in the RSX Debugger
in order to see them in full size. More settings added to the tabs.
* Fixed cellFsStat in order to fix the crash aused by opening
directiories. The solution is really *really* ugly. Once vfsDir is
ready, I will replace it with something better.
2014-01-05 00:45:44 +01:00
DH
b500fcbaed Fixed ELF64 loader.
Fixed cellPadGetInfo.
Fixed cellFsOpen path encoding.
Draft implementation of cellAudioGetPortConfig.
Implemented STBUX, STHUX, STWUX.
Improved Boot (S)ELF / Install PKG UI.
2013-12-24 05:58:32 +02:00
DH
28a5d1bcab Fixed conflicts. 2013-11-28 14:27:04 +02:00
Mislav Blažević
d8bd34b57e Start porting to GNU compiler 2013-11-23 23:27:58 +01:00
DH
9d5b13839b - Fixed OpenGL renderer LoadVertexArray & DrawArray.
- Improved SPU SCs.
- Renamed mem_ptr_t -> mem_list_ptr_t, mem_struct_ptr_t -> mem_ptr_t.
2013-11-19 23:10:23 +02:00
DH
dd48f827c3 - Implemented be_t, mem_struct_ptr_t, vfsFile.
- Improved sys_fs, cellPngDec, cellJpgDec, cellGifDec modules.
2013-10-06 15:07:42 +03:00
Alexandro Sánchez Bach
1a85ccbbf4 Improved image dec. modules & New dummy modules
* Improved image decoding modules:
- Fixed error that appeared after last commit (eebe859f83).
- Changed some functions to use the mem*_t classes.
- Implemented cell*DecSetParameter.

* Created new dummy modules for sys_net (0x0000), sys_http (0x0001),
cellHttpUtil (0x0002) and cellSsl (0x0003).
2013-09-25 15:43:55 +02:00
Alexandro Sánchez Bach
a11de0f607 Improved image decoding modules
* Huge improvement in the speed of cell{Png|Gif|Jpg}DecDecodeData when
reading input files.

Note: Sorry if this commit is too "small", but I need to sync every
change since I use two PCs.
2013-09-19 23:40:43 +02:00
Alexandro Sánchez Bach
b85d39bfc3 Minor issues fixed
*Memory leak in image decodification modules.

*Changed mouse wheel delta value.
2013-09-14 22:47:59 +02:00
Alexandro Sánchez Bach
1b7302c0ba Keybord support improved
*Improved Keyboard:
- Fixed crash when using Null keyboard handler
- Added support for meta keys
- Added support for {caps, num, scroll} lock.

*Small issues fixed in previous module:
- cellGifDec: Fixed wrong information of packet field in
cellGifDecReadHeader.
- cellGifDec: Set DataOutInfo.recordType as 1 since the output is always
an image.
- cellJpgDec: Set colorSpace as 3, until a better function is
implemented.
- cellJpgDec, cellPngDec: Added RGBA support.

*Changed layout of "Config > Settings" menu.
2013-09-13 19:29:54 +02:00
Alexandro Sánchez Bach
aea7f4aa77 cellGifDec Module Added
*Implemented 'cellGifDec', using 'sys_fs' to access the files and the
'stb_image' (stblib) library to decode GIF buffers to Raw-pixel buffers
that can be used as textures.

*Replace 'lodepng' and 'jpeg-compressor' libraries with 'stb_image' in
cellPngDec and cellJpgDec, respectively.

*Fixed minor issues in cellPngDec and cellJpgDec.
2013-09-10 15:17:02 +02:00
Alexandro Sánchez Bach
0275b430cf cellJpgDec Module Added
*Replaced "sys_jpgdec" with "cellJpgDec" in
"rpcs3\Emu\SysCalls\Modules.cpp".
*Implemented 'cellJpgDec', using 'sys_fs' to access the files and the
'jpg-compressor' (jpgd) library to decode JPG buffers to Raw-pixel
buffers that can be
used as textures.
*Fixed memory leak issue in cellPngDec and minor changes.
2013-09-09 18:27:31 +02:00
Alexandro Sánchez Bach
3123432dcc cellPngDec Module Added
Implemented 'cellPngDec', using 'sys_fs' to access the files and the
'lodepng' library to decode PNG buffers to Raw-pixel buffers that can be
used as textures.
2013-09-08 10:45:10 +02:00