Commit Graph
3581 Commits
Author SHA1 Message Date
Unknown W. Brackets f415c74358 Also fix padding for DisplayList on iOS.
Fixes #8199.
2015-12-24 14:31:43 -08:00
Henrik Rydgård 949fc8fe51 Merge pull request #8282 from unknownbrackets/softgpu
softgpu: Round tex coords properly for nearest
2015-12-21 23:52:34 +01:00
Unknown W. Brackets 941988cde4 Correct prescale issues with render-to-texture.
Still need to apply the scaling of the texture coordinates here (or
somewhere, maybe we prescale that as well?  Except it's figured later on
in the process...)
2015-12-20 21:13:43 -08:00
Unknown W. Brackets 2e0f9e5603 Apply prescale to generated UVs with speedhack. 2015-12-20 20:47:36 -08:00
Unknown W. Brackets c6cc5a5f45 softgpu: Support prescale UV properly.
It can be turned on and has effect, so we need to handle it.
2015-12-20 20:46:02 -08:00
Unknown W. Brackets 063a980094 softgpu: Round tex coords properly for nearest.
Fixes off-by-one errors in rendering certain textures.
2015-12-20 17:03:09 -08:00
Unknown W. Brackets 27ad8185e3 Add flag for core GL contexts.
Since using VBOs all the time is slower.
2015-12-19 09:18:35 -08:00
Unknown W. Brackets 164594b044 Use a VAO for all drawing, and VBOs throughout. 2015-12-19 09:18:34 -08:00
Unknown W. Brackets 0485f1bd96 softgpu: Use a VAO for copying to screen. 2015-12-19 09:18:32 -08:00
Unknown W. Brackets 003d1ea0f3 Correct glReadPixels() from offset. 2015-12-12 21:21:38 -08:00
Unknown W. Brackets fbc4b4e7a1 Use glCopyImageSubData() when it's available.
There's 4 different extensions providing this functionality.  NV is
supported on desktop and mobile, EXT/OES on mobile, and ARB on desktop.

Mostly these are only supported by desktop cards and NVIDIA mobile.

Good improvement in performance on NVIDIA when blit is called a lot, since
it doesn't need to rebind anything or change state.  Example is in desert
city in Tales of Phantasia.
2015-12-06 10:39:21 -08:00
Henrik Rydgård 4bb36b0e79 Merge pull request #8243 from unknownbrackets/gpu-blend
Enable EXT_blend_func_extended
2015-12-06 18:36:45 +01:00
Unknown W. Brackets 308a948169 Explicitly set row length for glReadPixels(). 2015-12-06 09:18:37 -08:00
Unknown W. Brackets a2d228a729 Remove more USING_GLES2 ifdefs. 2015-12-06 09:08:38 -08:00
Unknown W. Brackets 33e37f4cd3 Use qualifier for GLES3 framebuffer fetch.
Note: still statically disabled.
2015-11-27 16:09:57 -08:00
Unknown W. Brackets 1fb271a607 Enable EXT_blend_func_extended.
Not really tested.
2015-11-27 16:01:25 -08:00
Henrik Rydgard 01669cbd92 Hide the "Internal resolution" etc static display unless FPS counter is on.
Seems fairly related and I don't want to add more options.
2015-11-27 00:17:14 +01:00
Henrik Rydgård 5827b583d3 Merge pull request #8240 from unknownbrackets/clut-render
Initial CPU side render-to-clut handling
2015-11-27 00:08:08 +01:00
Unknown W. Brackets 1339f6b1f3 Report formats on usage of rendered clut. 2015-11-26 14:31:46 -08:00
Unknown W. Brackets 3965cba187 Disable clut render for now as a "slow effect".
Also, add reporting.
2015-11-26 13:42:18 -08:00
Unknown W. Brackets 8e2557bafe Support render-to-clut, at least in some cases.
This is pretty much only tested with Brave Story.  See #6754.

