Commit graph

56 commits

Author SHA1 Message Date
Henrik Rydgård
40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Unknown W. Brackets
4731a2918c GPU: Use more typesafe shader IDs.
Since they really are fairly distinct, let's make sure we can't mix them
accidentally.
2017-12-02 09:07:27 -08:00
Henrik Rydgård
7b2ad5fe72 Add some debug asserts, useful for debugging shader mismatches locally (though haven't found any..) 2017-12-01 00:28:07 +01:00
Henrik Rydgård
ce1bc7fc3f Fixes problem switching between non-through triangles and rects. Helps a small part of #6554 2017-11-14 09:27:03 +01:00
Henrik Rydgård
d5f8d484dd Tiny cleanups. 2017-11-04 10:08:53 +01:00
Unknown W. Brackets
72e0a24724 GPU: Reset shader state on shader reset.
Was ending up with lastFSID being -1, but being used.

Seen in gpu/commands/blend test.
2017-09-20 08:37:54 -07:00
Henrik Rydgård
2f85e6516e Minor optimizations (use the new hashmap in a few more places) 2017-08-20 19:18:46 +02:00
Henrik Rydgård
b9b2656e93 More vulkan microoptimizations. Add more profiler scopes. 2017-08-18 13:48:11 +02:00
Henrik Rydgård
4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Henrik Rydgard
078e1151f9 Dirty-flag the fragment shader ID. 2017-08-14 11:36:07 +02:00
Henrik Rydgard
56cd991833 All: Only recompute the vertex shader ID when dirty 2017-08-14 11:36:06 +02:00
Henrik Rydgård
c173da49d3 Fix a number of bugs and stuff affecting Vulkan on Mali 2017-05-30 09:36:17 +02:00
Henrik Rydgard
3f4e14f504 D3D11: Lumines is now playable in non-buffered, with reverse colors. 2017-02-10 11:25:24 +01:00
Henrik Rydgard
175b97ef34 Start stubbing out a new D3D11 backend 2017-02-08 17:35:41 +01:00
Henrik Rydgard
e17d3e1e7a Vulkan: Forgot to extend a few more dirtyflag variables to 64-bit. Avoid a warning. 2017-01-24 20:19:06 +01:00
Henrik Rydgard
d85888dc2b Table-driven dirty-flags for Vulkan and D3D9. Minor Vulkan optimization. 2017-01-24 18:12:20 +01:00
Henrik Rydgard
e4cb44c243 Merge the texture flags into the dirty flags 2017-01-24 18:12:20 +01:00
Henrik Rydgard
b423998c36 Move uniform dirty-flag to gstate_c, opening up for other uses. 2017-01-24 18:12:20 +01:00
Henrik Rydgard
0a3bb4a720 Vulkan: Increase size of per-frame descriptor pool, move uniform to right place 2017-01-24 18:11:48 +01:00
Henrik Rydgard
3c221a7ebd Extract the dirty flag from the shader managers so code that dirties uniform flags can be shared. 2017-01-23 21:11:39 +01:00
Henrik Rydgard
0fa2f2c7ae Remove more now-unused code 2016-12-20 13:50:07 +01:00
Henrik Rydgard
9d7983eee8 Remove the ability to turn off prescaleUV entirely. It's simply better to do it in the vertex decoder. 2016-12-20 13:27:44 +01:00
Unknown W. Brackets
39d6ea2985 Vulkan: Auto-set queued deletes to null. 2016-10-09 12:16:42 -07:00
Unknown W. Brackets
a4268fe0b8 Vulkan: Prep pipeline and shader cache for restore. 2016-10-09 11:28:10 -07:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Unknown W. Brackets
2b06137e11 Vulkan: Remove an unused function. 2016-05-21 09:29:04 -07:00
Henrik Rydgard
ffde7020d2 Vulkan prescale UV fix 2016-03-20 21:48:28 +01:00
Henrik Rydgard
827481d41d Combined two uniforms to get the base UBO down to 512b, in order to not waste space (nVidia needs 256-byte alignment) 2016-03-20 20:53:46 +01:00
Henrik Rydgard
0b1cfaf751 Be more economical with UBO pushbuffer space by reusing the last data when possible. 2016-03-20 19:35:31 +01:00
Henrik Rydgard
18d78f9a35 Minor optimizations 2016-03-20 19:35:03 +01:00
Henrik Rydgard
2c61b1e763 Change the VulkanPushBuffer API to allow for adding support for dynamic growth 2016-03-20 19:35:03 +01:00
Henrik Rydgard
5d56537a16 Move VulkanPushBuffer into VulkanMemory.h 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
baa7132a89 Vulkan: Simplify color testing. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
dad64b39b6 Vulkan: Properly set the alpha test ref.
It's definitely not a float, oops.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
a995dd2ff4 Get rid of strange offset in Vulkan matrix converter 2016-03-20 19:31:02 +01:00
Henrik Rydgard
697f3a8f94 Matrix depth fix. Still have depth issues though. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
5cee8856ea Fix UV scale for some vertex formats (like GL). Separate updates of PROJ and PROJTHROUGH matrices. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
d325aa2b30 Hook up Vulkan on Android, no idea if it works. Move VulkanContext to Common. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
2481714a8e Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet) 2016-03-20 19:30:11 +01:00
Henrik Rydgard
1677697735 Vulkan: Don't try to overlap proj with proj_through, will need a different approach.
Also, assorted bugfixes.
2016-03-20 19:30:11 +01:00
Henrik Rydgard
5f71b5b3ec Android: Vulkan builds but doesn't link as we have no link library. 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
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
29341e53a5 Assorted fixes and cleanups. 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
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