Commit Graph

2353 Commits

Author SHA1 Message Date
Andrew Talbot 0064976d54 wined3d: Remove unneeded address-of operators from array names. 2008-07-14 11:50:22 +02:00
Stefan Dösinger e27734779c wined3d: Remove some dead code. 2008-07-14 11:46:33 +02:00
Stefan Dösinger 197f472ea8 wined3d: Separate texture_activate_dimensions.
This creates an nvts version of this function, and removes the nvts
code from the original one. The nvts version is used by the nvts
pipeline implementation, the original one by the nvrc-only, atifs and
ffp one.
2008-07-14 11:46:25 +02:00
Stefan Dösinger 88ae2fe14a wined3d: Give nv* fixed function stuff its own state template. 2008-07-14 11:46:11 +02:00
Stefan Dösinger 38934fe70d wined3d: Move shader constant affecting states to the misc pipeline.
As long as we have the shader constants in misc, it is best to keep
all the code that affects shader constants, like bumpenvmat setting,
in there as well.
2008-07-14 11:44:48 +02:00
Stefan Dösinger 84d39a95e5 wined3d: WINED3DTSS_TEXCOORDINDEX belongs to the vertex pipeline. 2008-07-14 11:44:36 +02:00
Stefan Dösinger 86b033bbb9 wined3d: Give the nvts/nvrc code its own pipeline implementation.
This code creates the structures and the pipeline selection, as well
as the caps filling. It does not yet move the actual code around,
since this will be a bigger task.
2008-07-14 11:44:26 +02:00
Stefan Dösinger 7c216b8ab5 wined3d: Simplify the fragment pipeline selection.
This should do the same as the existing code, but it is more obvious.
2008-07-14 11:43:51 +02:00
Stefan Dösinger 51e64b3fe9 wined3d: Move fixed function texture dimension updates to the fragment pipeline.
This is a further separation of the sampler state, and a preparation
to move the nv texture shader stuff to its own pipeline implementation.
2008-07-14 11:43:41 +02:00
Stefan Dösinger d3c29b7063 wined3d: NP2 coordinate adjustment is a vertex operation.
When a sampler is changed and unconditional NP2 textures are not
supported, the texture matrix may need adjustment. The sampler state
function checks for that, and calls the texture transform setting
function in that case. However, samplers are a misc state, and the
texture transform flags a vertex state.  Thus split up the code and
move the matrix changes to the vertex side.
2008-07-14 11:43:30 +02:00
Stefan Dösinger e7733eacb7 wined3d: Remove the atifs shader backend.
Since atifs is only doing the fragment pipeline replacement right now
there is no need for the shader backend structure any longer. The ffp
private data is stored in new fragment pipeline private data(which
could potentially be set to equal the shader private data if needed).
2008-07-14 11:43:09 +02:00
Stefan Dösinger e4078fb0ba wined3d: Set ffp caps in the ffp backend, not the shader backend. 2008-07-11 14:32:53 +02:00
Stefan Dösinger c48195e417 wined3d: Move shader_fragment_enable to the fragment pipeline implementation.
It isn't related to the shader backend any longer. The nvts_enable in
the ffp code isn't quite right as well, it should be moved away once
there is a dedicated nvts fragment pipeline replacement
2008-07-11 14:32:37 +02:00
Stefan Dösinger f330815da5 wined3d: Samplers -> misc states. 2008-07-11 14:31:53 +02:00
Stefan Dösinger f8824996e9 Wined3d: Move the last states. 2008-07-11 14:31:44 +02:00
Stefan Dösinger 9b15e25411 wined3d: One more psize state. 2008-07-11 14:31:36 +02:00
Stefan Dösinger 721301fb3f wined3d: Point size vertex states. 2008-07-11 14:31:26 +02:00
H. Verbeet 6129e92e99 wined3d: Destroy the shader backend after the stateblock.
Destroying the stateblock potentially references the shader backend.
If the stateblock has active shaders when it is released, the shader's
destructor will tell the shader backend to destroy the corresponding
resources. This was exposed by my patch that moved the glsl program
lookup table into the backend's private data.
2008-07-11 13:58:13 +02:00
H. Verbeet b37cc08721 wined3d: Don't call shader_select() in depth_blt().
Calling shader_select() from inside depth_blt() isn't necessarily
safe. shader_select() assumes CompileShader() has been called for the
current shaders, but that depends on STATE_VSHADER / STATE_PIXELSHADER
being applied. That isn't always true when depth_blt() gets called,
with the result that sometimes GLSL programs could be created with no
shader objects attached.
2008-07-10 20:33:29 +02:00
Francois Gouget dbaec0a101 Assorted spelling fixes. 2008-07-10 13:40:15 +02:00
Stefan Dösinger 031ee3e695 wined3d: A few more junk misc states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger c31dfc7d0d wined3d: A few more vertex states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 9086ed2d2e wined3d: WINED3DRS_SRGBWRITEENABLE->fragment. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 0b67a84b44 wined3d: Wrapping states -> misc. 2008-07-10 12:30:56 +02:00
Stefan Dösinger dd95fce9fb wined3d: texturefactor-> fragment states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 6fa9f0e363 wined3d: Stencil states -> misc table. 2008-07-10 12:30:56 +02:00
Stefan Dösinger de1b0a5c04 wined3d: Move a few more odd states to the misc state table. 2008-07-10 12:30:56 +02:00
Stefan Dösinger e988c8bd60 wined3d: WINED3DRS_ZBIAS -> misc states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 1df66c3893 wined3d: Move the bordercolor to the fragment states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 340272bc26 wined3d: Move more fog stuff to the vertex states. 2008-07-10 12:30:55 +02:00
Francois Gouget 8320d214d4 wined3d: Move float_32_to_16() to surface_base.c which is the only place where it's used, and because it needs port.h for isinf(). 2008-07-10 12:18:43 +02:00
H. Verbeet 54ae3ebfd4 wined3d: Destroy depth_blt resources in the backend's destructor.
No need to expose this in the interface.
2008-07-10 12:17:06 +02:00
Stefan Dösinger ecc7b5fb18 wined3d: Move fog to the vertex states. 2008-07-09 10:49:17 +02:00
Stefan Dösinger cd9690d9d0 wined3d: Move a few more states to the misc states. 2008-07-09 10:48:59 +02:00
Stefan Dösinger a4c85d788a wined3d: WINED3DRS_LASTPIXEL -> misc states. 2008-07-09 10:48:50 +02:00
Stefan Dösinger 58ef02fa69 wined3d: Alpha states -> misc pipeline states. 2008-07-09 10:48:43 +02:00
Stefan Dösinger 5f3b11e9d6 wined3d: Move wrapu to the misc states. 2008-07-09 10:48:33 +02:00
Stefan Dösinger dd90d62356 wined3d: Move a few more states to the misc pipeline. 2008-07-09 10:48:26 +02:00
Stefan Dösinger b4445e8b98 wined3d: Textureperspective->misc states. 2008-07-09 10:48:17 +02:00
Stefan Dösinger cad055ae16 wined3d: Move WINED3DRS_ANTIALIAS to the misc states. 2008-07-09 10:48:08 +02:00
Stefan Dösinger f68ac7465f wined3d: Move pixelshader application to the fragment pipeline. 2008-07-09 10:47:59 +02:00
Stefan Dösinger b24c409cea wined3d: Initialize the state table before filling it. 2008-07-09 10:47:49 +02:00
H. Verbeet a85a5ffb1b wined3d: Store the glsl program lookup table in the backend's private data. 2008-07-09 10:42:57 +02:00
Stefan Dösinger a2628d0423 wined3d: Move Fixed function pipeline states to the new fragment structure. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 3a2743f25d wined3d: Remove the state table from the shader backend. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 2d7cdc3ec2 wined3d: Remove the DLL load init function. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 94b723505f wined3d: Communicate the atifs functions via the fragment pipeline impl.
Move those things out of the state table.
2008-07-08 21:08:54 +02:00
Stefan Dösinger c15dfb87e9 wined3d: Create fragment processing state templates and select one.
For now the atifs selection sticks to the old rules, thus it is bound to
the available and selected shader capabilities. We may want to change that
in the future.
2008-07-08 21:08:54 +02:00
Stefan Dösinger bdfaab5a94 wined3d: Move texture transform flag stuff to the vertex pipeline states. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 68948f0c71 wined3d: Move transforms to the vertex code.
Some fragment pipeline implementations may want to register their own
texture transform handlers.
2008-07-08 21:08:54 +02:00