Henrik Rydgard
0237b84efd
Reduce use of #ifdef USING_GLES2 some more
2015-09-05 23:09:06 +02:00
Henrik Rydgard
186d624ef3
Cleanup of FBO+blit flags. Requires the change in native to stop lying.
2015-09-05 22:40:45 +02:00
Henrik Rydgard
5b2ffd1434
Fix some naming, remove NV_draw_texture, move decisions out
2015-09-05 22:11:28 +02:00
Henrik Rydgard
f524049277
Move more GPU feature checks upfront. Re-check when exiting settings menu.
2015-09-05 21:23:58 +02:00
Henrik Rydgard
a71be3f75f
Start moving GPU feature compatibility decisions to startup
...
(and a single, cache-friendly flag field)
2015-09-05 19:58:47 +02:00
Henrik Rydgard
86a02fed61
Minor cleanup
2015-09-05 19:42:58 +02:00
Henrik Rydgard
08b340f423
More D3D hackery: Take inverted Z in proj matrix into account.
...
Also, *2 breaks it for no good reason so don't do that.
2015-08-30 22:45:24 +02:00
Henrik Rydgard
488c62e534
This makes slightly more sense than the last commit.
2015-08-29 20:38:19 +02:00
Henrik Rydgard
7b0a31ade5
Adjust D3D depth calculations to get them to match OpenGL as close as I can get it.
2015-08-29 17:43:09 +02:00
Henrik Rydgard
76eacf32f4
Change the offset to 0.0
2015-08-27 18:02:45 +02:00
Henrik Rydgard
2b7d08e3af
Also apply the GT fix in D3D, doh
2015-08-27 18:01:00 +02:00
Henrik Rydgard
fd18f14508
Fix GT and hopefully other games that got a black screen
2015-08-27 17:58:41 +02:00
Henrik Rydgard
7e3292d275
Minor optimization
2015-08-26 18:46:55 +02:00
Henrik Rydgard
bf6aef44cd
Oops, didn't finish the D3D code
2015-08-26 17:45:21 +02:00
Henrik Rydgard
d89da71057
Get rid of a division in the vertex shader by precomputing the inverse.
2015-08-26 17:40:06 +02:00
Henrik Rydgard
5dbc8abd94
experiment: Add a different offset that unknown found during testing, plus remove rounding of through mode depth (which should already be rounded)
2015-08-26 17:28:34 +02:00
Henrik Rydgard
dedd2b60e4
Subtracting an offset of 0.5 works on my nVidia and I have no idea why, this makes no sense.
2015-08-26 17:02:07 +02:00
Henrik Rydgard
160980ee2e
Properly dirty the uniform in Execute_ViewportType
2015-08-26 16:28:10 +02:00
Henrik Rydgard
44ce0c8dee
Implement vertex shader depth rounding in DX9
2015-08-26 16:07:40 +02:00
Henrik Rydgard
c91b58ac8e
Fix typo. This breaks it again though, strangely.
2015-08-26 16:07:11 +02:00
Henrik Rydgard
fee776b6e0
Correct scale factors for through mode depth rounding.
2015-08-26 15:55:58 +02:00
Henrik Rydgard
9e18fb7e90
Round Z in the vertex shader to match a 16-bit Z buffer.
...
However this inexplicably does still not solve the Phantasy Star issue!
2015-08-26 15:25:21 +02:00
Henrik Rydgard
a5fb4cffd5
Failed quick attempt at Z rounding in the vshader
2015-08-26 15:25:20 +02:00
Henrik Rydgard
1e8a1b801f
Rename viewportX1/X2 etc to scale + center, which is what they actually are.
2015-08-26 15:24:35 +02:00
Henrik Rydgard
29fc9e81a4
Use the gstate.getViewport* accessors.
2015-08-26 15:24:35 +02:00
Unknown W. Brackets
95d4f88e01
Read depth values as floats on OpenGL.
...
This preserves the full precision better than a 16-bit value does.
2015-08-23 17:52:15 -07:00
Unknown W. Brackets
ba15718db3
Track hovering in GE debugger to show pixel value.
...
This works for texture, framebuffer, depth, and stencil.
Importantly, allows debugging the actual depth values present.
2015-08-23 09:25:05 -07:00
Henrik Rydgård
22e5431b1b
operator precedence fix
2015-08-05 13:39:05 +02:00
Henrik Rydgard
d7f4c47c22
Refactor: Even more getting rid of gstate access in the framebuffer manager.
2015-08-05 12:13:14 +02:00
Henrik Rydgard
d7c76cb1da
Refactor: More work towards getting rid of gstate accesses from the framebuffer manager
2015-08-05 11:51:24 +02:00
Henrik Rydgard
454a363876
Reorganize all the gstate fetching in FramebufferCommon to one place
2015-08-05 11:36:02 +02:00
Henrik Rydgard
d26b74d4d6
GPU refactor: Move accesses to gstate out of leaf functions
2015-08-05 01:03:49 +02:00
Henrik Rydgard
1c68069083
refactor: Get rid of gstate from depalshadercache
2015-07-29 14:28:51 +02:00
Henrik Rydgard
b5f7d9346f
Minor cleanups in GPU
2015-07-29 13:08:02 +02:00
Henrik Rydgard
c8fe0b2690
Minor simplification, buildfixes
2015-07-29 12:38:31 +02:00
Henrik Rydgard
2430c283a5
More GPU cleaning, removing uses of GPUState.h where not needed.
...
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.
Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard
33246ffc8d
Non-x86 buildfix
2015-07-29 12:19:15 +02:00
Henrik Rydgard
38a31fbd8b
Get rid of more uses of gstate from SplineCommon
2015-07-29 12:04:52 +02:00
Henrik Rydgard
cde585a29a
Include dependency cleanup
2015-07-29 11:48:20 +02:00
Henrik Rydgard
53f062b7b2
refactor: Remove some uses of gstate from SplineCommon and a fex texcache functions
2015-07-29 11:40:45 +02:00
Henrik Rydgard
e857bd9a1c
Minor code simplification in texcache
2015-07-29 10:59:02 +02:00
Henrik Rydgard
aae254254b
Fix bad cleanup change, thanks to tapcio for pointing it out in 07b17560f
2015-07-28 01:09:48 +02:00
Henrik Rydgård
07b17560f4
Add some useful accessors to GPUState (backported from a work-in-progress branch)
2015-07-26 12:24:16 +02:00
Henrik Rydgård
6fee2b456c
GPU classes: Replace "virtual" with "override" for free function type checking
2015-07-25 14:23:02 +02:00
Henrik Rydgård
0726912f09
sceDisplay, GPUState cleanup and comments
2015-07-25 09:46:11 +02:00
Unknown W. Brackets
7f8cf7f800
arm64: Use XXH64 for vertex hashing, etc.
...
Based on benchmarks, it performs better than XXH32 on an A57.
2015-07-22 21:38:01 -07:00
Henrik Rydgard
ea33f50a8a
Minor optimization: Help stupid compilers avoid a division (and a multiplication).
2015-07-22 21:03:27 +02:00
Henrik Rydgard
73e9c3b3a2
profiler: Track framebuffer reads in its own category
2015-07-12 00:44:11 +02:00
Unknown W. Brackets
a98706f813
arm64: Correct some offset snapping.
2015-07-05 08:59:36 -07:00
Unknown W. Brackets
46c1030530
arm64: small optimization for weights.
2015-07-05 08:35:51 -07:00