There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00
Henrik Rydgård 63dcc56bc6 Merge pull request #8236 from unknownbrackets/warnings
Warning fixes
2015-11-26 13:07:31 +01:00
Unknown W. Brackets a7b4c38464 Move some common files into MSVC filters. 2015-11-25 19:36:21 -08:00
Unknown W. Brackets 7a9bdee0a7 softgpu: Pass in the right value for fog. 2015-11-25 16:11:53 -08:00
Unknown W. Brackets 7bfe100b0f Fix some unused variable warnings.
The CheckAlpha one looks like it will matter.
2015-11-25 16:11:53 -08:00
Unknown W. Brackets c90559262b Software: clamp inverse factors to zero.
Just to make sure we don't end up with negative factors when
adding/subtracting/etc.
2015-11-19 06:48:37 -08:00
Unknown W. Brackets c22953a4b9 Treat invalid blend factors as fixed consistently. 2015-11-19 06:48:06 -08:00
Unknown W. Brackets eb5072bba5 Warning fixes. 2015-11-18 21:56:05 -08:00
Henrik Rydgard e3d2c65ba0 D3D fixes 2015-11-18 12:25:54 +01:00
Henrik Rydgard af33011fd3 Buildfix 2015-11-18 12:13:36 +01:00
Henrik Rydgard 758ec5a027 Avoid clearing the backbuffer before actually doing any rendering to fbo on every frame - instead, clear when stretching the framebuffer into place. May save quite a bit of bandwidth on tiler GPUs with naive GL drivers. 2015-11-18 12:13:35 +01:00
Henrik Rydgård 563ad0fa10 Merge pull request #8219 from unknownbrackets/gpu-logicop
Make logic ops flush on GLES
2015-11-16 01:21:43 +01:00
Unknown W. Brackets 7e71bd653f Allow logic ops in GLES.
We have a backup plan for them now, so they need to flush.

Fixes #2917.
2015-11-15 15:06:37 -08:00
Unknown W. Brackets 2ed8aab2d7 Avoid direct refs to OES_texture_npot.
So that we can control it centrally in GLES_GPU.
2015-11-15 15:06:09 -08:00
Unknown W. Brackets ec79dacc35 Correct weight count display for no weights.
This was causing it to always say unknown weights since the +1 on
weightCount.
2015-11-15 15:03:14 -08:00
Henrik Rydgård 5b21c1aa39 Merge pull request #8174 from hrydgard/remove-option-depthrangehack
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
2015-11-15 23:05:20 +01:00
Henrik Rydgard 4b360a571c Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
I hate doing this, but it's not really better off as an option.

See #8171
2015-11-15 23:00:25 +01:00
Unknown W. Brackets 010a7ac1af Correct state leakage on shader blend/self render.
This makes #2917 look right on desktop with blit and logic ops disabled.
2015-11-15 13:12:29 -08:00
Unknown W. Brackets bf7f07f918 Optimize inverse blending modes, where possible.
Also, take advantage of cases where we can double src and src.a in the
shader, which can in some cases get us closer to accurate.
2015-11-14 12:37:32 -08:00
Unknown W. Brackets 1be77e3893 Fix crash in headless GPU tests/bad settings.
Really any situation in which sPostShaderName is not exactly "Off", but
said shader doesn't exist.  In headless, it was "".
2015-11-14 11:00:10 -08:00
Henrik Rydgard 3acdd4e237 We had two global types called FBO, which is not ok. Fix that.
This caused some very strange behaviour in the MSVC debugger when looking at this stuff.
2015-11-14 13:24:51 +01:00
Henrik Rydgard fadb19acc6 Remove a very minor difference between the backends in state mapping 2015-11-14 09:56:36 +01:00
Unknown W. Brackets 294f09a61f Call ResetShaderBlending() from ApplyDrawState().
Cleaner this way.
2015-11-13 23:15:28 -08:00
Unknown W. Brackets 13a09647e2 d3d9: Disable shader blending, not implemented.
Fixes bad graphics in Ridge Racer, etc.
2015-11-13 23:11:06 -08:00
Unknown W. Brackets 3b98229c6f Correct texture preview in D3D9, oops. 2015-11-13 23:10:30 -08:00
Henrik Rydgard 639d56aa27 Remove a few minor differences between the state mapping code in the two backends 2015-11-12 18:11:32 +01:00
Henrik Rydgard df94914a63 D3D: No need to convert blendcolor to float and back
Fix bug with constantAlpha

Remove misleading comment, thanks unknown
2015-11-12 18:11:23 +01:00
Henrik Rydgard bcd452179f Switch D3D over to use ConvertBlendState 2015-11-12 18:11:21 +01:00
Henrik Rydgard 4a71d4cda2 The ConvertBlendState machinery is now pure, so move it out to GPU/Common 2015-11-12 18:11:20 +01:00
Henrik Rydgard 091fb28f55 Extract the glstate.blendcolor call from ConvertBlendState 2015-11-12 18:11:19 +01:00