Commit Graph
9567 Commits
Author SHA1 Message Date
Unknown W. Brackets 1b12ad1b91 d3d: Fix a shader warning from sw transform. 2014-09-08 22:18:34 -07:00
Unknown W. Brackets f770b599d9 d3d: Reset scissor/viewport on fbo bind.
Maybe a better way, the state is forgotten on bind so if we try to set it
again, it'll be ignored.  Fixes map in Star Ocean 1.
2014-09-08 22:12:13 -07:00
Unknown W. Brackets 932a593576 d3d: Clamp depth viewport to [0, 1] also. 2014-09-08 21:55:28 -07:00
Unknown W. Brackets cfee8f81e8 d3d: Oops, typo in texcache. 2014-09-08 21:43:38 -07:00
Unknown W. Brackets 030a9d55e7 d3d: Use unnormalized values for alpha testing.
Fixes Tales of Eternia's world map, Popolocrois everwhere, etc.

If PowerVR is using this method on GLES, it may be broken for the same
reasons.
2014-09-08 21:37:25 -07:00
Unknown W. Brackets 52c1b37465 d3d: Handle texture swizzling in ge preview. 2014-09-08 21:25:37 -07:00
Unknown W. Brackets bc6a67babf d3d: Use unsigned Z in throughmode. 2014-09-08 21:06:26 -07:00
Unknown W. Brackets 8aac734547 d3d: Correct texcoord scale.
Very obvious in for example LittleBigPlanet.
2014-09-08 21:00:46 -07:00
Unknown W. Brackets b45711ba94 d3d: Centralize parts of the texture cache.
Should merge these.
2014-09-08 20:55:56 -07:00
Unknown W. Brackets 375e102647 d3d: Fix some shader issues with tex projection. 2014-09-08 19:33:12 -07:00
Unknown W. Brackets 04147827ee Account for texel offsets in the frag test lookup.
Darn, thought this wouldn't be necessary but it is is for 1/255 and other
values.

Without cache:
PowerVR: temp, add, mul, fract, mul, compare
Other: mul, add, floor, compare

With cache: mul, add, texture lookup, compare
2014-09-08 19:04:44 -07:00
Henrik Rydgard aaa0180114 D3D: Always decode U16 coords to floats as there's no good corresponding vertex format that works on all GPUs.
Fixes Burnout and probably many more games.
2014-09-09 00:42:12 +02:00
Henrik Rydgard ef0ae77e98 D3D: some cleanup and a crashfix on shutdown 2014-09-09 00:29:01 +02:00
Unknown W. Brackets 923c535deb Merge pull request #6861 from hrydgard/depth-d3d
Improve depth buffering in D3D by computing a depth-flipped proj matrix but only when needed.
2014-09-08 14:17:19 -07:00
Henrik Rydgard 0a74243b61 Remove lying comment 2014-09-08 23:14:33 +02:00
Henrik Rydgard 01a1438dce Improve depth buffering in D3D by computing a depth-flipped proj matrix but only when needed. 2014-09-08 23:10:23 +02:00
Unknown W. Brackets ac97f1ed96 Avoid a very unlikely fbo leak. 2014-09-08 07:41:23 -07:00
Unknown W. Brackets 7e248376f8 Track the last drawn width/height/format.
This way we can apply render-to-self effects more correctly.
2014-09-08 07:40:43 -07:00
Unknown W. Brackets 76d5f67796 Arg, fix color testing from frag test cache. 2014-09-07 23:21:22 -07:00
Unknown W. Brackets 2532639f70 Refactor fbo binding into DrawPixels(). 2014-09-07 21:53:22 -07:00
Henrik Rydgård 1985e6db9a Merge pull request #6853 from unknownbrackets/testcache
Cache fragment test results using a texture
2014-09-07 23:55:53 +02:00
Unknown W. Brackets 072e9c3a0d Use a more logical name for the test tex creator. 2014-09-07 14:52:22 -07:00
Henrik Rydgård d98480085a Merge pull request #6854 from unknownbrackets/d3d9
Report shader errors in Direct3D 9, plug some leaks
2014-09-07 23:38:35 +02:00
Unknown W. Brackets 858df90dff d3d: Release shaders and fbos on shutdown. 2014-09-07 13:15:39 -07:00
Unknown W. Brackets 34b1d13c29 d3d: Release vertex decls on shutdown. 2014-09-07 13:07:12 -07:00
Unknown W. Brackets 564ae9f184 d3d: Report shader compilation failures. 2014-09-07 11:01:19 -07:00
Unknown W. Brackets 4d54cad9bd d3d: Reduce D3DX leaks. 2014-09-07 10:38:49 -07:00
Unknown W. Brackets c0908421ba Skip binding when the test won't be used. 2014-09-07 10:06:57 -07:00
Unknown W. Brackets 95a620695b Actually cache the last bound test texture. 2014-09-07 10:06:23 -07:00
Unknown W. Brackets 94c1271761 Add an experiment with using a texture for tests.
Using an option for now so it's easy to test, if it works well we can
maybe remove the option.
2014-09-07 10:04:57 -07:00
Unknown W. Brackets b20cd3cba2 Clear stencil on switch from 565 buffer.
Fixes #2094, shadows in Kingdom Hearts in some scenes.

