Commit graph

61 commits

Author SHA1 Message Date
Henrik Rydgård
533f80a056 Fix bug in Vulkan's vertex shader generator, causing stretched characters in Jeanne D'arc. 2017-11-01 11:47:05 +01:00
Henrik Rydgard
5d5844632a Fix shader issues with D3D11 feature level 9 2017-03-05 22:56:33 +01:00
xebra
7364dbea3b [spline/bezier]Implement hardware tessellation on D3D11. 2017-03-04 22:53:40 +09:00
Henrik Rydgard
6e940dfeda D3D11, Vulkan: Switch to 4x3 matrixes where possible.
Lets us unify more shader code between D3D11 and D3D9, and fixes HW
skinning on D3D11.
2017-02-14 11:59:13 +01:00
Henrik Rydgard
373c6ba12f More D3D11 fixes, hopefully without breaking DX9 2017-02-13 02:07:27 +01:00
Henrik Rydgård
6033b1ee05 D3D11: Some cleanup. Fix backface culling. Wipeout still looks weird... 2017-02-12 18:29:58 +01:00
Henrik Rydgård
4f2fb10347 Further D3D11 fixes 2017-02-12 16:14:14 +01:00
Henrik Rydgard
7750ee9f7b D3D11: Fix reversed colors, stencil improvements 2017-02-10 11:36:09 +01:00
Henrik Rydgard
3f4e14f504 D3D11: Lumines is now playable in non-buffered, with reverse colors. 2017-02-10 11:25:24 +01:00
Henrik Rydgard
aba669c3e6 D3D11: Cube now visible 2017-02-10 00:30:42 +01:00
Henrik Rydgard
f9b840dbfd More D3D11 progress 2017-02-10 00:01:56 +01:00
Henrik Rydgard
01f46e7a5d Make the first generated D3D11 shaders compile, fix various warnings 2017-02-09 15:04:21 +01:00
Henrik Rydgard
ba95e0f4d9 Initial stab at porting the DX9 backend to D3D11. Not working yet. 2017-02-09 13:28:40 +01:00
Henrik Rydgard
2a231b397b Unbreak environment mapping 2017-01-30 16:13:47 +01:00
Henrik Rydgard
24cc3dbc70 Always pass vec3 texcoord between vertex and fragment shader, to allow for some simplification. 2017-01-30 16:03:57 +01:00
Henrik Rydgard
9d7983eee8 Remove the ability to turn off prescaleUV entirely. It's simply better to do it in the vertex decoder. 2016-12-20 13:27:44 +01:00
Henrik Rydgard
5cee8856ea Fix UV scale for some vertex formats (like GL). Separate updates of PROJ and PROJTHROUGH matrices. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
2fc296a1fb gedbg: Format a few more cmds. 2016-01-07 22:42:20 -08:00
Unknown W. Brackets
941988cde4 Correct prescale issues with render-to-texture.
Still need to apply the scaling of the texture coordinates here (or
somewhere, maybe we prescale that as well?  Except it's figured later on
in the process...)
2015-12-20 21:13:43 -08:00
Henrik Rydgard
f4248cb550 Remove a whole lot of flipping special cases 2015-11-02 20:07:30 +01:00
Unknown W. Brackets
6b905e8e18 d3d9: Remove the old shader id gen. 2015-10-24 21:26:40 -07:00
Henrik Rydgard
85229efef4 D3D9: Generate shaders directly from shader IDs, just like we do in GL. 2015-10-25 00:34:23 +02:00
Henrik Rydgard
92389a4966 Use a common ShaderId class. Start moving shader ID code to GPU/Common 2015-10-24 23:24:06 +02:00
Henrik Rydgard
b07b002040 Introduce "Compatibility Flags".
These should be used very restrictively, see comment in Compatibility.h.

Should help #8004, by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23:20 +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
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
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
44ce0c8dee Implement vertex shader depth rounding in DX9 2015-08-26 16:07:40 +02:00
Unknown W. Brackets
04eb83002c Assume lmode does nothing in throughmode. 2015-03-08 18:03:17 -07:00
Unknown W. Brackets
fb071a066d d3d9: Change vertex attribute logic to match gles. 2015-03-08 18:01:00 -07:00
Unknown W. Brackets
83e4edbc7c Oops, don't affect hardware transform. 2015-03-08 14:19:44 -07:00
Unknown W. Brackets
39cb74a8d3 Simplify transform in throughmode/sw (rectangles.)
This should make it a bit faster, a bit less work.
2015-03-08 13:12:13 -07:00
The Dax
3239e27e84 Update GE_TEXMAP_ENVIRONMENT_MAP in Direct3D9 so it matches OpenGL's behaviour.
Improves the car colours in Outrun 2006, but like OpenGL, it's still got some areas with the wrong blue hue.
2015-02-17 02:17:24 -05:00
Henrik Rydgard
df62bc42b7 D3D shader generator: Fix an issue with 4x3 vs 4x4 matrices that caused warnings to be reported (I think).
Make the GL code for this case (skinning without normal) more similar.
2015-01-12 20:37:33 +01:00
Henrik Rydgard
e2d2950865 Add a sanity check for shader linking, active in debug mode 2014-12-14 20:17:29 +01:00
Unknown W. Brackets
9355322824 d3d9: Fix shader compile error X3014. 2014-09-21 09:05:47 -07:00
Unknown W. Brackets
a62f88d1f8 d3d9: Oops, don't need this, no prescale.
Hmm, trying to reduce differences, though...
2014-09-21 00:09:38 -07:00
Unknown W. Brackets
6f38c21ccc d3d9: Make the vertex shaders more similar. 2014-09-20 23:55:48 -07:00
Henrik Rydgard
9bb5bd6fb3 Of course have to update these as well. 2014-09-19 00:39:34 +02:00
Henrik Rydgard
9c625a79a1 DX9: Use 4x3 matrices for bones too. Compact shader constants. 2014-09-18 23:14:53 +02:00
Henrik Rydgard
6304d60b40 Convert 4x4 to 4x3 matrices where possible (except bones) 2014-09-18 23:08:46 +02:00
Henrik Rydgard
1407648b59 D3D vtxdec: Convert weights and normals to float 2014-09-12 02:00:33 +02:00
Henrik Rydgard
7b66059ae0 D3D: Assorted cleanup. Add a missing register specification. 2014-09-10 15:20:57 +02:00
Henrik Rydgard
bf7a4f9097 D3D: Use fixed constant registers for vertex shaders too. 2014-09-10 13:43:35 +02:00
Henrik Rydgard
6fa1872163 DX9: Disable an annoying warning in vertex shader generator to clean up our reports
warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them
2014-09-10 11:04:37 +02:00
Henrik Rydgard
8ef326e531 D3D: Remove now-redundant texture coord scaling now that we decode the 8-bit and 16-bit formats in the vertex decoder 2014-09-09 22:32:59 +02:00
Unknown W. Brackets
1b12ad1b91 d3d: Fix a shader warning from sw transform. 2014-09-08 22:18:34 -07:00
Unknown W. Brackets
375e102647 d3d: Fix some shader issues with tex projection. 2014-09-08 19:33:12 -07: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