Commit Graph

5883 Commits

Author SHA1 Message Date
kd-11
23ad687e7e vk: New images always should be UNDEFINED or PREINITIALIZED 2017-09-23 16:46:41 +03:00
kd-11
a04ecdbe0a vulkan: Use frameid to determine texture storage to discard 2017-09-23 16:46:41 +03:00
kd-11
9ee21af524 vulkan: Optimize memory allocation 2017-09-23 16:46:41 +03:00
kd-11
b74cdcde00 rsx: Make the 3rd texture dimension matter
- Affects cube maps and texture3D surfaces
2017-09-23 16:46:41 +03:00
kd-11
4d83d749a0 rsx: Texture cache fixes
- Update section flags when requested
- Fix nullptr dereference: cached_dest will be null if dst_is_render_target is true
2017-09-23 16:46:41 +03:00
Zion
8e66e719fa Fix branch name for AppVeyor Builds (#3472) 2017-09-22 13:26:43 +03:00
kd-11
c6e6f4afea vs/qt: Explicitly reference target output to avoid failing post-build step
- Referencing the whole build folder will err if there is any non-qt exe in the folder
2017-09-21 20:05:07 +03:00
kd-11
d0148728c6 rsx: Fixes
- Fix section scanning range for early reject
- Specify IMAGE_ASPECT_STENCIL when uploading image_from_cpu
2017-09-21 20:05:07 +03:00
kd-11
dfc564f837 gl: Check that fence is not empty before calling destroy 2017-09-21 20:05:07 +03:00
Farseer
2b0edf6cde Allow null argument
Should fix Jak 2
2017-09-21 17:31:46 +03:00
Henrique Jung
daa7520d1d Deploy QT DLLs using windeployqt tool (#3432)
* Deploy QT DLLs using windeployqt tool

Replace the old mechanism that manually copy the DLLs using either CMake
or VS built-in functions. The new approach uses the windeployqt tool
provided by the QT project that automatically detect the needed DLLs and
perform the necessary copying.

This approach should be more robust if there's an upstream change on QT
project regarding DLLs usage.

* QT DLLs: do not ship RPCS3 with ANGLE and software-OpenGL

According to https://doc.qt.io/qt-5/windows-requirements.html ANGLE is
useful for applications that use OpenGL ES by removing the need to
install OpenGL drivers, redirecting OpenGL calls to DirectX instead.
RPCS does not uses OpenGL ES so it's better to just remove it from the
binary distribution.

opengl32sw.dll is a fallback mechanism when ANGLE libraries are not
available that uses a software backend for OpenGL. It's unlikely that
RPCS3 will work using software-OpenGL, so there's little point into
shipping them.

* QT DLLs: do not ship with SVG and translation files

Like the other removed QT libraries: they are not needed right now. We
can deploy them if they become useful someday.
2017-09-21 16:53:20 +03:00
kd-11
3499d089e7 rsx: Texture cache fixes and improvements
rsx: Conditional lock hack removed
vulkan - Fixes
- Remove unused texture class
- Fix native pitch calculation (WCB)
rsx: Catch hanging begin/end pairs when flushing deferred draw calls
vulkan: Register DXT compressed formats
vulkan: Register depth formats
gl: Workaround for 'texture stitching' when gathering flip surface
- TODO: Add a proper flip hack option
rsx: Fix texture memory size calculation
- DXT textures dont have real pitch. Since pitch is used to calculate memory size, make sure it always evaluates to rsx_size
rsx: Fix cpu copy detection
rsx: Validate blit dst surface and dont make assumptions about region blit order
- Also relax restrictions on memory owned by the blit engine if strict rendering is not enabled
rsx: Fix depth texture detection
rsx: Do not manually offset into dst. The overlapped range check does so automatically
rsx: Minor optimizations
rsx: Minor fixes
- Fix to detect incompatible formats when using GPU texture scaling and show message
- Better 'is_depth_texture' algorithm to eliminate false positives
2017-09-21 16:17:06 +03:00
kd-11
6b96a2022a rsx: Add support for non-projective shadow sampling
- Fixes missing shadows in persona 5

vk: Enable polygon depth bias a.k.a polygonOffset
- Fixes shadow acne in persona 5
2017-09-21 16:17:06 +03:00
kd-11
3836b40bf7 rsx: Fixups 2017-09-21 16:17:06 +03:00
kd-11
571dbfb7b1 rsx: Texture cache improvements
- Limits buffer size to min 720 in the Y axis (1024 section causes conflicts in some cases - TODO)
rsx: Fixups to allow large textures for blit operation
- Also includes checks for both leaking sections and blit regions for vulkan
hotfix for hanging when using WCB
addendum - unlock both ro and no blocks before attempting to copy memory blocks
gl: Fixups for ARB_explicit_uniform_location
- Forces glsl v 430 to make use of the extension
rsx/vk: Rework texture cache to minimize recursive access violations
- Also modifies the vulkan commandbuffer begin/end/submit mechanism
gl: Fix cached_texture_section::is_flushable to take memory protection into account
rsx: Fix blit dst offset calculation
2017-09-21 16:17:06 +03:00
kd-11
10e25eb362 rsx: Fix multidraw range splits again
rsx: Hotfix for disjoint range detection
2017-09-21 16:17:06 +03:00
kd-11
45d0e821dc gl: Minor optimizations
rsx: Texture cache - improvements to locking
rsx: Minor optimizations to get_current_vertex_program and begin-end batch flushes
rsx: Optimize texture cache storage
- Manages storage in blocks of 16MB
rsx/vk/gl: Fix swizzled texture input
gl: Hotfix for compressed texture formats
2017-09-21 16:17:06 +03:00
kd-11
e37a2a8f7d rsx: Texture cache fixes and improvments
gl/vk/rsx: Refactoring; unify texture cache code
gl: Fixups
- Removes rsx::gl::texture class and leave gl::texture intact
- Simplify texture create and upload mechanisms
- Re-enable texture uploads with the new texture cache mechanism
rsx: texture cache - check if bit region fits into dst texture before attempting to copy
gl/vk: Cleanup
- Set initial texture layout to DST_OPTIMAL since it has no data in it anyway at the start
- Move structs outside of classes to avoid clutter
2017-09-21 16:17:06 +03:00
kd-11
07c83f6e44 gl: cleanup; fix program linkage on mesa using GL_ARB_explicit_uniform_location, also make use of ARB_multidraw 2017-09-21 16:17:06 +03:00
kd-11
061824a7ec rsx: Add support for batched multidraw
gl: Fix multidraw [WIP]
rsx: Ignore vertex base when data source is generated using arithmetic
vk: Check pending flag before doing fence poke
vk/gl: Fix for inlined array and immediate draws
rsx: Collapse joined draws when batching
2017-09-21 16:17:06 +03:00
kd-11
abb56a354d rsx: Bug fixes and improvements
rsx: Try to skip unknown commands without discarding entire cb
2017-09-21 16:17:06 +03:00
kd-11
9359b8c170 rsx/fp: Shader decompiler fixes
- Requires proper 2-pass impl
rsx/fp: Catch hanging code blocks
rsx/fp: Don't pause on scaling error
2017-09-21 16:17:06 +03:00
kd-11
2d0f1f27a8 esx: Fixes to the texture cache
rsx: Blit engine improvements
- Always handle blits to and from framebuffers through the GPU
- Handle depth surfaces properly when using GL
- Check for format mismatches when blitting to the surface store [WIP]
2017-09-21 16:17:06 +03:00
kd-11
73312fc363 rsx: Several fixes and improvements
- Do not ignore non-centered pixel blitting
- Register method ac00+16
- Bump texture memory heap to account for GPU texture scaling requirements (vulkan)
- Explicit MRT location index output to better convey intent (openGL)
2017-09-21 16:17:06 +03:00
kd-11
deb590cb05 rsx/vk: Bug fixes
- Make each frame context own its own memory
- Fix GPU blit
- Fix image layout transitions in flip

vk: Improve frame-local memory usage tracking to prevent overwrites
- Also slightly bumps VRAM requirements for stream buffers to help with running out of storage
- Fixes flickering and missing graphics in some cases. Flickering is still there and needs more work
vk: Up vertex attribute heap size and increase the guard size on it
vulkan: Reorganize memory management
vulkan: blit cleanup
vulkan: blit engine improvements
- Override existing image mapping when conflicts detected
- Allow blitting of depth/stencil surfaces
2017-09-21 16:17:06 +03:00
kd-11
2033f3f7dc rsx/vk/gl: Refactoring and reimplementation of blit engine
Fix rsx offscreen-render-to-display-buffer-blit surface reads
- Also, properly scale display output height if reading from compressed tile

gl: Fix broken dst height computation
- The extra padding is only there to force power-of-2 sizes and isnt used

gl: Ignore compression scaling if output is rendered to in a renderpass

rsx/gl/vk: Cleanup for GPU texture scaling. Initial impl [WIP]
- TODO: Refactor more shared code into RSX/common
2017-09-21 16:17:06 +03:00
Nekotekina
3e3160d7ac Minor VFS fix 2017-09-21 14:34:09 +03:00
Nekotekina
dd919c76b8 cellAudio: use error_code 2017-09-20 14:27:52 +03:00
Nekotekina
a6a0f13264 Remove unnecessary include git-version.h 2017-09-20 14:26:42 +03:00
Nekotekina
b9a0c107ab Fix library loading mode 'both' 2017-09-20 14:26:42 +03:00
Nekotekina
5c93acefd9 Try to fix some fs errors 2017-09-19 15:07:07 +03:00
Nekotekina
a428dac71c sys_fs_mkdir: implement ENOENT 2017-09-19 15:07:07 +03:00
Nekotekina
3901f08fa0 Fix error on loading a library twice 2017-09-19 15:07:07 +03:00
Nekotekina
519f21db18 Exitspawn support renewal
Implemented _sys_process_exit2 syscall
Rewritten sys_game_process_exitspawn
Rewritten sys_game_process_exitspawn2
Implemented _sys_process_atexitspawn
Implemented _sys_process_at_Exitspawn
And some other changes
2017-09-19 15:07:07 +03:00
Nekotekina
18d472b7e1 Patch: new 'load' syntax
[load, path_name1] - load sequence
[load, path_name2, -0x40] - same, but modify the addresses by -64
2017-09-19 15:07:07 +03:00
Nekotekina
bc098d6b9c Rewrite _sys_strncat 2017-09-19 15:07:07 +03:00
Nekotekina
22ff8abd7d Rewrite _sys_strncpy 2017-09-19 15:07:07 +03:00
Nekotekina
871ccfd32c Rewrite _sys_strrchr 2017-09-19 15:07:07 +03:00
Nekotekina
7a79e184c5 Rewrite _sys_strchr 2017-09-19 15:07:07 +03:00
Nekotekina
0e72cc879f Rewrite _sys_strcpy 2017-09-19 15:07:07 +03:00
Nekotekina
13304bd18b Rewrite _sys_strcat 2017-09-19 15:07:07 +03:00
Nekotekina
a4b824c50a Rewrite _sys_strncmp 2017-09-19 15:07:07 +03:00
Nekotekina
ccc87081f3 Rewrite _sys_strcmp 2017-09-19 15:07:07 +03:00
Nekotekina
800ba9d902 Rewrite _sys_strlen 2017-09-19 15:07:07 +03:00
Nekotekina
015b9fdf8b Fix _sys_strncasecmp 2017-09-19 15:07:07 +03:00
Nekotekina
83f93202d0 Rewrite _sys_memcmp 2017-09-19 15:07:07 +03:00
Nekotekina
ae2ea02377 Implemented _sys_prx_load_module_on_memcontainer 2017-09-19 15:07:07 +03:00
Nekotekina
4fe4521881 Implemented __sys_look_ctype_table
Implemented _sys_tolower, _sys_toupper
Fixed _sys_strncasecmp
2017-09-19 15:07:07 +03:00
Nekotekina
b83575bcbb Remove unnecessary newline in Log.cpp 2017-09-19 15:07:07 +03:00
Nekotekina
17175e1c23 Fixed global variables in Log.cpp 2017-09-19 15:07:07 +03:00