Commit graph

88 commits

Author SHA1 Message Date
kd-11 7c73c3b75c rsx/gl: Minor refactoring; prepare vulkan backend 2017-03-01 00:16:55 +03:00
kd-11 9263999ad1 [rsx/vp] Improve BRB opcode implementation
fix merge issues
2017-02-26 10:17:34 +03:00
kd-11 d6159a35aa gl/vk/dx12: Fix texture scaling on unnormalized rtt access 2017-02-11 15:45:59 +03:00
Ryan Gonzalez 11e2965b5c Switch to always using a steady clock (closes #2200) 2017-01-29 03:07:08 +03:00
Ryan Gonzalez b644d5b2ae Add logic_set support to VKGSRender 2017-01-28 03:20:30 +03:00
kd-11 8454949eea gl/vk/rsx: Add a cross-platform overlay text; Minor perf improvements and rsx bugfixes (#2196)
* gl/rsx: Implement platform-agnostic text overlays

gl: Restore performance metrics using new text out helper

gl/rsx: Refactor text generation class

* vk: Enable text overlay

gl/vk: Polish overlay counters implementation

gl: Better resource shutdown for text writer

* gl: Optimization, do not rebind TIUs every frame. Speedup

* gl: Optimizations and improvements to vertex upload code

* gl/vk: Texture format swizzles

vk: Texture format fix

vk: Fix YX format swizzles

* rsx: Decode vertex texture index
2016-10-11 08:55:42 +08:00
kd-11 7a9841bb2a gl/vk/dx12: Fix depth reconstruction bug; Fix sampler parameters (#2188)
vulkan: Fix duplicated code bug

fix rebase
2016-10-04 21:51:40 +08:00
kd-11 5430e1d310 rsx/gl/vk/dx12: Add emulated texture fetch for depth read (#2173)
* rsx/gl/vk/dx12: Add emulated texture fetch for depth read

gl/vk/dx12: Simplify reinterpretation equation

* gl: Remove unnecessary re-swizzle

* glsl: explicitly cast uint to float
2016-09-29 14:54:32 +08:00
kd-11 9abb908226 vk: Add a subpass dependancy (#2172) 2016-09-28 22:12:52 +08:00
kd-11 7884356e90 gl/vk: Bug fixes and improvements (#2155)
* gl: Fix broken buffer reserve computation

* gl: Texture format fixes

* gl: Two sided lighting

* gl: Always update glsl output registers

* gl: Simplify vertex input declaration

* vk: Always write output registers

* vk/gl: swizzle component read on depth textures

* gl/vk: Use proper MVP matrix

gl: fix broken mvp when window_origin=top

* vk/gl: Move fragment operations block into the proxy function
2016-09-26 20:21:17 +08:00
kd-11 66e57ae19b vk: Properly compute descriptor pool size (#2150) 2016-09-22 16:06:57 +08:00
kd-11 0d207a6c0d GL/Vulkan: Bug fixes and improvements; alphakill for vulkan (#2146)
* vk: Zero-initialize some more structs

* gl: Clean up fragment program generation code

* vk: Enable alpha kill

* vk: Fix surface clear; redirect output for surface_type:b

* vk: Tie renderpass to program object to avoid incompatible passes
2016-09-21 21:41:29 +08:00
kd-11 867e9210d7 gl/vk: Enable vertex texture fetch (#2127)
* gl: Enable vertex textures

* rsx: use textureLod instead of generic texture sample

* rsx: handle uploading of W32_X32_Y32_Z32

* gl: Re-enable proper shader logging

remove old logging method that overwrites single file

* gl: Declare texture_coord_scale for vertex samplers

* gl: texture remap fixes; enable remap for vertex textures

* gl: offset texture indices to base layer 16

* rsx: Fix W32_Z32_Y32_X32_FLOAT subresource layout

* vk: Enable vertex textures

* rsx: define special calls for vertex texture fetch

* gl: improved vertex texture fetch setup

* vk: Fix texture formats and component mapping

* vk: Implement vertex texture fetch functions properly

* vk/gl: proper fix for primitive restart index

revert inadvertent decompiler update

* gl: Disable filtering for vertex textures
2016-09-20 22:23:56 +08:00
raven02 d4a55f4b06 Vulkan: enable cull face again (#2124)
* Vulkan: enable cull face again

* minor fix
2016-09-06 09:43:27 +08:00
raven02 a270ac7f02 GL: re-use common fp/vp decompiler (#2100) 2016-08-26 22:23:23 +08:00
kd-11 9beb2d8ae0 vk/rsx: Bug fixes (#2092)
* vk: fix separate front and back lighting

* vk: Inlined arrays can have emulated primitives too!

* vk: Use float input attribs for better compatibility

* vk: Free resources during shutdown
2016-08-24 08:50:07 +08:00
raven02 2aa2c1811f Vulkan : add structure type for color blend state (#2091) 2016-08-23 19:07:51 +08:00
raven02 707523c679 Vulkan: set ColorBlendState info (used by logicOp) (#2080)
* Vulkan: set ColorBlendState info (used by logicOp)

* fix attachmentCount
2016-08-22 23:14:32 +08:00
raven02 e04de77f82 Vulkan : Ignore clear if surface target is set to CELL_GCM_SURFACE_TARGET_NONE (#2081) 2016-08-21 18:18:26 +08:00
Nekotekina 84d0d396ed EXPECTS usage removed 2016-08-15 16:29:38 +03:00
Vincent Lejeune a94b9d38b0 vk: refactor VKVertexBuffers. 2016-08-11 19:47:14 +02:00
Nekotekina a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Vincent Lejeune eb1d4811de rsx: Use a "draw clause" object in rsx_state. 2016-08-05 23:33:40 +02:00
Nekotekina 5a36c57c57 Formatting system improved
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
kd-11 47a9c8d731 vk/gl: bug fixes (#2018)
* vk: use null sampler for invalid/broken texture configurations

* gl: Do not consider 32_BIT_EXPORTS flag for depth writes
2016-08-04 03:33:52 +08:00
kd-11 33c59fa51b vk: optionally center/offset images when scaling (#1998) 2016-07-30 10:07:39 +08: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
raven02 f36f478281 vk: refactor compare_op (#1959) 2016-07-21 13:35:06 +08:00
Nekotekina ae634bb87e RSX exception fix
VBlank thread management fix
2016-07-20 15:16:19 +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
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
raven02 ed8ebda804 vk: add missing compare func not_equal (#1876) 2016-07-10 04:32:09 +08:00
Vincent Lejeune 772706ca4c Factorize rsx state 2016-07-07 21:38:57 +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
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 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
O1L 083c4fc855 Try to use new shaders decompiler in OpenGL backend 2016-06-21 19:56:00 +03:00
raven02 28366d35d2 VK: add cull mode and front face (#1789) 2016-06-19 09:53:49 +08:00
kd-11 833c100850 vk: Properly enable window resizing 2016-06-18 15:39:07 +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 c4102f3b18 vk/gl: Enable alpha test in shaders (#1743) 2016-06-05 20:31:23 +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 2bcc755fca Ignore clear if surface target is set to CELL_GCM_SURFACE_TARGET_NONE 2016-06-03 17:07:48 +03:00
Nekotekina 266db1336d The rest 2016-05-23 16:22:25 +03:00
Ivan aafcf44581 Header optimizations (#1684)
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00