Commit Graph
47 Commits
Author SHA1 Message Date
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
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 f5f9b5227d Tweak 565 buffer clearing. 2016-09-18 20:38:19 -07:00
Unknown W. Brackets ee0bc6c04d Clear memory when clearing drawing.
This should help synchronize block transfers better.

Should improve #8973.
2016-09-18 20:38:19 -07:00
Unknown W. Brackets 92d930887f Android: Add both a lost and restore phase.
Lost = delete, restore = create.  Let's stick to never overlapping.

May help #8912.
2016-09-10 21:58:42 -07:00
Henrik Rydgard 5005e83254 Consistency improvements to the memory protect/alloc APIs 2016-08-28 12:28:17 +02:00
Unknown W. Brackets 7f1ed0737e Fix depal/indexed rendering in core profile.
Oops, this needs to be bound after we apply the texture.
2016-05-21 15:30:54 -07:00
Unknown W. Brackets 68717411b1 Track when we see a clear indicate a size of a vfb. 2016-05-19 21:17:09 -07:00
Unknown W. Brackets 02995ff083 Tiny cleanup to indexgen. 2016-04-10 02:30:33 -07:00
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 7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00