Commit Graph

4049 Commits

Author SHA1 Message Date
Unknown W. Brackets
79101736b8 d3d9: Decode directly into texture buffer. 2016-06-25 09:13:14 -07:00
Unknown W. Brackets
f0ed9a9915 Vulkan: Correct CheckAlpha on scaled textures. 2016-06-25 09:10:55 -07:00
Unknown W. Brackets
4c94cd764d Scale directly into the buffer if possible.
This will be possible in the majority of cases, and avoid an extra copy.
A small cost compared to scaling, but even so.
2016-06-25 08:40:45 -07:00
Unknown W. Brackets
3db69b87d7 Move ScaleAlways to common code. 2016-06-19 11:31:43 -07:00
Unknown W. Brackets
5962093ef5 Centralize the majority of texture decode. 2016-06-19 08:05:54 -07:00
Unknown W. Brackets
339f065a5c Centralize texture deindexing more. 2016-06-19 07:14:31 -07:00
Unknown W. Brackets
6151f8ef9f Allow taking screenshots with a clamped size.
Sometimes 10x is a little on the big side.
2016-06-12 07:09:01 -07:00
Unknown W. Brackets
65ae92c78b Also avoid updating images with replacements. 2016-06-06 23:02:56 -07:00
Unknown W. Brackets
fc77e2f8fc Flag replaced/scaled textures so we don't reuse.
Otherwise, we may try to use the replaceImages path, and end up with a
small updated texture in the top left of a large replaced texture.
2016-06-06 19:35:58 -07:00
Henrik Rydgard
8294a54a70 Disable dual source blending on nvidia Android. See #8243 2016-06-05 09:15:10 +02:00
Unknown W. Brackets
c12f835364 Download single-use renders right away.
Should prevent issues with the memory being reused soon after, hopefully.
See also #8781 and #7695.
2016-06-04 19:36:30 -07:00
Unknown W. Brackets
fed0089c81 Rewrite 5551 test mask to 0xFF in more cases.
If nothing else, this may improve cacheability or something, since states
will be more regular.

