Commit graph

24 commits

Author SHA1 Message Date
kd-11 71f69d1d48
rsx/overlays: Introduce 'native' HUD UI and implement some common dialogs (#4011) 2018-01-17 19:14:00 +03:00
kd-11 ddebc334bf rsx: Fixes
- Discard intentionally invalidated framebuffer resources. These are created after a flush has happened, forcing reupload since contents cannot be guaranteed (strict mode only)
- Fix for blits using vulkan; dont use the copy method if formats do not match, use generic blit instead
2017-12-01 21:00:50 +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 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 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
mp-t 607d2486ea Code review (#3114)
* Fix always-true conditions in sceNp module

* gl_render_targets: useless check on unsigned variable, possible bug

* fixed UB in crypto utility functions

* copy-paste error in vk::init_default_resources

* pass strings by const ref

* Dont copy vectors. Make sure copies are not needed because functions are used in a multi-threaded context.
2017-08-01 20:22:33 +03:00
raven02 77f8ce503d RSX texture refactor (#2144) 2016-09-19 09:25:49 +08:00
Nekotekina a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
kd-11 33c59fa51b vk: optionally center/offset images when scaling (#1998) 2016-07-30 10:07:39 +08: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 69d08b6691 vulkan: Support cube and 1D/3D textures. 2016-03-31 23:50:14 +02:00
Vincent Lejeune 77674be1c1 vulkan: Fix all warnings in VKGSRender project. 2016-03-30 21:16:53 +02: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
Vincent Lejeune 36aace57ca vulkan: Use simpler texture object 2016-03-23 21:09:30 +01:00
Vincent Lejeune a14dd8ea51 vulkan: Move sampler object outside of texture. 2016-03-21 22:10:36 +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 3b3fffa962 vulkan: Remove redundant texture::create/init overloads 2016-03-15 22:03:24 +01:00
Vincent Lejeune 5de70628d7 rsx/common/d3d12/gl/vulkan: Unify texture upload code. 2016-03-14 19:10:51 +01: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
kd-11 26964efa7e Support stencil formats
Fix appveyor build
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 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 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