Commit graph

3922 commits

Author SHA1 Message Date
Unknown W. Brackets
1e0051a792 Add support for 32-bit indices.
Not clear how often these are used by games.  Let's find out.
2016-04-10 02:24:58 -07:00
Henrik Rydgard
d85dce0c21 Add limited support for newly discovered 32-bit index buffer format (by unknownbrackets)
See https://github.com/hrydgard/pspautotests/pull/184

Will truncate indices past 65536.
2016-04-10 11:03:07 +02:00
Henrik Rydgard
58f77e8f5f Buildfix 2016-04-10 10:55:13 +02:00
Henrik Rydgard
fa64417917 Minor warning fixes 2016-04-10 10:34:39 +02:00
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Henrik Rydgard
e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02:00
Unknown W. Brackets
c0660c5ee7 Simplify some repeated code patterns a bit.
Doesn't save many lines of actual code, though...
2016-04-09 22:25:10 -07:00
Unknown W. Brackets
555c76d439 Use bernstein for texcoord interpolation too.
This also closely matches hardware.
2016-04-09 22:14:15 -07:00
Unknown W. Brackets
2314a0f0ee Update note per hardware testing. 2016-04-09 21:46:50 -07:00
Unknown W. Brackets
2bafba3909 Interpolate bezier patch colors using bernstein.
This closely matches hardware (some color values seem to be off by one.)

See #7525.
2016-04-09 21:41:49 -07:00
Unknown W. Brackets
59d9524308 Switch bernsteins to use sse-friendly Vec3f. 2016-04-09 21:10:52 -07:00
Henrik Rydgård
55b8dc1261 Merge pull request #8685 from unknownbrackets/gpu-fetch
Allow shader framebuffer fetch on GLES3 only
2016-04-09 22:29:41 +02:00
Unknown W. Brackets
3db8f7d320 Allow shader framebuffer fetch on GLES3 only.
Note: before we did not support it properly on GLES3 devices.
2016-04-09 12:08:43 -07:00
Henrik Rydgard
83d564f883 Fix a potential crash in SoftGpu (crash logs seem to point here) 2016-04-09 18:27:35 +02:00
Henrik Rydgard
62aaeb39b0 Vulkan texture cache: Remove the "replaceImages" path.
Images alloc is so fast, and we'd need to double buffer some images
anyway, better not to.
2016-04-09 10:30:23 +02:00
Henrik Rydgard
e1f660ebc1 Update vulkan structure init to the new style 2016-04-02 23:57:23 +02:00
Henrik Rydgard
861a30a6cd Fix an assortment of minor resource leaks, make vulkan validator happier. 2016-04-02 11:06:39 +02:00
Henrik Rydgard
727058fc27 Remove an entry from GPUStats that didn't really belong. 2016-04-02 11:06:05 +02:00
Henrik Rydgard
ad0da06f65 Forgot to remove these from the debug string. 2016-04-02 10:36:51 +02:00
Henrik Rydgard
c1e9df0777 Adjust the displayed debug stats for each backend. Cleanup. 2016-03-31 10:23:40 +02:00
Henrik Rydgard
5ef608fa50 GPU stats: Have each backend format its own string. 2016-03-31 10:17:02 +02:00
Henrik Rydgard
004c8b0fca Make debug stats more compact. 2016-03-31 09:47:25 +02:00
Henrik Rydgard
718789b99d Some cleanup in framebuffer code. Don't set BlendColor dynstate unless we need it. 2016-03-31 09:23:17 +02:00
Henrik Rydgard
51f0e504b3 oops 2016-03-31 00:50:50 +02:00
Henrik Rydgard
32f5930e15 Move clear handling to FramebufferVulkan, center the clear properly in non-buffered. more cleanup. 2016-03-31 00:50:50 +02:00
Henrik Rydgard
c2b66a0882 Another leak fix, buildfix 2016-03-31 00:49:10 +02:00
Henrik Rydgard
2b996db298 Crash and leak fixes 2016-03-31 00:49:10 +02:00
Henrik Rydgard
9f918fd11b Start hooking up framebuffers to CopyDisplayToOutput 2016-03-31 00:49:10 +02:00
Henrik Rydgard
f52fd0c853 FramebufferVulkan: Fix DrawPixels 2016-03-31 00:49:10 +02:00
Henrik Rydgard
731af0d0b4 Add some infrastructure for 2D drawing, to be used by the Vulkan framebuffer manager 2016-03-31 00:49:10 +02:00
Henrik Rydgard
2e55ba345c Some comments 2016-03-31 00:49:10 +02:00
Henrik Rydgard
339daede56 Clean up, start building some scaffolding 2016-03-31 00:49:10 +02:00
Henrik Rydgard
e124962d15 Fix depth/stencil clears (already fixed in framebuffer branch) 2016-03-31 00:48:01 +02:00
Henrik Rydgard
c75e9a0990 Fix vertex pushbuffer allocation for games that use indexed drawing with the same base repeatedly. 2016-03-31 00:46:50 +02:00
Henrik Rydgard
e2b58a05a6 Buildfix 2016-03-28 21:35:16 +02:00
Henrik Rydgard
40d05e292c Cleanup in FramebufferVulkan to reduce the size of future diffs 2016-03-28 20:23:29 +02:00
Henrik Rydgard
0a8d74728a x86/64: Add a couple of more cases to very minor vertex skinning optimization 2016-03-28 18:40:23 +02:00
Henrik Rydgard
a8c386b94c Make VulkanImage a little more flexible (make it possible to create depth images)
Just preparation.
2016-03-28 18:25:05 +02:00
Unknown W. Brackets
1aa8370f11 Vulkan: Use logic ops when available. 2016-03-27 12:39:01 -07:00
Unknown W. Brackets
14363a22db Oops, one more typo.
This one didn't break anything, but better to be safe.
2016-03-27 09:26:34 -07:00
Unknown W. Brackets
048a12f589 Buildfix.
Some compilers didn't like that, oops.
2016-03-27 09:25:25 -07:00
Henrik Rydgård
59788d91a9 Merge pull request #8674 from unknownbrackets/vulkan-debug
Vulkan: Add some basic info for reporting
2016-03-27 18:18:13 +02:00
Unknown W. Brackets
4ae39d15e5 Vulkan: Add some basic info for reporting. 2016-03-27 08:52:55 -07:00
Unknown W. Brackets
ed41785692 Vulkan: Add EndFrame to texture cache. 2016-03-27 08:33:22 -07:00
Unknown W. Brackets
3352608027 Vulkan: Free texture slabs on exit. 2016-03-27 08:30:43 -07:00
Unknown W. Brackets
16570f10bd Vulkan: Handle texture allocation failure.
Users hit out of memory even using desktop GL devices, and it will
definitely be possible on mobile and desktop Vulkan.
2016-03-27 08:30:42 -07:00
Unknown W. Brackets
27a5697a96 Vulkan: Use the slab allocator for textures. 2016-03-27 08:30:42 -07:00
Henrik Rydgård
b877cb0807 Merge pull request #8669 from unknownbrackets/vulkan-tex
Use out/outPitch for remaining formats in Vulkan
2016-03-27 10:22:32 +02:00
Unknown W. Brackets
b4406957c9 Halve the default tex buf size.
Might as well not allocate 2.5 MB that most of the time won't be needed.

If it becomes needed, it'll allocate at runtime, but this should be
uncommon.
2016-03-26 23:38:51 -07:00
Unknown W. Brackets
d2f85792ab Vulkan: Unswizzle non-CLUT textures directly. 2016-03-26 23:38:51 -07:00