Commit graph

85 commits

Author SHA1 Message Date
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
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
O1L 083c4fc855 Try to use new shaders decompiler in OpenGL backend 2016-06-21 19:56:00 +03:00
raven02 298c9fea22 vk: Better VRAM heap selection by memory properties (AMD) 2016-06-19 13:49:25 +08: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
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 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 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 2bcc755fca Ignore clear if surface target is set to CELL_GCM_SURFACE_TARGET_NONE 2016-06-03 17:07:48 +03:00
raven02 ee645d054d GL/Vulkan: Implement DP2A (#1708) 2016-06-02 13:07:43 +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
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
Nekotekina b85a68e8a1 Partial commit: RSX 2016-04-15 19:22:36 +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
Raul Tambre 5ad060f150 Vulkan/DX12: Texture format fixes
DX12 also had a couple fixes
2016-04-07 21:34:32 +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 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 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 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 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
Vincent Lejeune 36aace57ca vulkan: Use simpler texture object 2016-03-23 21:09:30 +01:00
Vincent Lejeune 4f2bda26fc vulkan: Simplify framebuffer class and release them at frame flip 2016-03-21 22:56:07 +01:00