Commit Graph

3783 Commits

Author SHA1 Message Date
Henrik Rydgard
5b70957b1f Expose another couple of vulkan device features. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
d5f685ce05 WIP trying to fix drawing issues 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4b978b1fd3 Crashfix, fix left-behind culling disabling 2016-03-20 19:30:11 +01:00
Henrik Rydgard
02d1648872 Delete pipeline caches asynchronously too 2016-03-20 19:30:11 +01:00
Henrik Rydgard
3284899844 More clearing fixes. Also fix some memory leaks. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
2e998891a4 The settings to the vertex decoder must match the implementation..
Fixes some character scale issues.
2016-03-20 19:30:11 +01:00
Henrik Rydgard
55ef97639a More zero-initialization. Fix scope issue, MSVC's optimizer was aggressive enough that this was a problem. Fixes textures in release mode. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4c281f16ac Fix mixup with fragment shader ubo variables 2016-03-20 19:30:11 +01:00
Henrik Rydgard
3bf88d7475 Plug the texture memory leak 2016-03-20 19:30:11 +01:00
Henrik Rydgard
29341e53a5 Assorted fixes and cleanups. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
87b743e922 Fix issues with texture replacement 2016-03-20 19:30:11 +01:00
Henrik Rydgard
78d5fff2fe More texture work 2016-03-20 19:30:11 +01:00
Henrik Rydgard
dced84c9fc Work on texture support, cube.elf works correctly. Delete unused code. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
7eeba080c7 Fix primitive topology. Crashfix. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
9e34d7d625 Remove remains of FragmentTestCache from Vulkan backend 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4e6a9b8108 Fix indexed through-mode drawing 2016-03-20 19:30:11 +01:00
Henrik Rydgard
ec6bc4a5f6 Vertex format fixes. Flip through drawing the right way up. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
6b8c004561 Fix indexed drawing, flip rendering the right side up, enable culling 2016-03-20 19:30:11 +01:00
Henrik Rydgard
6141c3651b Separate uniform updates from shader updates 2016-03-20 19:30:11 +01:00
Henrik Rydgard
d67d187b72 Get untextured drawing working! (at least cube.elf) 2016-03-20 19:30:11 +01:00
Henrik Rydgard
28ae840abe Pipelines, samplers, description sets, oh my 2016-03-20 19:30:11 +01:00
Henrik Rydgard
668830365d Begin/End frame fixes 2016-03-20 19:30:11 +01:00
Henrik Rydgard
01e3fbae95 Fix clearing bug, add FIFO_RELAXED flag, etc 2016-03-20 19:30:11 +01:00
Henrik Rydgard
ddb36a35a0 Some descriptor binding fixes 2016-03-20 19:30:11 +01:00
Henrik Rydgard
906b259a85 First PSP shaders actually compile 2016-03-20 19:30:11 +01:00
Henrik Rydgard
49f1e702c9 Okay, reached the shader generators 2016-03-20 19:30:11 +01:00
Henrik Rydgard
3701e2eca3 Reaches the first clear 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4063f7e0db Fill out GPU_Vulkan.cpp with what's mostly a copy of GLES_GPU.cpp 2016-03-20 19:30:11 +01:00
Henrik Rydgard
cfcfd406fc Start porting TextureCache. Lots of stubbing going on. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
5216a24590 Back to work on the PSP renderer 2016-03-20 19:30:11 +01:00
Henrik Rydgard
e89a7f0c67 Update VulkanContext 2016-03-20 19:26:41 +01:00
Henrik Rydgard
cfbecf5071 More progress 2016-03-20 19:26:41 +01:00
Henrik Rydgard
129c706cfc Just some work on the shader generators 2016-03-20 19:26:12 +01:00
Henrik Rydgard
73d6d2dc72 More vulkan in thin3d 2016-03-20 19:25:53 +01:00
Henrik Rydgard
2a449f78bb More vulkan fixing 2016-03-20 19:25:30 +01:00
Henrik Rydgard
c64064024d Initial vulkan code.
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00
Henrik Rydgård
54a37f9bb8 Merge pull request #8591 from unknownbrackets/thin3d
Use thin3d for softgpu drawing (+thin3d improvements)
2016-03-20 18:06:53 +01:00
Henrik Rydgard
4c0e6d0138 Some renaming, fixes and tweaks to the gl_lost mechanism, which is again needed 2016-03-17 21:30:16 +01:00
Henrik Rydgard
c8457d39ed Fix a bunch of compiler warnings, delete some unused code 2016-03-13 15:17:31 +01:00
Unknown W. Brackets
944a1f380b Disable alpha test optimization with logic ops.
We still need to discard the pixels in the case of a logic op, like
invert.  Otherwise we will invert the blended pixels too.

See #8632.
2016-03-12 09:27:18 -08:00
Henrik Rydgard
58b07e00d7 Assorted fixes and cleanups. 2016-03-06 11:46:41 -08:00
Henrik Rydgard
9d8d810395 Clear detection: Don't need to check the even vertices, as the odd vertices are the ones used for color.
This lets us detect and replace cube.elf's clear, and probably others.
2016-03-06 11:36:32 -08:00
Henrik Rydgard
d67b148712 Add math dataconv funcs for packed values. 2016-03-06 11:33:53 -08:00
Unknown W. Brackets
6b9b00aa16 Assume DUALSOURCE replace alpha means supported.
We already check supports when generating this value, don't need to check
again when using it.
2016-03-05 17:18:04 -08:00
Unknown W. Brackets
212848c1cc Explicitly enable dual source blending in shader.
Without this, the shader fails to compile on SHIELD devices with
up-to-date drivers.  It may have also been failing on other devices.

The specification notes that the #extension line must be used.
2016-03-05 13:27:27 -08:00
Unknown W. Brackets
7dfe8b58dc Clear attrMask on bad shader compile.
This prevents various crashes when incorrect attributes are enabled.
2016-03-05 13:14:25 -08:00
Unknown W. Brackets
505ff99461 Maintain and use a freelist for buffer objects.
Only for sized buffers, which are the ones we gain something from reusing.
2016-02-28 15:10:41 -08:00
Henrik Rydgard
5f761c346b Attempt workaround for #8610 2016-02-28 11:06:49 +01:00
Unknown W. Brackets
818a0d846a d3d9: Correct for half-pixel offset in softgpu. 2016-02-13 14:52:35 -08:00
Unknown W. Brackets
f84ebdc3e4 thin3d: Use floats directly for 4x4 matrices. 2016-02-13 14:50:06 -08:00