Henrik Rydgård
542f9f9ef1
Assorted cleanup
2018-01-27 15:10:17 +01:00
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
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
67503ed160
[spline/bezier]Small fixes for compatibility with GLES 2.0.
2017-01-23 14:12:03 +01:00
xebra
5aeaa95f2c
[spline/bezier]Implement hardware tessellation on OpenGL.
2017-01-23 14:12:02 +01:00