261 Commits
Author SHA1 Message Date
Henrik Rydgård 958078f603 GL render manager: Merge BindInputLayout into BindVertexBuffer. 2018-01-27 15:10:17 +01:00
Henrik Rydgård f99fa02ba7 Run the depal stuff, seems a bit broken. Add some state filtering. 2018-01-27 15:10:17 +01:00
Henrik Rydgård d5c6786ead Fix some texture memory bugs (yeah need to make copies..) 2018-01-27 15:10:17 +01:00
Henrik Rydgård 8a1e7347b9 GL render manager: Various fixes and cleanup including a buffered rendering fix, rect primitive fix 2018-01-27 15:10:17 +01:00
Henrik Rydgård 51f467a7b3 Kill off the GL state cache 2018-01-27 15:10:17 +01:00
Henrik Rydgård f3282dcfda Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes. 2018-01-27 15:10:17 +01:00
Henrik Rydgård 46e1fbb788 Initial texture work. Bugfix indexed drawing 2018-01-27 15:10:17 +01:00
Henrik Rydgård 376d92fcc9 Start messing with the draw engine... 2018-01-27 15:10:17 +01:00
Henrik Rydgård 9340260802 Finish the shader manager (almost) 2018-01-27 15:10:17 +01:00
Henrik Rydgård b10b24feea GLES device lost/store fixes 2017-12-10 02:05:25 +01:00
Henrik Rydgård 7d0fc9ce65 Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc. 2017-12-07 15:05:59 +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 734d9c494c Fix bug in Vulkan non-buffered where clears could extend outside the frame, since Vulkan clears do not respect scissors. 2017-12-02 11:05:10 +01:00
Henrik Rydgård 713afdfe49 Refactor: Unify DecodeVerts and move ComputeNumVertsToDecode to Common 2017-11-19 12:39:09 +01:00
Henrik Rydgård 3e749a94ce Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
This can cut down the number of pipelines to a third or less in some
games. However, benefit is likely smaller since Vulkan drivers will
deduplicate shaders inside each vkPipelineCache object.

Helps #10106 while not actually implementing any of the suggestions inside.
2017-11-13 11:22:33 +01:00
Henrik Rydgård 17d624d311 Ditch a silly vertex count limit that only makes sense for GLES, so move it there. 2017-11-10 15:59:36 +01:00
Henrik Rydgård 237cca683b Maintain the hashmap from time to time. Fix a bug in count reset on grow. 2017-08-20 13:34:11 +02:00
Henrik Rydgård e0e13e191f Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. 2017-08-20 11:30:19 +02:00
Henrik Rydgård e55b6ac4af Unify SetupVertexDecoder 2017-06-03 18:05:46 +02:00
Henrik Rydgård 14a80968cf Unify transformed arrays 2017-06-03 18:05:21 +02:00
Henrik Rydgård 1abb8792ab Unify ComputeMiniHash 2017-06-03 18:05:18 +02:00
Henrik Rydgård 3032240916 Unify DecodeVertsStep 2017-06-03 18:04:46 +02:00
Henrik Rydgård 240e058b3b Some unification in DrawEngine 2017-06-03 18:03:56 +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
Unknown W. Brackets 70d17d1bc7 Track flags to reduce unnecessary VRAM zeroing.
If we haven't downloaded to RAM since the last zero, no need to zero
again.  This is the most common case.
2017-04-09 15:10:07 -07:00
xebra ca7f265b11 [spline/bezier]Change all backends vertex texture format to RGBA(16 bytes). 2017-03-24 13:29:05 +09:00
Unknown W. Brackets ade110bcc8 Fix crash on resize due to overridden property. 2017-03-19 16:38:42 -07:00
Henrik Rydgard 032c340f50 Revert "Vertexcache ComputeMiniHashRange: Doesn't make sense to hash more data than the step size."
This reverts commit 0bbb61e5d2.
2017-03-19 12:47:12 +01:00
Henrik Rydgard 0bbb61e5d2 Vertexcache ComputeMiniHashRange: Doesn't make sense to hash more data than the step size. 2017-03-19 12:08:21 +01:00
Henrik Rydgard 908193e894 Rework Android lost/restore lifecycle again. Can autorotate screen without crashing again. Should help #9295 and maybe #8906. 2017-03-18 15:21:26 +01:00
Henrik Rydgard 378170d723 Add ability to tag objects in the gl_lost_manager 2017-03-18 13:55:15 +01:00
Henrik Rydgård 17a250df7a Always trigger gpu->Resized when exiting GameSettingsScreen.
Strangely, this does NOT help #9438.
2017-03-17 10:27:49 +01:00
Henrik Rydgard 5d4700ae7e Sprinkle calls to CHECK_GL_ERROR_IF_DEBUG all over the place, disabled by default. 2017-03-03 14:18:40 +01:00
Henrik Rydgard 147d311acb Fix typo with isAllowTexture2D for hardware tesselation 2017-03-03 12:32:01 +01:00
xebra 0172bbe8aa [spline/bezier]Minor fixes for HW tess GLES. 2017-02-25 18:40:20 +09:00
Henrik Rydgard 4538edad14 Work towards enabling shader blending on D3D11 2017-02-17 12:21:18 +01:00
Henrik Rydgard f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00
Henrik Rydgard 389650e2a7 Need to include getUVGenMode in vertex cache hash. Fixes #9263 2017-02-04 11:15:47 +01:00
Henrik Rydgard 9c55e1e0de Only enable RAM Clears for the SOCOM games that require it.
Should remove the performance impact of #8994 which is bigger than
expected, it seems (cache pollution?)
2017-01-28 10:11:43 +01:00
xebra a460acf411 [spline/bezier]Fix to build GLES. 2017-01-27 13:32:36 +09:00
xebra 0e6c2b00cf [spline/bezier]Fix compatibility for GLES. 2017-01-27 13:32:35 +09:00
Henrik Rydgard 98e0ccf1e1 Vertex JIT: Add some missing functions to ARM/ARM64 decoders. 2017-01-25 20:13:29 +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 d9acd27126 Rename GLES files to match the convention the other backends use. 2017-01-23 17:08:58 +01:00
xebraandHenrik Rydgård deea258383 [spline/bezier]Fix to avoid crashing when activated hardware tessellation with dx9 and vulkan. 2017-01-23 14:12:03 +01:00
xebraandHenrik Rydgård 334afbd1ae [spline/bezier]Fix again about compatibility with GLES. from @LunaMoo. 2017-01-23 14:12:03 +01:00
xebraandHenrik Rydgård 67503ed160 [spline/bezier]Small fixes for compatibility with GLES 2.0. 2017-01-23 14:12:03 +01:00
xebraandHenrik Rydgård 5aeaa95f2c [spline/bezier]Implement hardware tessellation on OpenGL. 2017-01-23 14:12:02 +01:00
Henrik Rydgard 1dbeca0618 Only support decoding UV to float in vertex formats. Supporting u8 and 16 was more complexity than it's worth. 2016-12-20 13:42:54 +01:00