Commit graph

166 commits

Author SHA1 Message Date
Unknown W. Brackets
1cc488aef4 SoftGPU: Support Take Screenshot partially.
This doesn't capture the FPS etc. as other backends do, but at least it
takes a screenshot.
2017-06-01 20:40:45 -07:00
Unknown W. Brackets
2233ab073d SoftGPU: Expose jit cache for profiling. 2017-05-30 22:57:42 -07:00
Unknown W. Brackets
1b491fe156 SoftGPU: Stub a jit for texel fetch. 2017-05-30 22:57:30 -07: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 Rydgård
6bcfe539f7 Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
35aefe4a2a BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr) 2017-05-30 09:36:17 +02:00
Henrik Rydgård
8f9e0b7fcc SoftGPU: Make sure transformunit.buf is properly aligned. Helps part of #9718 2017-05-24 10:20:10 +02:00
Unknown W. Brackets
8187927b9d SoftGPU: Use vertexjit for submitted primitives.
This uses the standard cache other rendering uses.

In Legend of Heroes 3, for example, this provides a 10% speed improvement.
2017-05-20 20:22:35 -07:00
Unknown W. Brackets
1666586869 SoftGPU: Implement CONTINUE prim type.
Matches tests (except 3D lines, which aren't implemented yet.)
2017-04-29 20:36:36 -07:00
Unknown W. Brackets
1e78642a7b SoftGPU: Remove old spline handling code. 2017-04-15 21:10:19 -07:00
Unknown W. Brackets
b543c0d0e4 SoftGPU: Use common spline/bezier rendering.
There's nothing inherently non-software rendering about this.
2017-04-15 20:08:37 -07:00
Unknown W. Brackets
b67650a8ff SoftGPU: Force render res to 1x.
This fixes issues with the vertex preview in the GE Debugger.
2017-04-15 19:54:42 -07:00
Unknown W. Brackets
31ddcd48ed SoftGPU: Fix crash on matrix load.
Just stubbing the draw engine here.
2017-04-15 19:53:56 -07:00
Henrik Rydgård
c899882034 Fix issues with software GPU on D3D11 2017-04-11 12:53:11 +02:00
Henrik Rydgard
ecdb289235 Fix SoftGPU for 16-bit framebuffer formats. Fixes #9422 2017-03-14 09:53:41 +01:00
Henrik Rydgard
eabcb22623 Refactor away SetImageData 2017-02-19 11:02:24 +01:00
Henrik Rydgard
0e8aeaea3a D3D11: Implement basic framebuffer readback.
Also make debug interfaces more consistent.
2017-02-18 00:07:49 +01:00
Henrik Rydgard
2fabe3e1c5 Fix a number of resource leaks, both D3D11-only and general.
Additionally, fix D3D11 BlitFramebuffer
2017-02-17 19:23:01 +01:00
Henrik Rydgard
5c918da774 Minor cleanups (combined two identical enums, misc) 2017-02-15 11:06:59 +01:00
Henrik Rydgard
9bdae8f32e DrawContext: Use uniform buffers on all platforms (simulated where necessary) 2017-02-08 12:55:58 +01:00
Henrik Rydgard
41fecc8c16 More D3D11 basics. Only dynamic constant buffers left, then it should display the UI. 2017-02-07 19:45:09 +01:00
Henrik Rydgard
d78d3bb25f Change the API for updating buffers from the CPU to be cleaner 2017-02-07 19:04:44 +01:00
Henrik Rydgard
534a65c610 Remove thin3d buffer->SetData 2017-02-07 18:42:32 +01:00
Henrik Rydgard
0d1d6f98e4 Pass in the DrawContext to all backends 2017-01-30 20:26:47 +01:00
Henrik Rydgard
20d9e60a67 Just some renaming. Start moving away from the "thin3d" name 2017-01-30 14:38:31 +01:00
Henrik Rydgård
14d2bf5989 Merge pull request #9136 from LunaMoo/ProjectionMatrixData
Limit Projection Matrix Data count to <= 16
2017-01-28 17:04:12 +01:00
Henrik Rydgard
b8ba01f754 SoftGPU: Fix vertex colors, prevent a crash. Helps #9247 2017-01-28 16:41:38 +01:00
Henrik Rydgård
528af8a939 Simplification around textures 2017-01-24 20:59:00 +01:00
Henrik Rydgård
d8dbb8389b Make buffer binding more Vulkan/Metal-like 2017-01-24 20:59:00 +01:00
Henrik Rydgård
8654d42528 DrawContext API change: introduce TextureDesc 2017-01-24 20:59:00 +01:00
Henrik Rydgård
6a7d3a3910 Break out image file management from DrawContext (thin3d) 2017-01-24 20:58:59 +01:00
LunaMoo
e0aaba5448 Also fix SoftGPU 2017-01-24 02:35:06 +01:00
Henrik Rydgard
ae37df0a8c Further centralization of EstimatePerVertexCost, now moved to GPUCommon 2017-01-23 21:11:39 +01:00
Henrik Rydgård
cbf4e5f38c Implement colormask 2016-12-27 11:59:11 +01:00
Henrik Rydgård
9f2e83b66c Bundle up more state in the pipeline object. Lets us get rid of Vulkan's pipeline cache. 2016-12-27 11:59:11 +01:00
Henrik Rydgård
8d84fb75c7 Remove ShaderSet presets 2016-12-27 11:59:10 +01:00
Henrik Rydgård
1ed7f0d7fd More modern way to specify vertex data format (inputlayout) 2016-12-27 11:59:10 +01:00
Henrik Rydgård
166243e0fd Make pipelines bound state 2016-12-27 11:59:10 +01:00
Henrik Rydgård
4462a8cc99 Rename ShaderSet to Pipeline. Get rid of scissorEnable setting (scissor is always enabled). 2016-12-27 11:59:10 +01:00
Henrik Rydgård
3de4a38527 More renaming to match 2016-12-27 11:59:10 +01:00
Henrik Rydgård
425940b433 More renaming 2016-12-27 11:59:07 +01:00
Henrik Rydgård
c7c541f926 Add DepthStencilStateDesc 2016-12-27 11:59:06 +01:00
Henrik Rydgård
f86b9f7900 Guess what? More renaming 2016-12-27 11:59:06 +01:00
Henrik Rydgård
9b439e4c43 Remove Thin3D prefix on more things 2016-12-27 11:59:06 +01:00
Henrik Rydgård
463251908b Rename things to closer match another project which I plan to share some code with 2016-12-27 11:59:02 +01:00
Henrik Rydgård
10393f5d4e Move Thin3D into the Draw namespace. 2016-12-27 11:58:03 +01:00
Henrik Rydgård
b60ad37146 Remove blend and sampler state presets, they didn't save any code 2016-12-25 11:37:23 +01:00
Henrik Rydgård
97d029972e Rename SetTextures to BindTextures 2016-12-25 11:31:33 +01:00
Henrik Rydgård
1c0c755b03 Extract RasterState from thin3d, for easier d3d11 porting 2016-12-25 11:31:33 +01:00
Henrik Rydgård
4a3938958c Thin3D: Unified DataFormat enum 2016-12-25 11:31:33 +01:00