Unknown W. Brackets
9e46a30c13
GPU: Correct some missing override specifiers.
2023-02-26 15:58:58 -08:00
Henrik Rydgård
72bed6f2b5
Some DeviceLost/DeviceRestore cleanup
2023-02-26 11:05:52 +01:00
Henrik Rydgård
c74f5b2189
Prepare for unifying more stuff
2023-02-25 16:01:32 +01:00
Henrik Rydgård
1c8e456c97
Also apply this to OpenGL and D3D9
2023-01-11 19:29:02 +01:00
Henrik Rydgård
f069de2dd2
Pass the vertex decoder into the vertex shader IDs generator
...
Instead of just the vertex type.
This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.
This doesn't actually do that yet though, it's just a refactor that can
be done separately.
Part of #16567
2022-12-30 22:57:05 +01:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
6c36f03a0d
GPU: Purify vertTypeIsSkinningEnabled().
2022-11-06 08:40:54 -08:00
Henrik Rydgård
b84cda2876
Plumb the computed pipeline state into ComputeFragmentShaderID.
2022-09-02 22:16:57 +02:00
Henrik Rydgård
d0cdb360fd
Remove the DX9 namespace, for consistency with the other backends
2022-08-16 21:49:16 +02:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
e85a8b0f5b
Global: Cleanup class init order warnings.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
a73c15babc
GPU: Correct shader gen with weights as floats.
...
For now, this supports the option. We should probably just move to
everything being floats, but we already prefer software skinning.
Fixes #13903 .
2021-01-10 08:52:28 -08:00
Henrik Rydgård
7a690f177e
Move shader language feature detection to the draw context.
2020-11-06 09:11:57 +01:00
Henrik Rydgård
f4ea3ccf22
Move the generic vertex shader generator into GPU/Common and rename it.
2020-11-01 19:58:54 +01:00
Henrik Rydgård
be837912e1
Delete the HLSL shader generator, switch to the newly generic one.
2020-11-01 19:58:54 +01:00
Henrik Rydgård
fb785f5f0d
Fix an old inconsistency between D3D9 and D3D11 projection matrices.
2020-11-01 11:35:46 +01:00
Henrik Rydgård
0b1b36921e
Move the now-renamed fragment shader generator to GPU/Common.
2020-10-31 19:03:14 +01:00
Henrik Rydgård
c311eeaf7d
Switch D3D9 too to the glsl shader generator
2020-10-31 18:32:43 +01:00
Henrik Rydgård
3d36049b65
Rename shader generator functions, a bit of moving around and adding an errorString param.
2020-10-21 23:20:25 +02:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
9e41fafd0d
Move math and some file and data conversion files out from native to Common.
...
Buildfixing
Move some file util files
Buildfix
Move KeyMap.cpp/h to Core where they belong better.
libretro buildfix attempt
Move ini_file
More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
3162f30158
Merge base/basictypes.h into Common/Common.h (mostly).
2020-09-29 15:51:51 +02:00
Unknown W. Brackets
ac60e2ecd4
GPU: Track HW tess at start of frame too.
...
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
Unknown W. Brackets
30ede8240c
GPU: Move hw transform decision to draw engine.
2020-04-04 11:14:32 -07:00
Unknown W. Brackets
1f594f3fb5
GPU: Track draw in shader manager.
...
With device restore etc. everywhere.
2018-12-23 12:55:37 -08:00
Unknown W. Brackets
4731a2918c
GPU: Use more typesafe shader IDs.
...
Since they really are fairly distinct, let's make sure we can't mix them
accidentally.
2017-12-02 09:07:27 -08:00
Henrik Rydgård
6a1fa728d8
Remove Globals.h
2017-08-31 17:15:22 +02:00
Henrik Rydgård
c2bd739b49
Optimize uniform uploads for D3D9 and GL as well.
2017-08-20 13:53:39 +02:00
Henrik Rydgard
26f208a212
Unify "DrawPixels"
2017-02-15 23:06:22 +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
9c275730c5
Move pD3DDevice into dx_state.h.
2017-02-05 20:46:26 +01:00
Henrik Rydgard
f00f7d2fb8
Remove some dependencies on the pD3DDevice globals
2017-02-05 20:36:00 +01:00
Henrik Rydgard
3c221a7ebd
Extract the dirty flag from the shader managers so code that dirties uniform flags can be shared.
2017-01-23 21:11:39 +01:00
Henrik Rydgard
59d80a3785
Share the set of dirty flags between the backend, to let use share more code.
2017-01-23 20:39:17 +01:00
Henrik Rydgard
f139246a78
Switch D3D and Vulkan to 64-bit dirty flags
2017-01-23 17:32:18 +01:00
Henrik Rydgard
bd4436c6eb
Centralize EstimatePerVertexCost and Execute_BlockTransferStart
2017-01-23 17:22:17 +01:00
Henrik Rydgard
332310c2d6
Remove redundant parameters
2016-01-17 20:33:21 +01:00
Unknown W. Brackets
18cdf9f352
Remove the depth range hack.
...
Ths removes the game-specific hack to workaround depth issues.
2016-01-03 12:05:59 -08: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
bf6aef44cd
Oops, didn't finish the D3D code
2015-08-26 17:45:21 +02:00
Henrik Rydgard
44ce0c8dee
Implement vertex shader depth rounding in DX9
2015-08-26 16:07:40 +02:00
Unknown W. Brackets
e3d6f19a2e
d3d9: Update some not-yet-used ps uniforms.
2014-09-21 10:41:44 -07:00
Henrik Rydgard
6304d60b40
Convert 4x4 to 4x3 matrices where possible (except bones)
2014-09-18 23:08:46 +02:00
Henrik Rydgard
9b587bb144
Make the D3D backend cmd processing work more similar to the GL backend
2014-09-13 12:11:34 +02:00
Henrik Rydgard
7b66059ae0
D3D: Assorted cleanup. Add a missing register specification.
2014-09-10 15:20:57 +02:00
Henrik Rydgard
163f81e5be
DX9: "Linked" shaders are now pointless, so remove them.
2014-09-10 14:07:30 +02:00
Henrik Rydgard
0dc6150a2e
DX9: Not much point in tracking dirtiness per shader now that all constants are shared.
2014-09-10 13:57:19 +02:00
Henrik Rydgard
8bca420c0a
Some renaming
2014-09-10 13:48:55 +02:00
Henrik Rydgard
bf7a4f9097
D3D: Use fixed constant registers for vertex shaders too.
2014-09-10 13:43:35 +02:00