Commit Graph
3430 Commits
Author SHA1 Message Date
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