Commit graph

134 commits

Author SHA1 Message Date
kd-11
2c803dbe66 gl/vk: Bug fixes and improvements (#2206)
* gl: Only bind attrib textures on thread startup

* gl: Persistent mapped buffers

* gl: Fix emulated primitives in an inlined array

* gl: Do not re-update program information every draw call

* gl/vk: s1 type is signed normalized not unsigned normalized

* gl/rsx: Allow disabling of persistent buffers for debugging

gl: Large heap size is more practical

gl: Fix a bug with legacy opengl buffers

* gl/rsx: Allow emulation of unsupported attribute formats

* gl: Fix typos and remove dprints

gl: cleanup debug prints

* ui: Move the GL legacy buffer toggle to the left pane

* vk/gl: Fix cmp type, its range is [-1,1] not [0,1] SNORM_INT
2016-10-18 15:57:28 +08: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
raven02
44b8556dc6 Vulkan: fix G8B8 texture swizzle (#2181) 2016-10-01 17:02:10 +08:00
kd-11
1c9718389f gl/vk: Vertex attribute uploading and texture swizzle fixes (#2174)
* gl/vk: Properly upload vertex attributes

* vk: Fix cmp type

* vk: Remap all texture formats
2016-09-29 15:16:00 +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
38562155d4 gl/vk: Flip wpos if origin != top 2016-09-28 07:22:45 +08:00
raven02
528b2d6c7b GL/Vulkan: not discard fragment when hits NEVER comparsion (#2156)
GL/Vulkan: return no operation when comparison is never
2016-09-26 21:59:38 +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
77f8ce503d RSX texture refactor (#2144) 2016-09-19 09:25:49 +08:00
vlj
8d54bcbc0d rsx: Use variant based draw commands. 2016-09-17 23:37:52 +02:00
vlj
03c86ae43b rsx: Move inline array to draw_clause structure. 2016-09-17 23:37:52 +02:00
raven02
d4a55f4b06 Vulkan: enable cull face again (#2124)
* Vulkan: enable cull face again

* minor fix
2016-09-06 09:43:27 +08:00
vlj
11858dce1a rsx: Vertex array attributes don't need to be stored outside of regs. 2016-08-27 15:40:41 +02:00
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