Commit Graph

21106 Commits

Author SHA1 Message Date
Henrik Rydgård
4199eb3493 More D3D11 2017-01-24 20:58:59 +01:00
Henrik Rydgård
1c337f72bb Slightly saner way to choose shaders depending on language. More work needed. 2017-01-24 20:58:59 +01:00
Henrik Rydgård
c79712d9f9 Thin3D backends can report which shader languages they support 2017-01-24 20:58:59 +01:00
Henrik Rydgård
377561865a A little more D3D11, BlendFactor 2017-01-24 20:58:59 +01:00
Henrik Rydgård
75cbf4065b Merge pull request #9231 from hrydgard/extended-dirty-flag
Set dirty-flags without callbacks
2017-01-24 20:21:40 +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
62a171c616 Minor DX9 optimization 2017-01-24 18:12:20 +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
1fe32d380b Update lots of dirty-flag table entries 2017-01-24 18:12:20 +01:00
Henrik Rydgard
443d735a28 Activate table-driven dirty-flags in DX9 and Vulkan backends 2017-01-24 18:12:20 +01:00
Henrik Rydgard
068f2d3c71 Remove Execute_Generic in both D3D9 and Vulkan backends 2017-01-24 18:12:20 +01:00
Henrik Rydgard
c70265d7f2 Use table-driven dirtying instead of callbacks in GPU_GLES 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
c289a2c7bf Split TextureChanged into two bools, so we can later convert to dirtyflags 2017-01-24 18:12:20 +01:00
Henrik Rydgard
7d60ec73be Move framebufChanged into the dirty flag field 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
83b4be6848 Update the .sln version 2017-01-24 18:11:48 +01:00
Henrik Rydgard
ae569cd53a Fix some Vulkan brokenness (Vulkan2D beginframe/endframe weren't called) 2017-01-24 18:11:48 +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 Rydgård
ff6b660eda Merge pull request #9230 from xebra/spline_bezier
Fix texture animation with hw tess.
2017-01-24 06:58:45 +01:00
xebra
3ecff41908 [spline/bezier]Fix to avoid temporarily texture animation bug with hardware tessellation. 2017-01-24 14:39:19 +09:00
Henrik Rydgård
58f731d734 Merge pull request #9228 from hrydgard/centralize-matrix-loads
Centralize matrix loads
2017-01-23 22:47:08 +01:00
Henrik Rydgard
f111767315 Workaround the lack of support for software skinning in Vulkan 2017-01-23 22:06:30 +01:00
Henrik Rydgard
69267d4cd6 Minor optimizations 2017-01-23 21:14:27 +01:00
Henrik Rydgard
ae37df0a8c Further centralization of EstimatePerVertexCost, now moved to GPUCommon 2017-01-23 21:11:39 +01:00
Henrik Rydgard
daf02f1de6 Centralize the matrix load functions, no need to duplicate them for each backend. 2017-01-23 21:11:39 +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
097638f4fd Fix crash bug 2017-01-23 21:09:20 +01:00
Henrik Rydgard
59d80a3785 Share the set of dirty flags between the backend, to let use share more code. 2017-01-23 20:39:17 +01:00
Henrik Rydgård
0cbc48c48c Merge pull request #9227 from hrydgard/gfx-cleanups
Centralize some more code, cleanup, hw tess uv bugfix
2017-01-23 18:51:47 +01:00
Henrik Rydgard
63c00ec528 Don't need to take vertex format into account when applying UV scale for spline/bezier 2017-01-23 17:44:13 +01:00
Henrik Rydgard
f139246a78 Switch D3D and Vulkan to 64-bit dirty flags 2017-01-23 17:32:18 +01:00
Henrik Rydgard
bd4436c6eb Centralize EstimatePerVertexCost and Execute_BlockTransferStart 2017-01-23 17:22:17 +01:00
Henrik Rydgård
9400238da6 Merge pull request #9225 from hrydgard/rename-gles-files
Rename GLES files to match the convention the other backends use.
2017-01-23 17:19:08 +01:00
Henrik Rydgard
e1cc13fd84 Buildfix 2017-01-23 17:08:58 +01:00
Henrik Rydgard
d9acd27126 Rename GLES files to match the convention the other backends use. 2017-01-23 17:08:58 +01:00
Henrik Rydgård
ce2feb2a67 Merge pull request #9226 from hrydgard/cleaned-up-hw-tess
Cleaned up branch of Xebra's hw tess
2017-01-23 15:26:12 +01:00
Henrik Rydgård
f111eede85 Some GLSL syntax fixes 2017-01-23 14:31:44 +01:00
xebra
54a2dcd442 [spline/bezier]Add some comments and fix to avoid division, use multiply instead. 2017-01-23 14:13:28 +01:00
xebra
7530e35ab6 Fix 64bits shader dirty flags properly. 2017-01-23 14:13:28 +01:00
xebra
b436aef32a [spline/bezier]Avoid to set shader id bits if option of hardware tessellation is off. 2017-01-23 14:13:28 +01:00
xebra
de253a6aef [spline/bezier]Revert #ab9c1d4 about spline/bezier. 2017-01-23 14:12:46 +01:00
xebra
deea258383 [spline/bezier]Fix to avoid crashing when activated hardware tessellation with dx9 and vulkan. 2017-01-23 14:12:03 +01:00
xebra
334afbd1ae [spline/bezier]Fix again about compatibility with GLES. from @LunaMoo. 2017-01-23 14:12:03 +01:00
xebra
2e7f2998c7 Exclusion control for options between spline/bezier quality and hardware tessellation. 2017-01-23 14:12:03 +01:00
xebra
67503ed160 [spline/bezier]Small fixes for compatibility with GLES 2.0. 2017-01-23 14:12:03 +01:00
xebra
95b534ef88 Update credit 2017-01-23 14:12:02 +01:00
xebra
5aeaa95f2c [spline/bezier]Implement hardware tessellation on OpenGL. 2017-01-23 14:12:02 +01:00
xebra
38293adc78 [spline/bezier]Expand shader dirty flags to 64 bit, and add some flags for hardware tessellation. 2017-01-23 14:12:02 +01:00
xebra
52f86cf61b [spline/bezier]Implement common logic of hardware tessellation. 2017-01-23 14:12:02 +01:00