Commit graph

116 commits

Author SHA1 Message Date
raven02
a270ac7f02 GL: re-use common fp/vp decompiler (#2100) 2016-08-26 22:23:23 +08:00
Vincent Lejeune
42b518cf7e rsx: use range for vertex buffer attribute. 2016-08-24 21:58:59 +02: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
d7a899f984 Vulkan : refine 2-sided lighting approach (#2083) 2016-08-23 08:24:22 +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
Nekotekina
cc46f2d7e6 LOG macro improved 2016-08-15 00:04:42 +03:00
Nekotekina
0f87c4485d Silly macro removed-2 2016-08-14 18:19:42 +03:00
Vincent Lejeune
a94b9d38b0 vk: refactor VKVertexBuffers. 2016-08-11 19:47:14 +02:00
kd-11
44ae306e6b vk: delay texture removal when cache is clobbered (#2045) 2016-08-09 08:47:42 +08: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
Vincent Lejeune
7a6f5b6ee5 rsx: Move index pointer generation in rsx::thread. 2016-08-05 17:54:44 +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
raven02
208f4c3e27 vk: front_diff_color typo fix (#2016)
* vk: typo fix

* continue in for loop
2016-08-02 23:54:49 +08:00
kd-11
33c59fa51b vk: optionally center/offset images when scaling (#1998) 2016-07-30 10:07:39 +08:00
Lena
e377199e41 Ensure the 'shaderlog' directory exists (#1986)
Should fix #1984
2016-07-26 00:15:14 +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
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
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
Vincent Lejeune
e9bee80f4b rsx: Use register_decoder for vertex attributes. 2016-07-19 20:28:32 +02: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
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
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
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