May somehow help PowerVR in #7740?
2016-05-28 09:11:53 -07:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Henrik Rydgård
dff085f29f Merge pull request #8761 from unknownbrackets/gpu-minor
Assorted minor GPU bug fixes
2016-05-24 20:34:15 +02:00
Unknown W. Brackets
4113fd940c Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often.  Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Unknown W. Brackets
2cfe80ccc0 Add a basic context menu to the state list.
This allows us to toggle breakpoints on specific commands.
2016-05-21 18:32:15 -07:00
Unknown W. Brackets
916c53c859 Add render target breakpoints to GE debugger.
Including z buffer as well, hope it's not confusing.
2016-05-21 17:55:45 -07:00
Unknown W. Brackets
f168978d3e Properly set w/h on first use of a render-to-tex.
We were getting the wrong w/h when it wasn't in the texture cache already.
2016-05-21 17:53:42 -07:00
Unknown W. Brackets
f16f163edf Remove duplicate override.
This is the same function, it was meant to be refactored.
2016-05-21 15:45:03 -07:00
Unknown W. Brackets
2d53eb5456 Ensure we don't try to hash framebuffers.
Let's keep when we do things consistent: measure alpha on apply always.
2016-05-21 15:40:58 -07:00
Unknown W. Brackets
3ba46a71af Properly reset back to GL_TEXTURE0 in bind color. 2016-05-21 15:31:58 -07: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
2b06137e11 Vulkan: Remove an unused function. 2016-05-21 09:29:04 -07:00
Unknown W. Brackets
b09c2b1f75 Add some missing override definitions. 2016-05-21 09:29:03 -07:00
Unknown W. Brackets
f08c873a4b Save FBOs on decimate when they have a safe size.
Fixes #7695.
2016-05-19 21:23:22 -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
915ff42a9a Detect clears even when outside scissor.
Verified that scissor affects clears as well.  This allows a clear to be
detected in Katamari Damacy.
2016-05-19 20:37:29 -07:00
Henrik Rydgard
51bcb02921 Minor vulkan updates to match the latest SDK/validator 2016-05-14 16:29:40 +02:00
Henrik Rydgård
2c84411426 Merge pull request #8720 from unknownbrackets/tex-range
Move texture decode/hash to after vertex decode
2016-05-07 22:15:19 +02:00
Henrik Rydgård
98f2ceed59 Merge pull request #8723 from unknownbrackets/tex-replace
Avoid scheduling a rescale when scaling is off for the texture
2016-05-07 09:37:42 +02:00
Unknown W. Brackets
4b89f44d1c Avoid scheduling a rescale when scaling is off.
This happens for PPGe and kernel textures, and replacements.  Before, we
would continually reload, trying to scale, but each time decide not to
scale.
2016-05-06 19:58:01 -07:00
Unknown W. Brackets
4650a288cd Vulkan: Fix auto tex scaling reload. 2016-05-06 19:54:50 -07:00
Unknown W. Brackets
844d96f055 Vulkan: Free allocator safely on exit. 2016-05-06 19:52:46 -07:00
Unknown W. Brackets
5eb66fe167 Vulkan: Allocate more image samplers by default. 2016-05-06 19:51:03 -07:00
Unknown W. Brackets
53535558f8 Vulkan: Move texture hash/decode after vtx decode. 2016-05-01 17:42:08 -07:00
Unknown W. Brackets
ffef628667 Vulkan: Move ApplyTexture after vert decode. 2016-05-01 17:39:29 -07:00
Unknown W. Brackets
f1dda6a53d d3d9: Move texture hashing after vertex decode. 2016-05-01 16:20:05 -07:00
Unknown W. Brackets
4ce02e0920 Fix a couple more bugs in texture build. 2016-05-01 13:42:06 -07:00
Unknown W. Brackets
bfe23361cd Update maxSeenV earlier.
Now, the initial fullhash is already on the correct range.
2016-05-01 13:26:12 -07:00
Unknown W. Brackets
6bd86f462d Move texture hashing to end of texture apply.
This might also make it more possible to do it on a thread, but it's
likely still too quick.
2016-05-01 13:24:53 -07:00
Unknown W. Brackets
fbef79826b Oops, correct replaceImages. 2016-05-01 13:22:53 -07:00
Unknown W. Brackets
bce5c74dbf Refactor out texture rehash check. 2016-05-01 13:11:35 -07:00
Unknown W. Brackets
82c1eaad65 Let's not overuse nextTexture_. 2016-05-01 13:03:40 -07:00
Unknown W. Brackets
1a26699607 Refactor texture loading to move things around. 2016-05-01 11:17:55 -07:00
Unknown W. Brackets
2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Unknown W. Brackets
c20075b0e0 Pass video info to texture replacements. 2016-05-01 08:54:43 -07:00
Unknown W. Brackets
f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets
99d29356d7 Track video addresses in texture cache. 2016-05-01 08:39:18 -07:00
Unknown W. Brackets
23ab2cd187 Vulkan: Correct check alpha. 2016-05-01 00:30:54 -07:00
Unknown W. Brackets
f26c0328da Check alpha when loading replaced textures. 2016-05-01 00:30:53 -07:00
Unknown W. Brackets
e1fd6b6f21 Account for scaleFactor when saving clipped PNG. 2016-05-01 00:30:50 -07:00
Unknown W. Brackets
7528605d3d Correct loading replaced upscaled textures. 2016-05-01 00:30:49 -07:00
Unknown W. Brackets
9ffc717de1 Properly save 16-bit textures for replacements. 2016-05-01 00:30:47 -07:00
Unknown W. Brackets
0c357c0ea3 Pass w/h in for replacement lookup.
So we can scale the w/h properly.
2016-05-01 00:30:44 -07:00
Unknown W. Brackets
f039259a1a Use a same-everywhere quick hash for now. 2016-05-01 00:30:43 -07:00
Unknown W. Brackets
d6e5df6f21 Save individual mip levels. 2016-05-01 00:30:41 -07:00
Unknown W. Brackets
565653c77b Save and load textures using full key.
Of course, need this, not just the hash.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
9039dd606f Move TextureReplacer to Core.
Probably makes more sense here after all.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
5dbc2b9267 Initial support for saving textures to PNGs. 2016-04-30 15:03:39 -07:00
Unknown W. Brackets
cf53948cf6 Implement some initial hashing so it's not broken. 2016-04-30 14:19:23 -07:00
Unknown W. Brackets
c4e98433b8 Add config to save or load replaced textures. 2016-04-30 14:05:03 -07:00
Unknown W. Brackets
bf39e61458 Setup initial structure for texture replacements. 2016-04-30 13:44:31 -07:00
Henrik Rydgård
259c696a35 Merge pull request #8690 from unknownbrackets/spline
Minor spline and bezier accuracy improvements
2016-04-24 09:33:35 +02:00
Unknown W. Brackets
ebce8d2753 Don't convert to float with prescale off.
Since we assume we need to normalize, it seems.
2016-04-16 19:00:34 -07:00
Unknown W. Brackets
ff802a983a vertexjit: Implement x86 tc morph decoding. 2016-04-16 18:38:08 -07:00
Unknown W. Brackets
614665068a Implement morphing for texcoords.
Tests show that this can be used.
2016-04-16 18:38:06 -07:00
Unknown W. Brackets
a0397bce4c Hopefully fix prescale in remasters.
Don't actually have a remaster to test, though.
2016-04-13 23:15:41 -07:00
Unknown W. Brackets
9224eb375f Correct bezier handling for 0 division.
This should still be drawn and treated as 1.
2016-04-10 17:53:50 -07:00
Unknown W. Brackets
0cd44e838b Allow spline subdivisions below 2. 2016-04-10 17:33:34 -07:00
Unknown W. Brackets
b1f0d4869c Advance pointers after drawing splines.
Tests show this is just like beziers.
2016-04-10 17:12:48 -07:00
Unknown W. Brackets
d920ffdcad Ignore upper bits of prim type.
This matches tests on what hardware does.
2016-04-10 13:11:55 -07:00
Unknown W. Brackets
e95b2cf0d5 Reduce some repetitive code. 2016-04-10 13:07:08 -07:00
Unknown W. Brackets
868bbb8ebe Advance vertex/index pointers on bezier submit.
Just like other primitives.
2016-04-10 12:59:06 -07:00
Unknown W. Brackets
808c807448 Allow tessellation with less than a 4 factor.
Per tests on real hardware, this is allowed.  It works fine without the
clamping and matches the result on hardware.
2016-04-10 12:10:15 -07:00
Unknown W. Brackets
277b76e2ae Treat GE_PATCHPRIM_UNKNOWN as points.
Confirmed by tests on hardware - although it's doubtful any games use
this type.
2016-04-10 11:58:15 -07:00
Unknown W. Brackets
3d5dd24528 Remove an unnecessary func define.
Was already moved to FramebufferCommon.
2016-04-10 02:31:56 -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
58f77e8f5f Buildfix 2016-04-10 10:55:13 +02:00
Henrik Rydgard
fa64417917 Minor warning fixes 2016-04-10 10:34:39 +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
Henrik Rydgard
e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02:00
Unknown W. Brackets
c0660c5ee7 Simplify some repeated code patterns a bit.
Doesn't save many lines of actual code, though...
2016-04-09 22:25:10 -07:00
Unknown W. Brackets
555c76d439 Use bernstein for texcoord interpolation too.
This also closely matches hardware.
2016-04-09 22:14:15 -07:00
Unknown W. Brackets
2314a0f0ee Update note per hardware testing. 2016-04-09 21:46:50 -07:00
Unknown W. Brackets
2bafba3909 Interpolate bezier patch colors using bernstein.
This closely matches hardware (some color values seem to be off by one.)

