Commit Graph
8662 Commits
Author SHA1 Message Date
Unknown W. Brackets fba0de59c1 GPU: Restrict alpha test to zero for dest blend.
We could end up with the wrong blending in other cases, because the
exiting color will get multiplied.

Luckily, this is still the common case.
2018-07-29 11:26:04 -07:00
Henrik Rydgård a776dce593 Merge pull request #11269 from unknownbrackets/fragtest
Avoid discard when we can blend
2018-07-29 09:49:16 +02:00
Henrik Rydgård 42f4d7b40f OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Unknown W. Brackets 5ccd3ee4dc GPU: Allow skipping discard when write disabled.
Even if we depth test, if we don't write, we can still force alpha to
zero.
2018-07-27 20:16:51 -07:00
Unknown W. Brackets 8e49fa988c GLES: Avoid discard when we can blend.
May improve performance on PowerVR.
2018-07-27 20:06:41 -07:00
Unknown W. Brackets 5ad948df73 Vulkan: Avoid discard when we can blend.
Where possible, replace alpha and color testing with a zero alpha value.

This allows early fragment tests more often, which may help #11227.  It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Henrik Rydgård a589a371e6 Update SPIRV-Cross to a fresher version. 2018-07-16 20:00:45 +02:00
Unknown W. Brackets 82f1b72c4a Merge pull request #11254 from hrydgard/light-chan-cost
Reduce the estimated transform cost of an additional light from 10 to 7 cycles
2018-07-15 07:42:34 -07:00
Henrik Rydgård c404214042 Update glslang to latest as of 2016-06-26 2018-07-15 12:30:40 +02:00
Henrik Rydgård ea1ef9277c Reduce the estimated transform cost of an additional light from 10 to 7 cycles, see #5530. 2018-07-15 12:13:25 +02:00
weihuoya d9d9b14e53 Don't cut below 2 2018-07-05 15:29:40 +08:00
Unknown W. Brackets 0b245699bb GLES: Specify unsigned shift for Adreno bug.
Adreno 320 devices, and at least 1 Intel device, are complaining that
right shift can't be used within uint/int.

