Henrik Rydgård
c4ccf5b734
Simple micro-optimization in AdvanceVerts
2017-08-15 12:02:47 +02:00
Henrik Rydgård
4e7099bf47
Vulkan: Fix some more state dirtying issues.
2017-08-15 10:51:44 +02:00
Henrik Rydgård
000723f29f
Fix minor blendstate oversight, restore a disabled optimization
2017-08-14 16:21:02 +02:00
Henrik Rydgård
a1fd2d1ed1
Dirty-track the current pipeline to avoid many vkBindPipeline calls.
2017-08-14 16:02:58 +02:00
Henrik Rydgård
5a65334646
Use dirty-flags more in Vulkan state setting
2017-08-14 15:14:46 +02:00
Henrik Rydgård
776c9e384f
Oops, broke Vulkan in the rebase somehow. Fixed.
2017-08-14 13:52:40 +02:00
Unknown W. Brackets
ca40282a10
Dirty on various framebuf state helpers.
...
Ideally we should cut down on using DisableState(), or restore afterward.
2017-08-14 11:36:07 +02:00
Unknown W. Brackets
96ed8564ab
Add some missing fragment shader state changes.
2017-08-14 11:36:07 +02:00
Henrik Rydgard
078e1151f9
Dirty-flag the fragment shader ID.
2017-08-14 11:36:07 +02:00
Unknown W. Brackets
f1cf92988f
Dirty things on stencil buffer upload.
2017-08-14 11:36:06 +02:00
Unknown W. Brackets
c84efcfc97
Dirty vertexshader state on hw bezier/spline.
2017-08-14 11:36:06 +02:00
Henrik Rydgard
56cd991833
All: Only recompute the vertex shader ID when dirty
2017-08-14 11:36:06 +02:00
Henrik Rydgard
f01da87ab2
D3D11: Make better use of the dirty flags to avoid state calls
2017-08-14 11:36:03 +02:00
Henrik Rydgard
4e55654522
Add some missing VIEWPORTSCISSOR dirtying.
2017-08-14 11:35:11 +02:00
Unknown W. Brackets
aa2269020a
Dirty viewport state on framebuf resize.
2017-08-14 11:14:26 +02:00
Henrik Rydgard
1098bf7342
All: Only convert viewportscissor state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
712c36b98b
Dirty RASTER_STATE when switching between rect and non-rect primitives (culling)
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32
All: Only convert raster state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2
All: Only convert depth stencil state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c
All: Only convert blend state if "dirty"
2017-08-14 11:14:26 +02:00
Unknown W. Brackets
3960a4d791
Ensure everything is dirty on frame start.
2017-08-14 11:14:26 +02:00
Henrik Rydgård
35c8a05d29
Minor GPU disassembler update
2017-08-05 18:37:03 +02:00
Unknown W. Brackets
d6affac72d
GPU: Correct 1080p/720p crop for ultrawide/similar.
...
If the display is 1280x1080 or 2560x1080, we don't want to stretch width.
2017-07-30 08:32:49 -07:00
Henrik Rydgård
f7fea57bb6
More RIP addressing in software skinning..
2017-07-07 15:12:57 +02:00
Henrik Rydgård
837118d230
More RIP elimination
2017-07-07 15:07:56 +02:00
Henrik Rydgård
86396ba39b
Turning off the "close memory finder" lets us find more RIP addressing...
2017-07-07 15:07:53 +02:00
Henrik Rydgård
f5e110018b
Fix software skinning
2017-07-07 12:57:39 +02:00
Henrik Rydgård
270001e651
vminmax_sreg only needs a single element
2017-07-07 11:33:07 +02:00
Henrik Rydgård
cf7939d3e4
Get rid of remaining RIP addressing in vertex decoder
2017-07-07 11:33:06 +02:00
Henrik Rydgård
442a7012a6
Remove some rip addressing in vertex decoder
2017-07-07 11:33:06 +02:00
Henrik Rydgård
99d23fb021
X64/X86: Even more use of the context register
2017-07-05 13:21:35 +02:00
Henrik Rydgård
385204bec6
X64 vertex decoder: Use relative memory accesses when loading matrices.
2017-07-05 12:51:41 +02:00
Henrik Rydgård
7939cb5024
Minor debugging feature: Show vertex normals in GE debugger
2017-07-02 22:51:52 +02:00
Unknown W. Brackets
c711b00d4c
GPU: Clean up some GLES3 defaults.
...
It should default both of them the same way. And we already set subimage
on desktop.
2017-07-01 16:16:59 -07:00
Unknown W. Brackets
c724df5f52
D3D11: Fix texture scaling with blank first half.
...
This would cause some textures to become blank. Fixes #9813 .
2017-07-01 16:10:00 -07:00
Henrik Rydgård
dfdf54813a
Port a small simplification to D3D9
2017-06-09 14:53:06 +02:00
Henrik Rydgård
5f6e0feacb
D3D11: Fix Star Ocean again (wasn't clearing stencil properly)
2017-06-09 14:50:39 +02:00
Unknown W. Brackets
a6f56769a8
SoftGPU: Avoid some compile warnings.
...
Remove some no-longer used funcs, add some switch default logs.
2017-06-06 19:49:42 -07:00
Unknown W. Brackets
14cf862e22
GE Debugger: Gah, fix some pointer size errors.
...
Happened to be 8 bytes, but not on 32-bit, of course.
2017-06-06 19:49:10 -07:00
Henrik Rydgård
b5ed8de9e5
Warning fix
2017-06-05 13:39:06 +02:00
Unknown W. Brackets
73fd75c0e2
GE Debugger: Fix replay timing drift.
2017-06-04 20:08:17 -07:00
Unknown W. Brackets
7e26c75a27
GE Debugger: Pass filename into dump replay.
2017-06-04 15:11:10 -07:00
Unknown W. Brackets
d62f5f9fe2
GE Debugger: Add some comments and cleanup.
2017-06-04 14:51:27 -07:00
Unknown W. Brackets
f1429bc23a
GPU: Stall properly on matrix data.
...
Hit an infinite loop because it kept passing the stall pause and looping.
Found when recording the God of War demo.
2017-06-04 14:17:23 -07:00
Unknown W. Brackets
0ce48fbeb5
GE Debugger: Reduce memory allocation.
...
This allows larger dumps to run without memory errors.
2017-06-04 12:11:23 -07:00
Unknown W. Brackets
883c4e8ac8
GE Debugger: Compress GE dumps.
...
This doesn't save slab memory/size, but it does improve file size.
2017-06-04 11:10:19 -07:00
Unknown W. Brackets
23d2ababd1
GE Debugger: Run replay using stalling.
...
This is faster and tests flushing better.
2017-06-04 10:39:03 -07:00
Unknown W. Brackets
2a388ba785
GE Debugger: Fix replay FPS.
2017-06-04 10:39:02 -07:00
Unknown W. Brackets
80be3166af
GE Debugger: Allocate replay memory smarter.
...
This ends up being a good chunk faster.
2017-06-04 10:39:01 -07:00
Unknown W. Brackets
300961ce6e
GE Debugger: Align texture/vertex/etc. data.
...
This may allow slab allocation after all, since it needs to be aligned.
2017-06-04 10:38:59 -07:00
Unknown W. Brackets
9430145774
GE Debugger: Fix clut command recording.
...
The loadclut command hasn't executed yet...
2017-06-04 10:38:58 -07:00
Unknown W. Brackets
4a56e6ff83
GE Debugger: Fix recording in softgpu.
2017-06-04 10:38:58 -07:00
Unknown W. Brackets
ababe0046e
GE Debugger: Implement memory transfer commands.
2017-06-04 10:38:56 -07:00
Unknown W. Brackets
9f51c35df1
GE Debugger: Fix memmem and cleanup.
...
Somehow the prev memmem was sometimes not working right...
2017-06-04 10:38:56 -07:00
Unknown W. Brackets
3e14900164
GE Debugger: Load commands more directly.
2017-06-04 10:38:55 -07:00
Unknown W. Brackets
0c08559840
GE Debugger: Wait to get the right display buf.
2017-06-04 10:38:54 -07:00
Unknown W. Brackets
fcfbe8cabb
GE Debugger: Fix matrix dumping.
...
Record wasn't seeing the commands to dump them.
2017-06-04 10:38:53 -07:00
Unknown W. Brackets
e45b04a699
GE Debugger: Clear after replay finished.
2017-06-04 10:38:53 -07:00
Unknown W. Brackets
82beb726fc
GE Debugger: Record init state and display buf.
...
Some things are now visible, but still drawing wrong...
2017-06-04 10:38:52 -07:00
Unknown W. Brackets
21153c899b
GE Debugger: Oops, don't record if not active.
...
In case the debugger is open but not recording, oops.
2017-06-04 10:38:51 -07:00
Unknown W. Brackets
73d21ab859
GE Debugger: Initial GE dump replay.
...
Doesn't work for a few reasons, mainly need existing matrix state/etc.
2017-06-04 10:38:50 -07:00
Unknown W. Brackets
ea2c79d789
GPU: Add a debug method to grab list tick wait.
...
So that we can wait until then when doing test drawing.
2017-06-04 10:38:49 -07:00
Unknown W. Brackets
4f07ec0df5
GE Debugger: Oops, emit transfer/clut cmds.
2017-06-03 15:29:11 -07:00
Unknown W. Brackets
36069d1446
GE Debugger: Simple framework to load dumps.
...
This tries to execute them within the context of the emulator as much as
possible, so we don't have weird bugs. Going with a file type so we can
easily load the dump by opening the file directly.
2017-06-03 15:29:11 -07:00
Unknown W. Brackets
37a894a558
GE Debugger: Record memcpy/memset too.
2017-06-03 15:29:10 -07:00
Unknown W. Brackets
b2bd966adf
GE Debugger: Implement basic recording.
...
A bit slow since it searches really hard for dups, but otherwise the file
is often very large.
2017-06-03 15:29:09 -07:00
Unknown W. Brackets
cbbd3cac7e
GE Debugger: Initial structure for GE data dumping.
...
This snapshots the GE commands and drawing to facilitate debugging.
2017-06-03 15:29:09 -07:00
Unknown W. Brackets
41b485aa0a
Core: Refactor repeating disc id homebrew code.
2017-06-03 15:29:08 -07:00
Unknown W. Brackets
dca75437c3
GPU: Refactor common frame dumping code.
2017-06-03 15:29:07 -07: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
0ac979505c
Fixes for D3D11 postprocessing
2017-06-02 17:04:08 +02:00
Henrik Rydgård
6169fa289a
Merge pull request #9769 from hrydgard/vulkan-sw-skinning
...
Implement software skinning for the Vulkan backend.
2017-06-02 12:15:56 +02:00
Henrik Rydgård
665a2c04cb
Implement software skinning for the Vulkan backend. Fixes #9753
2017-06-02 11:47:14 +02:00
Henrik Rydgård
dba22e255a
Merge pull request #9766 from unknownbrackets/screenshot
...
Fix Take Screenshot
2017-06-02 09:19:20 +02:00
Henrik Rydgård
eb6caf3731
Merge pull request #9767 from unknownbrackets/depth-blit
...
Blit depth only in BlitFramebufferDepth on GLES and Vulkan
2017-06-02 09:18:48 +02:00
Unknown W. Brackets
41c378ec71
SoftGPU: Fix separate mip cluts in linear jit.
2017-06-01 21:34:49 -07:00
Unknown W. Brackets
83d017848e
Vulkan: Allow blit/copy of depth or stencil only.
...
Docs say nothing about this not working, and it works on NVIDIA, from what
I can tell.
2017-06-01 20:58:33 -07:00
Unknown W. Brackets
5190ad7aa2
GLES: Copy only depth in BlitFramebufferDepth.
...
Otherwise we get glitched rendering in some games - see #9740 .
2017-06-01 20:57:08 -07:00
Unknown W. Brackets
1cc488aef4
SoftGPU: Support Take Screenshot partially.
...
This doesn't capture the FPS etc. as other backends do, but at least it
takes a screenshot.
2017-06-01 20:40:45 -07:00
Henrik Rydgård
7822e5b57f
Merge pull request #9755 from unknownbrackets/mipmaps
...
GPU: Block mipmap autogen for matching size
2017-06-01 09:04:36 +02:00
Unknown W. Brackets
f1e9180676
Vulkan: Fix Cardboard rendering.
...
Mostly the Viewport2D flush issue, which may possibly have broken
something else.
2017-05-31 23:26:38 -07:00
Unknown W. Brackets
f66ffb9ffe
GPU: Fix negative mip levels with const workaround.
...
Might've crashed if it hit a negative level before.
2017-05-31 21:42:07 -07:00
Unknown W. Brackets
b6375638f5
GPU: Block mipmap autogen for matching size.
...
If the mips don't get smaller, we can't autogen - the bias in that case is
used to select a different texture. Fixes #9731 .
This also may improve a minor performance issue on PowerVR in some games.
2017-05-31 21:23:20 -07:00
Henrik Rydgård
6bd1a16c35
Merge pull request #9748 from hrydgard/delete-clearbuffer
...
Delete obsolete function ClearBuffer
2017-05-31 14:11:12 +02:00
Henrik Rydgård
cae39adab3
Update submodule SPIRV-Cross, remove workarounds that are no longer needed
2017-05-31 14:09:47 +02:00
Henrik Rydgård
cb9b63e75a
Fix scaling post-shaders on OpenGL. See #9742
2017-05-31 13:57:57 +02:00
Henrik Rydgård
2b14c6b531
Delete obsolete function ClearBuffer
2017-05-31 13:38:22 +02:00
Unknown W. Brackets
2d6b8c645a
SoftGPU: Correct linear filter rounding issue.
...
Using 16-bit slots just lost too much precision. Jit already doesn't use
this.
2017-05-30 22:57:47 -07:00
Unknown W. Brackets
fdf5f2ab54
SoftGPU: Support separate mip CLUTs with linear.
2017-05-30 22:57:46 -07:00
Unknown W. Brackets
cb3db559bd
SoftGPU: Jit the linear sampling too.
...
For now, just reducing overhead. Could be smarter.
2017-05-30 22:57:46 -07:00
Unknown W. Brackets
fa0ded4a76
SoftGPU: Reduce sampler id fuzz.
2017-05-30 22:57:45 -07:00
Unknown W. Brackets
c05ecfc6f1
SoftGPU: Implement separate CLUT in samplerjit.
2017-05-30 22:57:44 -07:00
Unknown W. Brackets
ffcfa0a824
SoftGPU: Specialize CLUT4 jit.
...
This version is a bit faster and cleaner.
2017-05-30 22:57:44 -07:00
Unknown W. Brackets
9a82ae3425
SoftGPU: Reduce overhead in sampler jit.
2017-05-30 22:57:43 -07:00
Unknown W. Brackets
2233ab073d
SoftGPU: Expose jit cache for profiling.
2017-05-30 22:57:42 -07:00
Unknown W. Brackets
744736b926
SoftGPU: Jit 16 bit texel decode.
2017-05-30 22:57:42 -07:00
Unknown W. Brackets
cf32949183
SoftGPU: Jit CLUT lookup.
2017-05-30 22:57:41 -07:00
Unknown W. Brackets
a8a6b2cd8a
SoftGPU: Jit swizzled texel lookup.
2017-05-30 22:57:40 -07:00
Unknown W. Brackets
c9a4679096
SoftGPU: Stop calling bufw pixels bytes.
...
This was never even bits, it was just 8 * pixels before.
2017-05-30 22:57:40 -07:00
Unknown W. Brackets
5491e1dbbb
SoftGPU: Jit texel fetch for non-clut/non-swizzle.
2017-05-30 22:57:39 -07:00
Unknown W. Brackets
fd4c64d43d
SoftGPU: Refactor out texture format logic.
...
This could actually be shared, nothing x86 specific...
2017-05-30 22:57:38 -07:00
Unknown W. Brackets
94920ec156
SoftGPU: Implement basic jit structure.
2017-05-30 22:57:38 -07:00
Unknown W. Brackets
1b491fe156
SoftGPU: Stub a jit for texel fetch.
2017-05-30 22:57:30 -07:00
Unknown W. Brackets
d5426e4360
SoftGPU: Move sampler code to a dedicated file.
2017-05-30 22:53:23 -07:00
Henrik Rydgård
3e76863b8a
Postprocessing fix after the Vulkan refactor. Should help #9742 .
2017-05-30 17:11:30 +02:00
LunaMoo
939b26475d
Fix a bunch of emu features for Homebrew by better identification.
2017-05-30 12:20:29 +02:00
Henrik Rydgård
44423f3ba2
Vulkan: Implement BlitFramebuffer
2017-05-30 09:38:09 +02:00
Henrik Rydgård
4c8dc24834
Vulkan: Implement depth buffer copies. Not sure all the barriers are right..
2017-05-30 09:38:08 +02:00
Henrik Rydgård
137b79c708
Fix more review comments.
2017-05-30 09:38:05 +02:00
Henrik Rydgård
e8890e3c4a
Address a bunch of review comments.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
a95b11c58f
Don't forget to initialize logicop..
2017-05-30 09:36:17 +02:00
Henrik Rydgård
38b50501c2
Clearing fix, drawpixels fix/hack
2017-05-30 09:36:17 +02:00
Henrik Rydgård
b1c256a296
Increase the number of sampler/image descriptors further.
2017-05-30 09:36:17 +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
Henrik Rydgård
f49384ca73
Vulkan: Fix binding framebuffers as textures
2017-05-30 09:36:17 +02:00
Henrik Rydgard
5f388b6b64
Vulkan: Use suboptimal clears instead of no clears in buffered
2017-05-30 09:36:17 +02:00
Henrik Rydgard
0c70735bc4
Buffered rendering is starting to work, though still kinda broken.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
2b93338255
Vulkan backend: Fix various issues, can almost run in buffered now (except the final blit)
2017-05-30 09:36:17 +02:00
Henrik Rydgard
32728553bd
Further steps towards Vulkan framebuffer support
2017-05-30 09:36:17 +02:00
Henrik Rydgård
a7dd6d6085
Further steps towards Vulkan framebuffer support
2017-05-30 09:36:17 +02:00
Henrik Rydgård
6bcfe539f7
Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
...
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
ce9e864e4b
Remove some unnecessary framebuffer binding
2017-05-30 09:36:17 +02:00
Henrik Rydgård
35aefe4a2a
BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr)
2017-05-30 09:36:17 +02:00
Henrik Rydgård
3b6fa9be87
Start work on separating frame from backbuffer renderpass
2017-05-30 09:36:17 +02:00
Unknown W. Brackets
34fe95192f
GPU: Cleanup some gstate accesses.
2017-05-26 19:03:04 -07:00
Unknown W. Brackets
402eb143f7
SoftGPU: Stop calling bufw pixels bytes.
...
This was never even bits, it was just 8 * pixels before.
2017-05-26 19:03:03 -07:00
Unknown W. Brackets
697466ae41
SoftGPU: Support UVGen for points and lines.
...
Probably not used by any real games, but better to be safe in the software
renderer.
2017-05-26 19:03:02 -07:00
Unknown W. Brackets
f7a14889d3
SoftGPU: Correct mipmaps for points.
...
Not likely to be used, but let's make const work.
2017-05-26 18:02:55 -07:00
Unknown W. Brackets
708a54d60b
Merge pull request #9726 from hrydgard/remove-always-depth-write
...
Remove "Always Depth Write" setting. One step forward for #8171
2017-05-26 11:17:40 -04:00
Unknown W. Brackets
ba483853c5
Merge pull request #9725 from hrydgard/remove-mipmap-setting
...
Remove the Mipmap setting. One step forward for #8171
2017-05-26 11:16:37 -04:00
Henrik Rydgård
6669fd0879
Buildfix
2017-05-26 16:42:38 +02:00
Henrik Rydgård
0ec1e5e3b2
Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708
2017-05-26 15:48:03 +02:00
Henrik Rydgård
1d96ead852
Remove "Always Depth Write" setting. One step forward for #8171
2017-05-26 10:23:45 +02:00
Henrik Rydgård
1b05a54800
Remove the Mipmap setting. One step forward for #8171
2017-05-26 10:21:20 +02:00
Henrik Rydgård
14900d4c1b
Fix crash when pressing F12 in software mode.
2017-05-24 11:10:03 +02:00
Henrik Rydgård
8f9e0b7fcc
SoftGPU: Make sure transformunit.buf is properly aligned. Helps part of #9718
2017-05-24 10:20:10 +02:00
Unknown W. Brackets
c19faf8ac8
D3D9: Correct half-pixel offset.
2017-05-23 23:45:55 -07:00
Unknown W. Brackets
8187927b9d
SoftGPU: Use vertexjit for submitted primitives.
...
This uses the standard cache other rendering uses.
In Legend of Heroes 3, for example, this provides a 10% speed improvement.
2017-05-20 20:22:35 -07:00
Henrik Rydgård
0f4e064053
Remove unused methods
2017-05-18 12:41:18 +02:00
Henrik Rydgård
ad64325876
Merge pull request #9684 from unknownbrackets/softgpu-lines
...
Fix lines in the software renderer
2017-05-15 08:53:46 +02:00
Unknown W. Brackets
9d64597fb3
SoftGPU: Clip lines entirely outside early.
...
Some were getting through, which may mean the line clipping isn't working
so well...
2017-05-14 18:28:47 -07:00
Unknown W. Brackets
672ce51a2a
SoftGPU: Implement pretend antialias.
...
This doesn't really smooth, but at the very least faking it makes Persona
3 have less ugly lines.
2017-05-14 16:11:02 -07:00
Unknown W. Brackets
5c9d223e32
SoftGPU: Implement simple mipmapping for lines.
...
Mostly so the min/mag filter is correct.
2017-05-14 16:11:01 -07:00
Unknown W. Brackets
a95170d789
SoftGPU: Bias bottom right side of line drawing.
...
Fixes lines in Persona 2.
2017-05-14 16:11:01 -07:00
Unknown W. Brackets
a26aaec528
SoftGPU: Support flat shading for lines.
2017-05-14 16:11:00 -07:00
Unknown W. Brackets
e4f2ff1464
SoftGPU: Implement lines in transform mode.
2017-05-14 16:10:59 -07:00
Unknown W. Brackets
ad17decf5c
SoftGPU: Quick hack to fix scissor w/2x2 pixels.
2017-05-14 16:02:27 -07:00
Unknown W. Brackets
8ee92048c0
SoftGPU: Avoid rcp due to precision issues.
...
Causes artifacts in Sword Art Online, which draws a dialog box using
stretched UVs - rcp causes the edges to sample outside the original UVs.
2017-05-14 16:02:21 -07:00
Henrik Rydgård
d13fdfbf37
Merge pull request #9683 from unknownbrackets/ge-debugger
...
Minor GE debugger fixes
2017-05-15 00:02:19 +02:00
Unknown W. Brackets
94c138fd83
SoftGPU: Fix texture vertex preview in debugger.
2017-05-14 14:56:23 -07:00
Henrik Rydgård
1f1ed5bb4d
Merge pull request #9682 from unknownbrackets/softgpu-light
...
SoftGPU: Match GLES lighting better, use floats
2017-05-14 12:59:08 +02:00
Unknown W. Brackets
01076dd959
SoftGPU: Don't wrap negative positions.
...
Haven't fully verified this, but without this, Gods Eater Burst's bloom
doesn't work, since -1,-1 maps to 1023,1023 so everything is clipped.
2017-05-13 17:28:38 -07:00
Unknown W. Brackets
b2d3058386
SoftGPU: Correct fog for rectangles.
...
Gods Eater Burst uses fog in its bloom, with rectangles.
2017-05-13 17:27:34 -07:00
Unknown W. Brackets
1a56466865
SoftGPU: Match GLES lighting better, use floats.
...
Using floats simplifies things and also makes it faster.
2017-05-13 12:54:18 -07:00
Henrik Rydgård
996c97dfd5
Merge pull request #9681 from unknownbrackets/softgpu-center
...
SoftGPU: Correct for pixel centers
2017-05-13 20:46:31 +02:00
Unknown W. Brackets
86a1898732
SoftGPU: Correct rendering for pixel centers.
...
This should theoretically calculate everything more correctly.
2017-05-13 08:03:08 -07:00
Henrik Rydgård
8cff9f8bc9
Merge pull request #9678 from unknownbrackets/mipmaps
...
Make const mipmaps more consistent
2017-05-13 16:58:55 +02:00
Unknown W. Brackets
9e34601be2
SoftGPU: Correct texturing for pixel centers.
2017-05-13 07:53:39 -07:00
LunaMoo
5637ae1190
Fix typo in VertexDecoder
2017-05-13 16:27:26 +02:00
Unknown W. Brackets
6b0c9a5531
SoftGPU: Improve wsum recip SIMD.
...
A bit faster.
2017-05-13 06:56:33 -07:00
Unknown W. Brackets
7c526acc69
SoftGPU: Multiply S/T early via SIMD.
2017-05-13 06:49:27 -07:00
Unknown W. Brackets
10e511273a
GPU: Flush on mipmap slope change.
2017-05-12 20:30:48 -07:00
Unknown W. Brackets
c4d1863ded
GPU: Consistently bias const mip levels.
...
Since SLOPE is just a more complicated CONST, we can treat them the same.
2017-05-12 20:30:47 -07:00
Henrik Rydgård
6d6c1f66fc
Merge pull request #9673 from unknownbrackets/softgpu
...
SoftGPU: Implement mipmapping
2017-05-09 09:35:34 +02:00
Unknown W. Brackets
50a775d31f
SoftGPU: Calculate mip level based on float bits.
...
This is probably what the hardware does and much faster.
2017-05-08 20:43:02 -07:00
Henrik Rydgård
f06daba448
Merge pull request #9674 from unknownbrackets/vertexjit
...
Implement a few x86 vertexjit optimizations
2017-05-08 19:38:15 +02:00
Unknown W. Brackets
37a4d1308f
SoftGPU: Round screencoords.
...
It seems like this is what the PSP does, or maybe this is just correcting
for floating point error...
2017-05-08 06:50:25 -07:00
Unknown W. Brackets
92ba91366c
SoftGPU: Process mipmaps in texturing.
2017-05-08 06:50:25 -07:00
Unknown W. Brackets
3944a07bf7
SoftGPU: Fix separate mipmap cluts.
...
These should only be used for CLUT4.
2017-05-08 06:50:24 -07:00
Unknown W. Brackets
f5dd3b9716
SoftGPU: Refactor mask calculation and use SSE.
...
A tiny bit faster.
2017-05-08 06:50:23 -07:00
Unknown W. Brackets
1f2c2b6d42
SoftGPU: Improve texcoord rounding.
...
This fixes several obvious issues in Crisis Core, but it's still wrong
when texcoords go the other direction. Need to use the deltas.
2017-05-08 06:50:23 -07:00
Unknown W. Brackets
7ffc891522
SoftGPU: Apply clamp/wrap in through.
2017-05-08 06:50:21 -07:00
Unknown W. Brackets
dacb776300
x86: Minor optimization for s16 through positions.
...
This takes it from 150% to 390% non-jit for pos only verts.
2017-05-07 12:20:56 -07:00
Unknown W. Brackets
0fe927aaa7
x86: Minor memory copy perf improvement.
...
This was actually 270% -> 340% non-jit for pos-only verts.
2017-05-07 12:18:47 -07:00
Unknown W. Brackets
b06e271ef3
x86: More optimal 4444 in vertexjit.
...
This was commented out, but works fine and goes from 320% -> 450% the speed
of non-jit for simple pos/col verts.
2017-05-07 12:14:06 -07:00
Henrik Rydgård
c55aa834b0
Merge pull request #9670 from unknownbrackets/vertexjit
...
Remove unused vertex decode steps, jit through s16
2017-05-07 17:01:56 +02:00
Henrik Rydgard
42a694368e
Vulkan: Remove obsolete warning suppressions. Increase descriptor pool sizes.
2017-05-07 11:14:25 +02:00
Henrik Rydgard
d4e1fc8d93
More vulkan shutdown fixes
2017-05-07 11:08:09 +02:00
Henrik Rydgard
ff6fcc9179
More vulkan fixes
2017-05-07 10:53:04 +02:00
Unknown W. Brackets
7699fa55de
arm: Jit throughmode 16-bit texcoords.
...
It's popular, and this makes decoding such verts much faster.
2017-05-06 22:52:58 -07:00
Unknown W. Brackets
257f8dbbc6
GPU: Remove now-unused vertex decoder funcs.
...
We always convert to float now, so these functions are no longer used.
2017-05-06 18:55:16 -07:00
Unknown W. Brackets
4f6b9c1fd2
Arg, gcc buildfix.
2017-04-29 23:53:22 -07:00
Unknown W. Brackets
1666586869
SoftGPU: Implement CONTINUE prim type.
...
Matches tests (except 3D lines, which aren't implemented yet.)
2017-04-29 20:36:36 -07:00
Unknown W. Brackets
d7ca05b6b5
GPU: Fix black screen on buffered render enable.
...
We were never clearing the skip flag. Has been a bug since before v1.0.
2017-04-24 12:10:08 -07:00
Unknown W. Brackets
fd4399e108
GPU: Centralize fb resize, move to begin of frame.
...
It makes more sense here, because otherwise when you change it from the UI
settings, it takes a frame to "kick in".
2017-04-24 12:02:52 -07:00
Unknown W. Brackets
6c2f87b1df
GPU: Consistently use useBufferedRendering_.
2017-04-24 11:57:16 -07:00
Unknown W. Brackets
c29f70e5e9
GPU: Attempt recreate of FBOs if failed.
2017-04-24 09:41:41 -07:00
Unknown W. Brackets
97620d4cca
GPU: Rebuild FBOs when they now have storage.
2017-04-24 09:37:54 -07:00
Henrik Rydgård
1a58629cfb
Merge pull request #9633 from unknownbrackets/mipmaps
...
Improve support for mipmaps and related headless fixes
2017-04-23 21:11:02 +02:00
Unknown W. Brackets
4fb7e43af8
SoftGPU: Grab 4 S/T coords in non-through too.
2017-04-23 11:11:16 -07:00
Unknown W. Brackets
33ade5f916
GLES: Avoid MIN/MAX LOD without LOD control flag.
2017-04-23 10:51:25 -07:00
Unknown W. Brackets
81ee2e992e
SoftGPU: Interpolate through texturing better.
...
This is significantly faster.
2017-04-23 10:37:12 -07:00
Unknown W. Brackets
3142462ac6
SoftGPU: Rasterize triangles in chunks of 4 pixels.
...
Not very optimal yet.
2017-04-23 10:37:11 -07:00
Unknown W. Brackets
7112cdce81
SoftGPU: Use texture bufw in bytes.
2017-04-23 10:37:10 -07:00
Unknown W. Brackets
f3db8bccad
GLES: Support AUTO and CONST mip bias.
2017-04-22 18:40:18 -07:00
Unknown W. Brackets
57a839db17
Vulkan: NULL initialize some handles.
...
Was getting crashes until I realized buffered rendering was on.
2017-04-22 18:38:51 -07:00