Commit graph

3994 commits

Author SHA1 Message Date
Nekotekina e6bd91ada0 id_manager: embedded RTTI 2016-08-01 12:51:47 +03:00
Nekotekina e585939ac2 id_manager::id_key implemented 2016-08-01 01:35:53 +03:00
Nekotekina 3576e13e9a emucore.vcxproj fix 2016-08-01 01:35:37 +03:00
Vincent Lejeune 9e7902455d rsx: Fix warning because of unused arguments 2016-07-31 19:19:21 +02:00
Nekotekina 68cf570b58 Implemented rsx::invalid_method 2016-07-31 18:16:51 +03:00
Nekotekina 1c69eb2b73 rsx_method_t extended
rsx_methods.cpp cleanup
2016-07-31 18:16:49 +03:00
Nekotekina 6a9f3040e1 rsx_methods.cpp fix 2016-07-31 18:16:48 +03:00
Vincent Lejeune 22a89a272e Move all gcm enums into separate header/cpp. 2016-07-31 17:04:30 +02:00
Vincent Lejeune 4c46bde315 rsx: Inline rsx_state and texture constructors. 2016-07-31 16:48:09 +02:00
Nekotekina 0578430fd0 XAudio2 version priority 2016-07-30 20:25:46 +03:00
Vincent Lejeune b9f4c15ec0 vm: Add missing headers.
vm.h relies on memory (std::shared_ptr) and functionnal (std::function).
2016-07-30 18:39:26 +02:00
Vincent Lejeune 15500d4ee9 rsx: implement serialization of rsx states. 2016-07-30 18:39:26 +02:00
Vincent Lejeune 2528fc4555 Add cereal dependency 2016-07-30 18:39:26 +02:00
Nekotekina f8719c1230 PPUThread refactoring
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
kd-11 33c59fa51b vk: optionally center/offset images when scaling (#1998) 2016-07-30 10:07:39 +08:00
Vincent Lejeune ac771f951d rsx: Copy state in capture frame call 2016-07-27 20:20:35 +02:00
Vincent Lejeune 8b12379eb3 rsx: Use bitfield template to decode values. 2016-07-27 18:38:36 +02:00
jypem 2064f1cb80 Handle error when loading game icon (#1687) 2016-07-26 14:39:12 +03:00
Lena e377199e41 Ensure the 'shaderlog' directory exists (#1986)
Should fix #1984
2016-07-26 00:15:14 +03:00
Nekotekina a8f977ed9e XAudio 2.8 test fix 2016-07-25 19:30:21 +03:00
Nekotekina 44bee7d0ba LLVM: Use small code model
Global variables modified:
__mptr: pointer to memory base addr
__cptr: pointer to function map addr

Use 32 bit pointers in function map
2016-07-25 18:26:02 +03:00
raven02 1672c93a2d Revert "Audio : allow XAudio2 to run its own thread" (#1988) 2016-07-25 09:09:14 +08:00
raven02 2a3029a62c PPU: register undocumented functions in cellSysmodule (#1987) 2016-07-25 08:43:02 +08:00
raven02 53b2e19d96 Audio : allow XAudio2 to run its own thread (#1980) 2016-07-25 08:25:02 +08:00
Nekotekina 5c9f83c3a8 PPU LLVM: New "stack" strategy
Minor pessimization: all memory accesses are volatile
Special handling of prologues and epilogues
Minor optimizing assumption for SP
2016-07-24 21:47:45 +03:00
Nekotekina 712c04b2ad PPU Analyser update
WIP, nothing changed
2016-07-24 21:06:10 +03:00
Nekotekina 39dadad534 PPU executable memory protection
Experimental commit, not improved for PRX
Also fixed minor bug in PRX loader
2016-07-24 21:06:09 +03:00
Nekotekina a026d35c97 sys_interrupt_thread_eoi fixed
thread_ctrl::interrupt improved
BIND_FUNC improved: preparations
2016-07-24 21:06:07 +03:00
Nekotekina 7ccdea7822 Removed std::enable_shared_from_this
Minor ID manager refactoring
2016-07-24 21:06:05 +03:00
kd-11 09ae45c566 vk: Conform to current spec (#1981)
* vk: define rtt images with transfer_dst set

* vk: Bind a buffer view for attribs with undefined data

* vk: Properly define renderpass clip region to fit the framebuffer

* vk: respect type bits from returned memory requirements
2016-07-25 00:28:49 +08:00
Nekotekina deeb4acbe5 Partial revert of 6ae54ae27b 2016-07-22 19:26:58 +03:00
Nekotekina 5eb98b745f cellVdec fixed (requires LLE dmux)
Basic MPEG2 support
2016-07-22 18:29:05 +03:00
kd-11 74fec275c7 gl: Clear depth surfaces before use; Vulkan cleanup (#1957)
* vk: Clean up a few trap messages

vk: silence a few compile errors

* gl: Clear new depth surfaces to max_depth

gl: use glClear to clear depth buffers
2016-07-22 07:31:58 +08:00
Nekotekina a0c0df6e9d Dynamic XAudio version detection 2016-07-21 17:46:46 +03:00
raven02 0ae8cc4467 D3D12: revert heap size back to 896M (#1960)
* D3D12: revert heap size back to 896M

* Update D3D12GSRender.h
2016-07-21 14:50:06 +08:00
raven02 f36f478281 vk: refactor compare_op (#1959) 2016-07-21 13:35:06 +08:00
Nekotekina 0227c03366 GUI logging improved
logs::listener resurrected
rpcs3 version: constexpr
2016-07-21 01:54:39 +03:00
raven02 8157e7cac8 Obsolete 3D monitor (#1955) 2016-07-20 23:45:26 +08:00
Nekotekina ae634bb87e RSX exception fix
VBlank thread management fix
2016-07-20 15:16:19 +03:00
Vincent Lejeune e9bee80f4b rsx: Use register_decoder for vertex attributes. 2016-07-19 20:28:32 +02:00
kd-11 854bc1db60 dx12: simplify constant color blend equation/algorithm checks 2016-07-19 19:20:57 +03:00
kd-11 d3837de571 dx12: Constant color/alpha blending 2016-07-19 19:20:57 +03:00
raven02 e1ff3f4674 rsx: use fragment_textures_count (#1948)
* rsx:  use fragment_textures_count

* Typo: unknow -> unknown
2016-07-19 22:50:40 +08:00
Nekotekina ceb4cb59ac Typo fix: comparaison->comparison 2016-07-19 14:17:25 +03:00
Nekotekina fc9fdca3f6 Make TLS great again
And clean System.h a bit
2016-07-19 14:06:39 +03:00
raven02 6296453ef3 D3D12: inline stencil test as GL and Vulkan backend (#1945) 2016-07-19 16:52:14 +08:00
Nekotekina 04926374f7 PKG installer fix 2016-07-18 21:28:58 +03:00
raven02 7ac9d3b679 D3D12/Vulkan : swizzle texture format G8B8 (#1931)
* D3D12: swizzle texture format G8B8

* Vulkan: swizzle texture format G8B8
2016-07-18 20:16:11 +08:00
kd-11 2e5b01faca vk: Fix vertex winding (#1934)
* vk: do not flip face winding based on shader origin

* vk: disable face culling
2016-07-17 22:55:59 +03:00
kd-11 2337bf204c vk/dx12: Enable/fix separate back and front lighting (#1927)
* vk: separate specular color

rsx: separate front color output from back color output

re-enable front-back diffuse lighting

vk: fix front face selection and actually enable face culling

* dx12: Hide constant-key blended visuals (by common use of factor, 1-factor)

* dx12: Fix 2 sided lighting when the shader does not compute both outputs

* vk/dx12: confirm that src register exists before copying for 2-sided lighting
2016-07-18 00:57:50 +08:00
Vincent Lejeune c6ed5a8e6b gl: Fix direct call to rsx::method_registers array. 2016-07-17 17:31:53 +02:00
Vincent Lejeune d97cdb9fbf rsx: Gather most rsx commands pretty printing and state modification function in a single file.
rsx_decode.h implements a "rsx_decoders" template class that is specialized for most GCM command
found in rsx command buffer. 3 static members are defined : a "decode" function that turns command
value into a more meaninfull type if applicable (for instance bool for _enabled* command, surface
formats for set_surface_format command...), a "commit_rsx_state" that modifies a given rsx_state
structure when the command is parsed, and a "dump" function used in rsx_debugger for pretty printing.
Hopefully having the 3 functions in a single place for every command will act as a self documenting
list of rsx command buffer opcode.

rsx_state is also expanded into several explicit variables instead of being stored into a u32 array.
This should makes debugging easier (Visual Studio will display the exact value of these member for instance)
as well as preparing rsx_state for serialisation/deserialisation.

The vertex array and textures opcode are not concerned atm for bisecting purpose.
2016-07-17 17:31:53 +02:00
Nekotekina 692d9dd4ae NV0039_OFFSET_IN fix 2016-07-17 15:03:13 +03:00
Nekotekina 438e057dc8 Partial commit: sys_fs 2016-07-17 02:27:52 +03:00
Nekotekina 96728a83f6 Partial commit: sys_memory, sys_mmapper 2016-07-16 14:46:01 +03:00
Nekotekina f5e65e4ad9 Partial commit: sys_tty 2016-07-16 14:45:59 +03:00
Nekotekina c95f6c8c56 Partial commit: sys_vm 2016-07-16 14:45:58 +03:00
Nekotekina 73c2115968 BEType: explicit alignment specifier 2016-07-16 14:45:57 +03:00
raven02 2085d318bb rsx: typo fix (#1921) 2016-07-15 20:19:15 +03:00
Nekotekina c77dec6d6a PPU Analyser improved
Fix for old homebrews
2016-07-15 13:42:22 +03:00
AnnieL dc34d5b350 cell: add several error (return) codes and definitions (#1914)
* cellHttp: add error codes

Adds error codes for cellHttp and cellHttps

* libDaisy: adds error codes and definitions

Adds error codes, assertations and definitions for cellDaisy.

* cellHttpUtil: add error codes

Adds error codes for cellHttpUtil.

* cellCelp8Enc: moves error codes, adds definitions

Moves error codes to cellCelp8Enc.h, adds some definitions.

* cellCelpEnc: moves error codes, adds definitions

* cellJpgEnc: adds error codes and definitions

Moves the existant error codes to cellJpgEnc.h and adds more error codes
/ definitions.

* cellVoice: moves error codes, adds definitions

Moves error codes to cellVoice.h, adds most cellVoice definitions

* Fix typos
2016-07-15 00:02:07 +03:00
AnnieL ca835ba68a cellGame: unknown category temporary fix (hack) (#1909)
All the games I've been trying to load from outside RPCS3's bin directory are returning me empty directories
```
{PPU[0x3] Thread (main_thread) [0x011223d8]} class fmt::exception thrown: cellGameBootCheck(): Unknown CATEGORY: 
```

This is a hack for when the category is empty or unknown. 
We assume it's a disk game and proceed with the emulation.
2016-07-14 23:12:26 +03:00
kd-11 ce56351554 gl: Fix fragment constants streaming (#1907) 2016-07-15 02:25:38 +08:00
raven02 d60b292ef1 Modules: savedata fix (#1910) 2016-07-15 00:28:26 +08:00
Nekotekina eb377f425c PPU LLVM: Analyser fix
ppu_branch_target removed
2016-07-14 16:27:14 +03:00
kd-11 6401eefb26 gl: reset texture scaling factor during bind
reset vertex textures as well
2016-07-13 21:01:16 +03:00
kd-11 ea6f3ff5ed gl: Properly determine front face winding 2016-07-13 21:01:16 +03:00
kd-11 97581d8635 gl: Fix primitive type checks 2016-07-13 21:01:16 +03:00
Nekotekina 0a5b518aea PPU Analyser fix 2016-07-13 02:54:34 +03:00
Nekotekina 94da0dbd4d PPU LLVM improvements
Removed interpreter dependencies
Reciprocal instructions improved
2016-07-12 17:33:13 +03:00
raven02 87e38118a5 Ignore clear if surface target is set to CELL_GCM_SURFACE_TARGET_NONE (#1898) 2016-07-12 21:52:11 +08:00
Nekotekina ba8fd825ec fs::get_data_dir implemented 2016-07-11 22:12:39 +03:00
kd-11 2c981cf940 rsx: mark register access with divider op enabled and frequency 1 (#1892) 2016-07-12 02:53:52 +08:00
Nekotekina 11f7b167ae Update Vulkan submodules
Temporarily disabled Vulkan build for Linux
2016-07-11 19:27:50 +03:00
Nekotekina 06c6c8212d Minor fixes
elf_object
Loader fix
Analyser fix
2016-07-11 16:30:11 +03:00
raven02 b89961f01d rsx: set frame limiter before rsx->flip() (#1885) 2016-07-11 21:00:04 +08:00
kd-11 59df7e7104 glsl: not all shaders write to col0 (#1884)
fix typo
2016-07-11 09:05:13 +08:00
kd-11 bbf7e6332c glsl; dump shaderlog (#1883)
fix typo
2016-07-11 01:16:31 +08:00
Lena 8c3b3f7ab4 CMake: improve compiler checks (#1847)
Moves the compiler check out of rpcs3/CMakeLists.txt and adds them
into rpcs3/cmake_modules/ConfigureCompiler.cmake
Add better compiler checks and eliminate a TODO
2016-07-10 16:15:56 +08:00
raven02 47987efb75 rsx: add default case for to_front_face() (#1879) 2016-07-10 08:33:20 +08:00
raven02 ed8ebda804 vk: add missing compare func not_equal (#1876) 2016-07-10 04:32:09 +08:00
raven02 d4da0e052d sys_net: add few socket options (#1874) 2016-07-10 02:30:56 +08:00
kd-11 6705a6ecc9 rsx: properly check for inlined array before discarding draw (#1877) 2016-07-09 22:54:44 +08:00
raven02 dfa968863a DX12: get_scissor() fix (#1868) 2016-07-09 01:00:15 +08:00
raven02 70885ada67 RSX: throw exception removal for user_command() (#1872) 2016-07-09 00:22:10 +08:00
raven02 1f4ebf1501 RSX: check vertex_draw_count 2016-07-08 16:56:12 +08:00
Vincent Lejeune 772706ca4c Factorize rsx state 2016-07-07 21:38:57 +02:00
Ivan 77594dc66c PPU LLVM: New analyser (#1858)
Minor fixes
VEX prefix support
2016-07-07 21:42:39 +03:00
GhettoGirl 758897a929 GUI: add prx library search functionality in settings dialog
Add the possibility too lookup specific libraries in the settings dialog.
2016-07-05 20:46:51 +02:00
GhettoGirl 5c4af45bf5 GUI: improve prx library selection
Sorts the libraries in the settings dialog alphabetically, so they are easier to find.
Sorts selected and unselected modules alphabetically seperatly.
2016-07-05 00:00:46 +02:00
raven02 effd379c25 Vulkan/DX12 : refactor cull face code (#1849)
* Vulkan/DX12 : refactor cull face code

1

* Add optimal build options to CMakeLists (#1841)

Provides two options when building RPCS3

    USE_SYSTEM_FFMPEG BOOL (default: OFF)
    USE_SYSTEM_LIBPNG BOOL (default: OFF)

These options lets the user select between the system provided and builtin libraries of ffmpeg and libpng to overcome possible system issues.

Also adds support for older libpng releases if the user doesn't have libpng 1.5 or higher.

* DX12: depth buffer compare should perform only if depth testing is enabled (#1848)

* GL: front face regression fix (#1854)

* GUI: Add bulk decryption of LLE modules (#1845)

Adds a new menu to "Tools" called "&Decrypt SPRX libraries" which opens a dialog to select
multiple *.sprx files, which are than decrypted all at once.
This speeds up the LLE module decryption and saves users a lot of time.

The output path is the same where the input module resides and the extension is changed
to *.prx

* vk: Avoid double-copy for vertex attributes (#1852)

* vk: Avoid double-copy for vertex attributes

fix buffer overflow

vk: Fix vertex attrib offset_in_dst for batched draw calls

* whitespace fix only
2016-07-03 10:35:51 +08:00
kd-11 a6b7c9c309 vk: Avoid double-copy for vertex attributes (#1852)
* vk: Avoid double-copy for vertex attributes

fix buffer overflow

vk: Fix vertex attrib offset_in_dst for batched draw calls

* whitespace fix only
2016-07-02 22:27:53 +08:00
Lena 85c4392b34 GUI: Add bulk decryption of LLE modules (#1845)
Adds a new menu to "Tools" called "&Decrypt SPRX libraries" which opens a dialog to select
multiple *.sprx files, which are than decrypted all at once.
This speeds up the LLE module decryption and saves users a lot of time.

The output path is the same where the input module resides and the extension is changed
to *.prx
2016-07-02 19:19:32 +08:00
raven02 c3bac7c92b GL: front face regression fix (#1854) 2016-07-01 20:47:56 +08:00
raven02 45d41267f5 DX12: depth buffer compare should perform only if depth testing is enabled (#1848) 2016-07-01 15:02:40 +08:00
Lena 869e10027d Add optimal build options to CMakeLists (#1841)
Provides two options when building RPCS3

    USE_SYSTEM_FFMPEG BOOL (default: OFF)
    USE_SYSTEM_LIBPNG BOOL (default: OFF)

These options lets the user select between the system provided and builtin libraries of ffmpeg and libpng to overcome possible system issues.

Also adds support for older libpng releases if the user doesn't have libpng 1.5 or higher.
2016-07-01 12:07:16 +08:00
raven02 246b593783 Vulkan/GL: add default case for front face in case of garbage value (#1844) 2016-06-30 12:46:25 +08:00
raven02 d22017bfca DX12: using better approximation for constant color/alpha blending (#1839)
* DX12: using better approximation for constant color/alpha blending

* typo fix

* Comment updated.
2016-06-28 20:19:04 +08:00
DH 989f954432 Added WIP vertex textures support 2016-06-28 12:58:44 +03:00
DH 4d88296485 RSX shaders cache: group programs by indexes 2016-06-28 12:54:08 +03:00
DH 086e1c34dd RSX: added hack to the nv3089::image_in
Remove it when textures cache will be implemented properly
2016-06-28 12:52:10 +03:00
DH e6c6a7fb8b RSX: added proper nv0039::buffer_notify implementation from rsx_cache branch 2016-06-28 12:48:45 +03:00
DH 32830d45ff Improved shaders cache 2016-06-27 21:53:56 +03:00
Nekotekina 0ea0c21fed LLVM: Indirect call map 2016-06-27 19:34:14 +03:00
Nekotekina 7a921cbdf9 cpu_thread compressed 2016-06-27 16:43:57 +03:00
Nekotekina 9db7de29fb Syscall analysis implemented 2016-06-27 16:43:56 +03:00
Nekotekina a19b721c26 LLVM: Added JIT.cpp
Refactoring, used -fno-rtti option
2016-06-27 16:43:53 +03:00
Nekotekina 73ea020525 PPU LLVM: Thread context argument 2016-06-27 16:43:50 +03:00
raven02 2c10348408 DX12 : add remaining constant color/alpha blending (#1834) 2016-06-27 20:40:53 +08:00
DH 67a341fded Fixed _var_base move ctor 2016-06-27 03:22:22 +03:00
DH 44879dd9f3 Implemented alpha kill and fog 2016-06-27 01:52:08 +03:00
DH 6ae54ae27b RSX: Added legacy non-array vertex attributes support (if count of elements > 1)
Fixed ps1ght games
2016-06-26 21:32:50 +03:00
DH bf8a20c4b9 Avoid using flip hack if it's possible
Also added some documentation about it
2016-06-26 21:32:49 +03:00
DH 55bc9eda9a Do not throw exception if cellDiscGame* executed
That not a critical situation, simple message in the log should be a good enough
2016-06-26 21:32:48 +03:00
DH e296f81a37 Shaders decompiler: support non 2D textures
Do not validate programs with undefined textures uniforms
Minor fix
2016-06-26 21:32:48 +03:00
raven02 d69a4173fa vk: push back border color to sampler (#1832)
* vk: push back border color to sampler

* use approximate color

* Add TODO for VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK
2016-06-26 21:25:25 +08:00
raven02 4a08e8cd0b sys_ppu_thread_create break fix (#1824) 2016-06-25 22:36:48 +08:00
raven02 7779742ac1 GL: fix few texture swizzle remap (#1823)
* GL: fix few texture swizzle remap

* GL: add texture format HILO8 & HILO_S8

* VK: add mapping for X32_FLOAT
2016-06-25 20:15:10 +08:00
raven02 091b6711ae sys_net: set other options using setockopt() (#1815)
* sys_net: set other options using setockopt()

* typo fix

* Typo fix #2
2016-06-23 09:54:46 +08:00
DH 714e07b1dc OpenGL rendered: use textures cache 2016-06-23 01:01:29 +03:00
DH 001ab05f1a Fixed LLVM & MemLeak builds 2016-06-22 23:03:46 +03:00
DH f30d71da6c OpenGL renderer: improved vertex attributes setup
Minor fixes
2016-06-22 22:46:47 +03:00
DHrpcs3 cbf880fb71 OpenGL renderer: Proper clipping implementation 2016-06-21 19:56:07 +03:00
DHrpcs3 8fd3064905 OpenGL renderer: check for gl errors in release builds.
Ignore null-sized textures
Cleanup
2016-06-21 19:56:06 +03:00
DHrpcs3 e83c387ebe OpenGL renderer: Fixed texture bias setup. 2016-06-21 19:56:05 +03:00
DHrpcs3 3b5cd4845e OpenGL renderer: use correct MVP matrix. Cleanup
Simplified gl::ring_buffer helper
2016-06-21 19:56:05 +03:00
DHrpcs3 c0487a634e Added rsx_program_decompiler to the CMakeLists 2016-06-21 19:56:04 +03:00
O1L 67fe5e1107 Fill fragment constants 2016-06-21 19:56:02 +03:00
O1L 1778113b71 Use sampler buffers in vertex shaders 2016-06-21 19:56:01 +03:00
O1L 8637754d6a Missed changes 2016-06-21 19:56:00 +03:00
O1L 083c4fc855 Try to use new shaders decompiler in OpenGL backend 2016-06-21 19:56:00 +03:00
Nekotekina 251fb86ab0 PPU LLVM: Some instructions simplified 2016-06-21 18:08:21 +03:00
Lena 5853332db7 Fixed the frame icon (#1811)
There was a tiny duplicate of the icon itself in the left upper corner.
2016-06-21 17:03:07 +03:00
Nekotekina 860926d731 File op buffer 2016-06-21 13:22:07 +03:00
Nekotekina eb889920e6 IdManager fix
Debug build fixed
Allowed get/remove with forward declarations
2016-06-21 12:23:28 +03:00
raven02 c96057296a Fix invalid map<K, T> key error (#1801) 2016-06-20 06:43:13 +08:00
Nekotekina a8bebcba55 LLVM AOT 2016-06-19 21:29:48 +03:00
Nekotekina 6fa5e2cc7c PPUAnalyser.h added 2016-06-19 20:50:21 +03:00
raven02 298c9fea22 vk: Better VRAM heap selection by memory properties (AMD) 2016-06-19 13:49:25 +08:00
raven02 244f3dfb89 DX12: set the heap size based on available vram (#1786) 2016-06-19 11:01:11 +08:00
raven02 28366d35d2 VK: add cull mode and front face (#1789) 2016-06-19 09:53:49 +08:00
raven02 f6b5f02501 Merge branch 'master' into gl-flip 2016-06-19 00:28:02 +08:00
kd-11 833c100850 vk: Properly enable window resizing 2016-06-18 15:39:07 +03:00
DHrpcs3 bc63eaea48 Added rpcs3 api (dynamic library) 2016-06-17 21:26:06 +03:00
DHrpcs3 795170635f Added dynamic_library utility 2016-06-17 21:26:05 +03:00
DHrpcs3 b52e885cde Added rpcs3 version object
Removed _PRGVER_ macros
2016-06-17 21:26:04 +03:00
raven02 079411eee8 Texture format W16_Z16_Y16_X16_FLOAT fix (#1777) 2016-06-17 09:32:07 +03:00
raven02 9f1ee5bd28 OGL: disable pixel processing test before flip 2016-06-15 21:51:51 +08:00
kd-11 3a63b62486 gl: dynamically determine texture buffer offset alignment
fix alignment issues for gpus where align < 16 is ok
2016-06-14 00:08:23 +03:00
kd-11 28a5d4d4f0 Add a workaround for a khronos spec bug 2016-06-14 00:08:23 +03:00
kd-11 6761d4a30c gl: use streaming buffers for uniform & elem buffer as well
gl: stream uniform data using stream buffer

gl: vertex streaming improvements and bugfixes

gl: add basic timing info check for profiling

gl: ebo streaming fixes and enhancements
2016-06-14 00:08:23 +03:00
kd-11 ed94626411 gl: use unsynchronized buffer streaming for attribs
fix linux build
2016-06-14 00:08:23 +03:00
kd-11 40a598b0ab gl/vk: Quickly ignore access violations outside cache range 2016-06-14 00:08:23 +03:00
raven02 ea528a1ced Write shader log in seperate directory (#1755)
Write shader log in separate directory
2016-06-13 19:53:50 +03:00
raven02 caf5894152 Vulkan: add two sided stencil/logic op/depth bounds test support (#1767)
* Vulkan: add two sided stencil support

* Vulkan: add logic op support

* Vulkan: add depth bound test support

* Drop off wrong case

* Minor fixes
2016-06-13 14:10:59 +03:00
kd-11 3956b21cb7 vk/gl/dx12: Dynamic cb flush for vulkan; fix glsl/hlsl vertex shader generation for some games; dx12: ignore fbo textures during flip if no surface target is set (#1766)
* gl/vk/dx12: Fix vertex shader code generation for buggy games

dx12: revert vsh attribute changes

* vk: dynamically flush command buffers if we exceed available resources

* dx12: do not prepare flip texture if it has not been initialized
2016-06-11 16:24:27 +03:00
kd-11 35ab3b0cd8 gl/vk/dx12: re-implement pack/unpack operations (#1764)
dx12: implement pack/unpack operations

dx12: Fix shader compilation when pack/unpack is used

dx12: pk16/up16 - relax half-float range to more realistic values
2016-06-10 14:42:48 +03:00
raven02 db27ea923d VP: add few opcodes comment for vec/sca (#1750) 2016-06-10 01:03:43 +03:00
kd-11 4260f68f85 gl/vk: Fix ub256 and s32k vertex attributes; silence some unnecessary debug errors (#1757)
* gl/vk: Sample integer attribs with integer samplers

* gl: silence useless DPRINTs where behaviour has already proven correct
2016-06-08 12:39:08 +03:00
kd-11 c4102f3b18 vk/gl: Enable alpha test in shaders (#1743) 2016-06-05 20:31:23 +03:00
raven02 9710044134 Remap color component depends on RTT or RSX memory (#1744) 2016-06-05 11:11:58 +03:00
raven02 39767b8d46 Texture bias minor fix (#1745) 2016-06-04 19:12:14 +03:00
raven02 e5a792515e GL: set texture bias (#1742) 2016-06-04 14:41:53 +03:00
raven02 8f67c910ab FP: Implement REFL and LRP (#1712) 2016-06-04 10:23:45 +03:00
kd-11 6b3c47a42a vk: change default border color to black; fix GEQUAL compare op 2016-06-03 17:07:48 +03:00
kd-11 60a7f9b3f2 vk: Fix rtt formats and component sampling
vk: Fix for rtt image sampling
2016-06-03 17:07:48 +03:00
kd-11 d22672b156 vk: Disable user clip planes
Use // for comments as requested
2016-06-03 17:07:48 +03:00
kd-11 dc970c513a gl: Respect more requested surface format configurations 2016-06-03 17:07:48 +03:00
kd-11 2bcc755fca Ignore clear if surface target is set to CELL_GCM_SURFACE_TARGET_NONE 2016-06-03 17:07:48 +03:00
Raul Tambre 92446de9d9
Change "start after boot" default value to true 2016-06-03 08:56:37 +03:00
Raul Tambre 2e5d20c315
sys_net: Use IDM, initialize networking on startup 2016-06-03 08:56:37 +03:00
Raul Tambre 31ec26a7a1
Big sys_net improvements and fixes
* Error codes are now properly handled
* Couple more functions implemented
* Support for setting certain socket information
* socketselect() handles Unix waiting behaviour on Windows
* accept() fixed
2016-06-03 08:56:37 +03:00
Raul Tambre 8d2b6f6054
Implement sceNpUtilCmpNpId
Will need a full implementation of emulated network to be "fully"
implemented.
2016-06-03 08:56:37 +03:00
Raul Tambre b073ead988
cellUserInfo: Cleanup, notify about errors 2016-06-03 08:56:37 +03:00
Raul Tambre 97083ebba4
Implement cellFsAllocateFileAreaWithoutZeroFill
And a couple minor null pointer checks in sys_fs.
2016-06-03 08:56:37 +03:00
raven02 ee645d054d GL/Vulkan: Implement DP2A (#1708) 2016-06-02 13:07:43 +03:00
raven02 df6ee9c29d DX12: fix for surface color format (#1709)
#1652
#1594
2016-05-30 00:53:28 +03:00
raven02 fc1408e643 FP: Implement texture lookup with explicit gradients (#1706) 2016-05-29 18:33:41 +03:00
raven02 214d3d0f1a GL/Vulkan: write shader program log as .glsl and .spirv (#1720)
* GL: write shader program log as .glsl

* VK: write shader program log as .spirv
2016-05-26 21:47:37 +03:00
Ivan edc92843a7 Hotfix (#1705) 2016-05-24 01:59:39 +03:00
Nekotekina 266db1336d The rest 2016-05-23 16:22:25 +03:00
Nekotekina e2d82394f6 Cell 2016-05-23 16:22:23 +03:00
Nekotekina 38c444cfa1 PSP2 2016-05-23 16:22:22 +03:00
raven02 5c52521a0a Display render on title frame (#1701)
* Display render on title frame

* Fix few typo

* fix wrong condition
2016-05-23 13:08:34 +03:00
raven02 42423588c8 Use native function for OP_CODE_PK2/UK2 and UP2/UK2 2016-05-21 22:08:34 +08:00
John ce3fdeda5e Replace math macros by function calls from cmath. (#1695) 2016-05-19 19:15:56 +03:00
Josh Pruim 805c778f91 Added confirm to delete (#1698) 2016-05-16 21:42:35 +03:00
Ivan aafcf44581 Header optimizations (#1684)
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan da7472fe81 Optimizations (#1680)
* Optimizations

1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)

* any_pod<> implemented

Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Ivan 75fe95eeb1 GSL moved from stdafx.h (#1676)
Added GSL.h helper for correct including
2016-04-20 02:32:27 +03:00
Ivan efc8779275 SPU channel optimization (#1675) 2016-04-19 16:04:02 +03:00
Nekotekina f63ec52479 D3D12 Adapter setting fix 2016-04-16 00:45:58 +03:00
Nekotekina 6312bf5323 rpcs3.rc recreated as rpcs3_.rc
I have no idea why it didn't compile.
Also recreated without UTF-16 BOM.
2016-04-15 20:19:28 +03:00
Nekotekina f8f067ca7c Partial commit: Emu (the rest) 2016-04-15 19:22:49 +03:00
Nekotekina c7738b8b37 Partial commit: Gui 2016-04-15 19:22:46 +03:00
Nekotekina 643c15c4e9 Partial commit: ARMv7 2016-04-15 19:22:44 +03:00
Nekotekina 0c7f763889 Partial commit: Memory 2016-04-15 19:22:43 +03:00
Nekotekina b85fc50854 Partial commit: Crypto 2016-04-15 19:22:41 +03:00
Nekotekina edd0965c1a Partial commit: Audio 2016-04-15 19:22:40 +03:00
Nekotekina 766f1b2b01 Partial commit: IO 2016-04-15 19:22:39 +03:00
Nekotekina 984aa44220 Partial commit: FS 2016-04-15 19:22:38 +03:00
Nekotekina b85a68e8a1 Partial commit: RSX 2016-04-15 19:22:36 +03:00
Nekotekina 4cf41305e0 Partial commit: Cell (deletions) 2016-04-15 19:22:35 +03:00
Nekotekina c4e99dbdb2 Partial commit: Cell 2016-04-15 19:22:34 +03:00
Nekotekina 42e1d4d752 Partial commit: Syscalls 2016-04-15 19:22:30 +03:00
Nekotekina 5637c22363 Partial commit: Modules (cell) 2016-04-15 19:22:29 +03:00
Nekotekina 7e30a0f464 Partial commit: Modules 2016-04-15 19:22:25 +03:00
Nekotekina 2553e45d76 Partial commit: Loader 2016-04-15 19:22:22 +03:00
Nekotekina 5fc6f59821 Partial commit: Preview 2016-04-15 19:22:15 +03:00
Raul Tambre 7c1ab47262 Fix OpenGL crash (#1668) 2016-04-08 22:18:46 +03:00
Danila Malyutin 6b5ee57718 rXml: use pugixml in header-only mode (#1665)
Fixes compilation in VS
2016-04-08 21:17:24 +03:00
Vincent Lejeune 3a3d264cb5 rsx/common/d3d12/gl/vulkan: Set dst stride in write_vertex_array_data_to_buffer. 2016-04-07 22:17:28 +02:00
Vincent Lejeune 2ae5a7ff39 rsx/common/d3d12/gl/vulkan: Use single overload for write_index_array_data_to_buffer. 2016-04-07 22:17:28 +02:00
Vincent Lejeune 2e17ea1490 rsx/common/d3d12/vulkan: Factorise data_heap between vulkan and d3d12. 2016-04-07 22:17:28 +02:00
Vincent Lejeune cbe119b457 rsx/common: Remove MIN2/MAX2 macro. 2016-04-07 22:17:28 +02:00
Raul Tambre 5ad060f150 Vulkan/DX12: Texture format fixes
DX12 also had a couple fixes
2016-04-07 21:34:32 +03:00
Raul Tambre 1ff4f77eaf Fix jstrchk to be TODO
It's actually not implemented properly...
2016-04-07 21:34:32 +03:00
Raul Tambre a8e15ce18a Fix forced_unit for unimplemented instructions
For SCT and SCB, the forced unit is always set to FORCE_NONE before
handling of the instruction. This makes the error for unimplemented
instructions' forced unit be incorrect. This fixes that.
2016-04-07 21:34:32 +03:00
Raul Tambre 3ee56627eb DX12 texture format fixes and improvements 2016-04-07 21:34:32 +03:00
Raul Tambre cedc023922 HLE: Implement RGBA->GA support, minor fixes 2016-04-07 21:34:32 +03:00
mpm11011 b57daef75a Pugixml to replace wx/xml in rXML
Pugixml to replace wx/xml in rXML

Change reinterpret cast to static cast.

Pass name in pred by reference
2016-04-06 17:35:06 -04:00
kd-11 dab1dda903 Specify buffers to read when blitting output to backbuffer 2016-04-06 11:16:49 +03:00
kd-11 1a61ef0440 Remove deprecated features from core profile 2016-04-06 11:16:49 +03:00
kd-11 e9766f1b76 Properly handle ssa input type (non-varying)
Properly handle ssa input as local (non-varying)
2016-04-06 01:22:01 +03:00
Vincent Lejeune 99717b7902 gl: Fix vertex buffer size. 2016-04-02 18:27:49 +02:00
Vincent Lejeune bad2d7f121 gl: Move vertex setting in a separate file. 2016-04-02 18:27:49 +02:00
Vincent Lejeune d59486295d gl: Supports 1D and 3D textures. 2016-04-01 00:52:51 +02:00
Vincent Lejeune 69d08b6691 vulkan: Support cube and 1D/3D textures. 2016-03-31 23:50:14 +02:00
Vincent Lejeune c95c4c32e6 vulkan: Always map at least 1 byte. 2016-03-31 23:50:14 +02:00
Vincent Lejeune 5a3cf5d9ac rsx/common: Remove extra "-2" in get_exact_mipmap_count non compressed format. 2016-03-31 20:40:19 +02:00
Vincent Lejeune ce072f25e2 d3d12: Move sampler DescriptorHeap selection in D3D12GSRender
Avoid sampler descriptor being stored on 2 heaps inside a single draw
call. Fix somes crashes.
2016-03-31 17:56:30 +02:00
Vincent Lejeune 4c0b5bbc62 gl: Correctly upload cubemap texture. 2016-03-31 00:15:19 +02:00
Vincent Lejeune 51a6862bf4 gl: Use right texture target. 2016-03-31 00:15:17 +02:00
Vincent Lejeune b6c827b17a gl: Fix r5g6b5 format. 2016-03-31 00:12:41 +02:00
Vincent Lejeune 17c4b2387e gl: Fix unnormalized coord sampling. 2016-03-31 00:12:41 +02:00
Vincent Lejeune 91d0229bc5 rsx/common: Use an help texture_dimension_extended to handle cubemap more cleanly. 2016-03-30 22:19:29 +02:00
Vincent Lejeune b7c539ad7a rsx/common: Make get_exact_mipmap_count take compressed format into account 2016-03-30 22:19:29 +02:00
Vincent Lejeune 77674be1c1 vulkan: Fix all warnings in VKGSRender project. 2016-03-30 21:16:53 +02:00
Vincent Lejeune 70903d46e6 vulkan: Reset command buffer after framebuffer flushing.
Fix a (false positive ?) layer error report about comand being called
before vkBeginCommandBuffer has been called.
2016-03-30 21:16:53 +02:00
Vincent Lejeune f86c079acf vulkan: Do not acquireNextImage twice when no rtt is present. 2016-03-30 21:16:53 +02:00
Vincent Lejeune 38d57eb02c vulkan: Remove unneeded dirty_frame boolean. 2016-03-30 21:16:53 +02:00
Vincent Lejeune d5e44f6224 vulkan: Fix stencil aspect mask sometimes missing. 2016-03-30 21:16:53 +02:00
Zangetsu38 3fbc3a3f00 vulkan: Add instruction for Persona 4 : Arena 2016-03-30 21:16:53 +02:00
Vincent Lejeune 73233fd347 rsx/common: Use typed class for texture filters. 2016-03-30 20:03:50 +02:00
Vincent Lejeune d971c4e0f6 rsx/common: Use typed enum for max anisotropy. 2016-03-30 20:03:50 +02:00
Vincent Lejeune 7f25720bd3 rsx/common: Use a typed enum for texture wrap mode. 2016-03-30 20:03:50 +02:00
Vincent Lejeune f2c82d3cf4 rsx/common: Use a typed class for texture dimension. 2016-03-30 20:03:50 +02:00
Vincent Lejeune 08b47616b6 d3d12: Fix updated texture state 2016-03-30 18:01:54 +02:00
AnnieL 96329a6e29 Making sure the right file is included 2016-03-29 18:59:50 +01:00
AnnieL 9f257ee9f8 Slims down minidx9 to XAudio2_7
Removes minidx9 as a submodule
Slims down minidx9 to have only the files XAudio2 (2.7) needs.
The other dx9 related files weren't being used.
2016-03-29 18:51:54 +01:00
Vincent Lejeune aa3c97f918 vulkan: Only submit command buffer at flip and avoid extra sync. 2016-03-28 19:54:50 +02:00
Vincent Lejeune 7a988c73a6 Vulkan: Alloc a descriptor set at every draw call. 2016-03-28 19:54:50 +02:00
Vincent Lejeune 855d6935d9 gl: Enable core context and debug output. 2016-03-27 03:45:30 +02:00
Vincent Lejeune 21e7206f7a vulkan: Do not purge texture before flip 2016-03-26 17:46:43 +01:00
Vincent Lejeune 1b33abf287 vulkan: Clear framebuffer after flip. 2016-03-26 17:45:00 +01:00
Vincent Lejeune 9485fe2693 rsx/common/gl/d3d12/vulkan: Use exact mimap counts.
Fix invalid textures in gl backend.
2016-03-25 21:37:53 +01:00
kd-11 0327e76320 Fix quad strip triangle winding 2016-03-24 10:52:35 +03:00
kd-11 a120414d32 Set render target textures to clamp to border by default 2016-03-24 10:52:35 +03:00
Vincent Lejeune 36aace57ca vulkan: Use simpler texture object 2016-03-23 21:09:30 +01:00
Vincent Lejeune 23a0116975 gl: Expand index for quads/quad_strip/triangle_fan 2016-03-22 21:39:00 +01:00
Vincent Lejeune b00acff9dd rsx/common: Turn alignment constraints in textureUtils to multiple_of constraints. 2016-03-22 19:06:09 +01:00
Vincent Lejeune 284d2c43f9 rsx/common: Use protected instead of private for surface_store content. 2016-03-22 19:06:09 +01:00
Vincent Lejeune 4f2bda26fc vulkan: Simplify framebuffer class and release them at frame flip 2016-03-21 22:56:07 +01:00
Vincent Lejeune a14dd8ea51 vulkan: Move sampler object outside of texture. 2016-03-21 22:10:36 +01:00
Vincent Lejeune 6f9f5f7918 vulkan: Create program in program_state_cache<>::build_pipeline 2016-03-21 22:10:34 +01:00
Vincent Lejeune 34eb85683c vulkan: Remove buffer_deprecated completly.
attrib_buffer now use the simpler buffer struct.
2016-03-21 00:03:28 +01:00
AnnieL 38f93461d1 Moves glm, GSL and libpng to 3rdparty
Moves glm and GSL to 3rdparty
Moves libpng to 3rdparty
2016-03-20 22:24:21 +00:00
AnnieL 6182f5346d Moves ffmpeg and minidx9 to 3rdparty 2016-03-20 22:21:35 +00:00
AnnieL afefecf1f0 Moves GL, minidx12, OpenAL, stblib to 3rdparty
Moves GL, minidx12, OpenAL, stblib to 3rdparty

Fixes AppVeyor and CMakeLists (travis-ci.yml doesn't need any changes)

Points directories in the VS solution files to the new ones on the
externals directory

Includes stuff with the < > syntax instead of " "
2016-03-20 22:20:23 +00:00
mpm11011 617a488a0a Change size to u64 2016-03-19 21:48:56 -04:00
mpm11011 854919b5e2 Merge remote-tracking branch 'refs/remotes/RPCS3/master' 2016-03-19 13:51:44 -04:00
Vincent Lejeune 6078f25aa7 vulkan: Split get_compatible_sampler_format in two
Component mapping is not a sampler parameter.
2016-03-19 18:23:26 +01:00
Vincent Lejeune 4484e8c3f0 vulkan: Move vk_wrap_mode and max_aniso to vkFormat 2016-03-19 18:12:43 +01:00
Vincent Lejeune b6bcdade81 vulkan: Do not copy texture inside a render pass 2016-03-19 18:07:27 +01:00
mpm11011 6adf086ed1 Adding zlib to rpcs3/CMakeLists.txt
Fix zlib location in cmakelists

Potential fix to zlib include dir(s)
2016-03-19 12:47:07 -04:00
mpm11011 e7fc5228d5 MakeELF: Replaced wx streams with zlib functions 2016-03-18 23:36:08 -04:00
Vincent Lejeune e083c1471c vulkan: Fix crash at exit 2016-03-19 00:17:00 +01:00
Vincent Lejeune d9eba43360 vulkan: Do not create empty render pass.
Fix a crash with radeon crimson drivers.
2016-03-19 00:16:59 +01:00
Vincent Lejeune 24eb544046 vulkan: Move descriptor sets and layout in VKGSRender class
They're now shared between all programs.
2016-03-18 00:08:28 +01:00
Vincent Lejeune 6a1f0aed36 vulkan: Precompute all possibles render pass 2016-03-18 00:08:28 +01:00
Vincent Lejeune 6229733fbb vulkan: Use a shared pipeline layout 2016-03-17 20:03:09 +01:00
Vincent Lejeune 7e971eb032 vulkan: Fix for get_memory_mapping 2016-03-17 20:03:09 +01:00
AnnieL 212fd4b340 Adds the stb_truetype Mac OSX fix from 64cfab5
Adds the stb_truetype Mac OSX fix from 64cfab5
Removes stb_image.c from the Visual Studio Project files since it got
deleted in previous commit
2016-03-17 18:03:59 +00:00
AnnieL 659f3d856a Update stb_truetype from 0.7 to 1.09
Updates stb_truetype.h from 0.7 to 1.09
Fixes '>=' signed/unsigned mismatch at cellFont.cpp lines 328 and 333 by
making both values unsigned (u32)
2016-03-17 18:03:59 +00:00
AnnieL 8cded28c45 Updates stb_image from 1.33 to 2.10
Updates stb_image from 1.33 to 2.10 which deprecates stb_image.c and
uses only stb_image.h
2016-03-17 18:03:59 +00:00
kd-11 26738762ea vk: Indexing into mipmap lod is scalor not vector 2016-03-17 19:43:41 +03:00
AnnieL 5250911a40 Fixes #1584
When DirectX 12 is missing, the emulator thinks Vulkan = DirectX 12 because Vulkan takes DX12's place in the box (id=2), and therefore runs DX12 when Vulkan is selected, crashing the emulator with an unhandled exception.

Fixes it by translating renderer string value to the respective enum class before sending the value to config.h instead of just relying on the box's selected id -> cbox_gs_render->GetSelection()

Also changes the order of the renderers (for convinience, now DX12 is id=3) from
Null, OpenGL, DirectX 12, Vulkan
to
Null, OpenGL, Vulkan, DirectX 12
2016-03-17 10:04:03 +00:00
kd-11 15901589a5 Explicitly declare context attributes for GL canvas 2016-03-16 08:35:19 +03:00
Vincent Lejeune 61de5e8835 vulkan: Clear swapchain before usage.
Fix VkQueuePresentKHR error messages
2016-03-15 22:03:24 +01:00
Vincent Lejeune 3b3fffa962 vulkan: Remove redundant texture::create/init overloads 2016-03-15 22:03:24 +01:00
Vincent Lejeune 63ad2cce72 vulkan: Use ring allocation for uniform/index buffers by using simpler memory_block and buffer class. 2016-03-15 22:03:24 +01:00
Vincent Lejeune da2caa0881 vulkan: precompute memory type mapping. 2016-03-15 22:02:30 +01:00
kd-11 f2d5542e66 Re-enable fog parameters for vulkan 2016-03-15 22:32:32 +03:00
AnnieL 9fd244cf9c Set Write/Read Color/Depth Buffers to false by default
Since they're not working properly right now, there's no reason for them to be enabled by default.
2016-03-14 19:06:20 +00:00
Vincent Lejeune 5de70628d7 rsx/common/d3d12/gl/vulkan: Unify texture upload code. 2016-03-14 19:10:51 +01:00
kd-11 d9dbb1565a Immutable textures cannot be reused! 2016-03-14 18:14:06 +03:00
kd-11 34992d8a8f vk: Add some more blend ops 2016-03-14 18:14:06 +03:00
Nekotekina 702193a6c7 Build fixed 2016-03-13 19:39:54 +02:00
Vincent Lejeune 70a80b84d7 vulkan: Zero initialize as much structure info as possible.
This fixes a crash with nvidia driver in present call (likely because of
some uninitialized member)
2016-03-12 22:22:28 +01:00
Vincent Lejeune 8604f5a02f vulkan: Use d24_u8 or d32_u8 depending on hw support. 2016-03-12 15:56:23 +01:00
Vincent Lejeune 26ff4fd6b7 vulkan: Uses debug output setting to enable debug layers. 2016-03-12 15:23:39 +01:00
kd-11 82bc41f4ad rsx: support for more formats
rsx: support R5G5B5A1 textures
2016-03-11 18:02:29 +03:00
kd-11 cc713a0091 vk: Release dirty resources to prevent mem leak 2016-03-10 23:55:25 +03:00
kd-11 93032be4ab Move waiting for submit fence to the right place (nvidia crash) 2016-03-10 23:55:25 +03:00
kd-11 26964efa7e Support stencil formats
Fix appveyor build
2016-03-10 23:55:25 +03:00
kd-11 f0ded46753 Fix apple build by excluding vk project 2016-03-10 23:55:25 +03:00
kd-11 47d251a818 Change render target layout before clearing
Use LAYOUT_GENERAL during clear; move renderpass begin to draw call end
2016-03-10 23:55:25 +03:00
kd-11 b018c91135 Make render-targets GPU resident
Fix minor regressions that occured during merge
2016-03-10 23:55:25 +03:00
kd-11 d910d2c572 Fix vulkan swap modes for nvidia
CMakeLists edits

Check for linear tiling support for all usage attributes
2016-03-10 23:55:25 +03:00
kd-11 f384d87044 Fix build dependancies and fix gcc build
Factor out _aligned_malloc functions to WIN32 only

Attempt to fix CmakeLists error

More CMakeLists fixes (glslang)

Add OSDependent libs

Add OGLCompiler and SPIRV as well
2016-03-10 23:55:25 +03:00
kd-11 bd52bcf8d4 Fix nvidia crash (API version). Fix linux builds
Properly set up vulkan API version when creating instance

Fix gcc error about passing function result by reference

Fix alot of warnings in VKGSRender project

More fixes for gcc

Fix texture create function
2016-03-10 23:55:25 +03:00
kd-11 d58bd1c916 Exclude apple from vulkan windowing stuff as it is not supported 2016-03-10 23:55:25 +03:00
kd-11 22d49ae96a Fix build for non-WIN32 platforms
Link explicitly against vkstatic.1.lib

fix linux path for vulkan glsl compiler

Restore wxWidgets version
2016-03-10 23:55:25 +03:00
kd-11 3b6e3fb3b4 Rework vertex upload code and fix indexed renders
Rebase on current master; Refactor vertex upload code

Fix build; Minor fixes

Start preparations for merge

Fix generic indexed drawing bugs

Define WIN32_KHR only for windows

Remove linking against vulkan-1.lib
2016-03-10 23:55:25 +03:00
kd-11 d287ba44ce Add vulkan GS backend to project 2016-03-10 23:55:25 +03:00
kd-11 ee0eb70de4 Clean up invalidated resources 2016-03-09 21:11:22 +03:00
Vincent Lejeune 9e01f2817f gl: Use less costly glTexStorage2D instead of glTexImage2D. 2016-03-05 22:04:28 +01:00
Vincent Lejeune 8831bd0918 gl: Factorize code in rsx_gl_texture.cpp 2016-03-05 22:04:28 +01:00
kd-11 a880ce89d1 Checks for texture completeness, remove legacy GL_GENERATE_MIPMAP used wrongfully 2016-03-05 22:19:33 +03:00
Vincent Lejeune 4d71df70db rsx-debug: Record and display index buffer content. 2016-03-05 18:48:30 +01:00
Vincent Lejeune 1dcc6858b4 d3d12/gl: Separate fog distance and fog frag in fogc input. 2016-03-05 18:25:31 +01:00
Vincent Lejeune 52e2800fb5 rsx: Reset fog mode/param to linear/1.;
Fix After Burner Climax fog
2016-03-05 18:25:31 +01:00
kd-11 2ae687cf00 Properly compute texture size 2016-03-05 18:54:06 +03:00
Vincent Lejeune 81fcadac38 gl: Use shared surface store (updated)
Update surface cache optimization to master; minor fixes

Fix mixed EOL

Remove unused include; change null bindings to 0
2016-03-05 12:21:45 +03:00
kd-11 8d3235cd7c Properly set up fog parameters for openGL 2016-03-03 01:07:53 +03:00
kd-11 094c4057be The lod parameter is a single float value 2016-03-02 18:34:13 +03:00
Vincent Lejeune 72375d9e3d build: Add a separate project for ppu llvm recompiler
Fix some defect found by static analysis.
2016-03-02 14:53:14 +01:00
kd-11 7eb5da73fe Allow attrib padding for types that require expansion 2016-03-02 01:09:51 +03:00
Vincent Lejeune 0ed770633b gl: Add texture3d sampling function 2016-02-29 19:47:06 +01:00
Vincent Lejeune 32434dd848 rsx/common/d3d12/gl: Support for fog mode.
Fix hitman 2
2016-02-29 16:31:18 +01:00
Vincent Lejeune 9cdb74efc7 rsx/common: Add supports for quads strip
Used in Hitman 2
2016-02-27 19:38:16 +01:00
Vincent Lejeune 35db227af4 rsx/common/d3d12: Separate int type buffer from float type buffer. 2016-02-27 00:21:14 +01:00
Vincent Lejeune a6ba47265f rsx/common/gl: s32k is actually signed short unormalized.
gl fix
2016-02-27 00:21:12 +01:00
Vincent Lejeune 62246f75c8 d3d12/gl: Supports SSA in Fragment Shader. 2016-02-27 00:21:10 +01:00
Vincent Lejeune a6d8d1144c rsx/common: Supports D24X8 texture format when copying
Some app uses this type before setting proper depth surface
2016-02-27 00:21:08 +01:00
Vincent Lejeune 5ef7f8bf3e rsx/common: Fix handling of UB256 2016-02-27 00:21:06 +01:00
Vincent Lejeune a78ba8a271 d3d12: Remove depth conversion shader
It's actually not needed, raw depth data should be sampled as RGBA8.
2016-02-25 23:29:44 +01:00
Vincent Lejeune 263e5beb26 d3d12: Copy descriptors when reused instead of recreating them.
Thanks Matías N. Goldberg for the tip !
2016-02-25 23:29:43 +01:00
Vincent Lejeune 7ae680d9d1 d3d12: Avoid uploading constant buffer every draw call 2016-02-25 23:29:41 +01:00
kd-11 c5b3359c4b Remove normalization for natively normalized formats; fix cmp attribute type 2016-02-25 17:41:03 +03:00
Raul Tambre 047d59df0c Implement UTF8stoUTF16s, minor cellPngDec fixes
Need to find games to test the case, when fixed alpha isn't specified.
2016-02-25 07:58:21 +02:00
Raul Tambre 41687af077 Implement _sys_memmove 2016-02-25 07:58:21 +02:00
kd-11 974ea68cf9 Always bind null for unused shader inputs
Properly rename index offsets to improve readability
Handle indexed and other array cases
2016-02-25 02:29:35 +03:00
kd-11 8a3d15d4fe Handle swizzled CELL_GCM_B8 textures
Properly handle swizzled single-channel textures
2016-02-24 17:44:24 +03:00
Vincent Lejeune 5a14644cd4 rsx/common/d3d12/gl: Use span in vertex upload function. 2016-02-22 20:22:47 +01:00
Vincent Lejeune 79dc835378 rsx/common: Track transform constant update. 2016-02-21 21:29:44 +01:00
Vincent Lejeune 9ef24509cb d3d12: Use a shared root signature and add more slots
This allows for finer grained rebinding later.
2016-02-21 17:55:34 +01:00
Vincent Lejeune 4b54d7ece1 d3d12: Pretty printing of error messages. 2016-02-21 17:11:54 +01:00
Vincent Lejeune c0423d513d vulkan: Add relevant libs. 2016-02-19 20:03:30 +01:00
kd-11 a451bb574e Enable texture and render target caching for OpenGL 2016-02-17 16:00:23 +03:00