See #7525.
2016-04-09 21:41:49 -07:00
Unknown W. Brackets
59d9524308 Switch bernsteins to use sse-friendly Vec3f. 2016-04-09 21:10:52 -07:00
Henrik Rydgård
55b8dc1261 Merge pull request #8685 from unknownbrackets/gpu-fetch
Allow shader framebuffer fetch on GLES3 only
2016-04-09 22:29:41 +02:00
Unknown W. Brackets
3db8f7d320 Allow shader framebuffer fetch on GLES3 only.
Note: before we did not support it properly on GLES3 devices.
2016-04-09 12:08:43 -07:00
Henrik Rydgard
83d564f883 Fix a potential crash in SoftGpu (crash logs seem to point here) 2016-04-09 18:27:35 +02:00
Henrik Rydgard
62aaeb39b0 Vulkan texture cache: Remove the "replaceImages" path.
Images alloc is so fast, and we'd need to double buffer some images
anyway, better not to.
2016-04-09 10:30:23 +02:00
Henrik Rydgard
e1f660ebc1 Update vulkan structure init to the new style 2016-04-02 23:57:23 +02:00
Henrik Rydgard
861a30a6cd Fix an assortment of minor resource leaks, make vulkan validator happier. 2016-04-02 11:06:39 +02:00
Henrik Rydgard
727058fc27 Remove an entry from GPUStats that didn't really belong. 2016-04-02 11:06:05 +02:00
Henrik Rydgard
ad0da06f65 Forgot to remove these from the debug string. 2016-04-02 10:36:51 +02:00
Henrik Rydgard
c1e9df0777 Adjust the displayed debug stats for each backend. Cleanup. 2016-03-31 10:23:40 +02:00
Henrik Rydgard
5ef608fa50 GPU stats: Have each backend format its own string. 2016-03-31 10:17:02 +02:00
Henrik Rydgard
004c8b0fca Make debug stats more compact. 2016-03-31 09:47:25 +02:00
Henrik Rydgard
718789b99d Some cleanup in framebuffer code. Don't set BlendColor dynstate unless we need it. 2016-03-31 09:23:17 +02:00