Possibly related to:
https://github.com/KhronosGroup/glslang/issues/1296
2018-06-30 09:50:02 -07:00
Unknown W. Brackets 2a13a66e18 GPU: Use hw tess only for hw transform.
This may be needed if we start using software for points/lines.
2018-06-28 19:47:33 -07:00
Unknown W. Brackets 9bac603976 GPU: Use HW transform for flat spline/bezier.
We can control the provoking vertex here, but it's less likely to matter.
2018-06-28 19:30:20 -07:00
Henrik Rydgård 1517a93d08 Restore the vertexCount to 32-bit, needed in some tesselation situations 2018-06-26 19:49:49 +02:00
xebra 4fab160e19 [spline/bezier]Modify D3D11 hwtess texture buffer to structured shader buffer. 2018-06-27 01:10:36 +09:00
xebra 5536cdd827 [spline/bezier]Fix tex coords. 2018-06-26 01:47:13 +09:00
Unknown W. Brackets 95f270778e Core: Allow toggle between 2 custom speeds.
In addition to virtual keys for each speed separately.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets e2c217ab29 Core: More consistently use config enums. 2018-06-23 10:59:18 -07:00
Unknown W. Brackets b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Henrik Rydgård a9da0028bb Merge pull request #11203 from unknownbrackets/savestate
Reset CPU mhz on PPSSPP reset
2018-06-23 08:59:57 +02:00
Unknown W. Brackets fd8a0612fa SaveState: Initialize some memory that is saved.
At the very least, will help them compress better.  Also good not to leak
random memory.
2018-06-22 21:29:18 -07:00
Unknown W. Brackets 06340bfa9c Vulkan: Workaround Adreno discard bug. (#11197)
This also explicitly enables early fragment tests when possible.  Using
conversative depth still works on Adreno and should allow some depth
optimizations.
2018-06-20 09:05:27 +02:00
Henrik Rydgård f3ab56e15d Merge pull request #11193 from unknownbrackets/gles
Android: Allow using OpenGL 4.x with javaGL disabled
2018-06-18 10:58:39 +02:00
Unknown W. Brackets 03edd6129a GLES: Cut down on use of USING_GLES2. 2018-06-17 20:51:34 -07:00
Unknown W. Brackets bd13f6b906 Vulkan: Workaround stencil upload bug on Adreno.
We write a static depth value, which will be ignored, to force the driver
to support discard.
2018-06-17 17:50:38 -07:00
Unknown W. Brackets 9f4cd3fcdb GLES: Add missing semantics for stencil upload.
Makes #10634 work for GLES properly.
2018-06-17 17:50:38 -07:00
Unknown W. Brackets f6036195d8 GLES: Cleanup stencil upload w/h handling.
In case a buffer has been resized recently, we want to upload just the
detected drawable area, probably.  Before this was inconsistent depending
on the render resolution.
2018-06-17 17:50:38 -07:00
Henrik Rydgård da5f0f7f2b Merge pull request #11186 from unknownbrackets/debugger
Debugger: Add APIs to retrieve render image
2018-06-17 21:53:38 +02:00
Unknown W. Brackets 80312582d1 GPU: Avoid a switch case warning. 2018-06-17 11:32:17 -07:00
Unknown W. Brackets d1fa9b97a3 GPU: Remove some unused fields. 2018-06-17 11:26:09 -07:00
Unknown W. Brackets e6917cccf6 Debugger: Add APIs to retrieve render image. 2018-06-16 15:33:02 -07:00
Unknown W. Brackets a0608d7fc5 Debugger: Allow GPU actions while stepping.
This allows pulling the display/target while paused.  It may also allow
other actions that work outside a display list.
2018-06-16 13:57:45 -07:00
Unknown W. Brackets 469d8a6a41 GPU: Screenshot output in BGRA if that's native.
This is a decent chunk faster.
2018-06-16 13:48:50 -07:00
Unknown W. Brackets c97023568c thin3d: Fix requesting BGRA buffers.
Should be fine to request BGRA->BGRA.

Also, the reverse flags were wrong/ignored on the format.
2018-06-16 13:31:08 -07:00
Henrik Rydgård 53f0f136ac Merge pull request #11182 from unknownbrackets/postshader
GLES: Use accurate GLSL ver in postshader convert
2018-06-15 07:22:55 +02:00
Unknown W. Brackets 0d2de36258 GLES: Use accurate GLSL ver in postshader convert. 2018-06-14 20:31:58 -07:00
Henrik Rydgård e03aeba75e Merge pull request #11171 from unknownbrackets/debugger
Fix some issues with GE dumps
2018-06-14 10:07:21 +02:00
Unknown W. Brackets 582bc2d60a GE Debugger: Stall less liberally on GE dump exec.
This makes it easier to compare performance and flushing bugs.
2018-06-11 15:14:18 -07:00
Unknown W. Brackets f7443aaa15 GE Debugger: Use a class for dump execution. 2018-06-11 15:06:40 -07:00
Unknown W. Brackets ccef997a7a GE Debugger: Fix asserts when reading debug tex.
This is unfortunate, but right now BuildTexture() applies the sampling
settings which happen within a render pass.  So we must have a render
pass.
2018-06-11 14:56:25 -07:00
Unknown W. Brackets 0ed2c03350 GE Debugger: Prevent hang on shutdown.
Since we're blocking the Emu thread, we can't use a hook from the Emu
thread to wake up.

The change to lifecycle callbacks caused this.
2018-06-11 14:54:42 -07:00
Henrik Rydgård e98ea812f6 Merge pull request #10973 from weihuoya/cullmode
handle cull mode by indices, refer to issue #10172
2018-06-10 20:53:18 +02:00
Unknown W. Brackets 395ac32d63 Debugger: Run memory breakpoints on mobile. 2018-06-06 17:31:56 -07:00
Henrik Rydgård 6bf6490c2f Merge pull request #11128 from unknownbrackets/gpu-minor
Minor framebuffer code cleanup
2018-06-06 22:28:35 +02:00
Henrik Rydgård 03175b74ef Merge pull request #10957 from unknownbrackets/depal-bounds2
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Henrik Rydgård f9cfb05895 Merge pull request #10987 from unknownbrackets/debugger-core
Improve debugger threadsafety and consistency
2018-06-06 21:10:14 +02:00
Henrik Rydgård 9f1125ae33 Merge pull request #11078 from unknownbrackets/debugger-spline
GE Debugger: Show bezier/spline in preview
2018-06-06 20:40:10 +02:00
Henrik Rydgård 347721f200 Merge pull request #10981 from unknownbrackets/flat-shade
Use software transform for flat shading and fix colors
2018-06-06 19:05:54 +02:00
Unknown W. Brackets 9aad4dc848 GE Debugger: Cleaned repetition in spline preview. 2018-06-06 05:59:14 -07:00