Not a complete solution, but should be a relatively safe one.
2014-09-07 08:47:46 -07:00
Unknown W. Brackets 47e98f972d Try to simplify alpha replace for poor compilers. 2014-09-07 08:25:39 -07:00
Henrik Rydgard 780ed765c7 Update dx9sdk (got rid of redundant headers) 2014-09-07 10:45:38 +02:00
Unknown W. Brackets ebe71e3ec4 d3d: Properly initialize cullmode. 2014-09-06 23:01:04 -07:00
Unknown W. Brackets 5639b056b3 d3d: Use 0 texcoord when not specified. 2014-09-06 23:01:04 -07:00
Unknown W. Brackets a29c2f4f2f d3d: Use 2.0 vertex and pixel shaders. 2014-09-06 23:01:03 -07:00
Unknown W. Brackets 07ccc37689 d3d: Use drawPixelsTex as a non-dynamic texture. 2014-09-06 23:01:03 -07:00
Unknown W. Brackets de2c951665 Detect EXT_gpu_shader4 to use bitwise ops pre-3.3.
This may allow it to work on more cards, and should fix a (probably driver
bug) error we've had reported in GL 3.0 / GLSL 1.3.
2014-09-04 00:39:54 -07:00
Henrik Rydgård 94ee0c5a01 Merge pull request #6815 from unknownbrackets/gpu-minor
Eat cycles during GE block transfers
2014-08-31 09:29:09 +02:00
Unknown W. Brackets e1d2e72480 Add block transfer to null gpu.
For tests, better to have it here.
2014-08-30 22:14:58 -07:00
Unknown W. Brackets 514772e18e Avoid some magic numbers. 2014-08-30 22:06:25 -07:00
Unknown W. Brackets 337b34ef6a Eat cycles during block transfers.
Tests show this takes a number very close to 1.9 times the number of bytes
in cycles @222.

Using that value caused a tiny fps drop in one area of the God of War
demo, which may be correct but might also cause complaints.  A lot of our
other timing is not accurate, so using a lower value (1.6) to be on the
safer side.

This may cause things to reschedule more accurately when games drawsync,
and improves the gpu/commands/blocktransfer test.
2014-08-30 22:02:28 -07:00
Unknown W. Brackets 9ce5c49978 d3d: Add basic stencil mask handling.
Mostly so we have it in dxstate, will probably reorganize stuff later.
2014-08-30 11:18:18 -07:00
Unknown W. Brackets 5e07a40a83 Oops, buildfix Android/etc.
This is not declared there.
2014-08-30 07:13:36 -07:00
Unknown W. Brackets 361b9a2572 Use 8888, always, for Danganronpa's FBOs.
This should fix dithering on draw causing problems for Adreno 3xx devices.
2014-08-30 02:05:51 -07:00
Henrik Rydgård c5e80d0999 Merge pull request #6801 from unknownbrackets/d3d
d3d: Avoid rewriting textures to BGRA from RGBA, just swizzle
2014-08-28 11:21:19 +02:00
Unknown W. Brackets 4e5778d714 d3d: Correctly disable stencil testing. 2014-08-28 01:21:29 -07:00
Unknown W. Brackets 1f51fe7843 d3d: Avoid rewriting textures, just swizzle.
Luckily A is in the same place and the same width, so we can do this for
all but framebuffers easily.

Technically we could do it in OpenGL as well.

Small (1-2%) performance improvement in FF2.
2014-08-28 01:20:21 -07:00
Unknown W. Brackets 5a3a972d95 Perform intra-buffer blits directly.
As far as I can tell, this doesn't need a temp fbo.
2014-08-27 23:13:08 -07:00
Unknown W. Brackets 9cab344026 Rebind the fbo after inter-buffer copy.
Might be needed if the list is stalled, a copy is done, list unstalled,
and then something happens to flush a pending prim.
2014-08-27 23:10:07 -07:00