178 Commits

Author SHA1 Message Date
Stefan Dösinger
ea093f4a38 wined3d: Multiply the half pixel correction with .w. 2007-12-28 11:28:59 +01:00
Stefan Dösinger
2eab3d5c11 wined3d: Ignore tesselated and unused streams when comparing attribs. 2007-12-18 13:23:16 +01:00
Stefan Dösinger
54fa712981 wined3d: Initialize output texcoord .w to 1.0 if needed.
The GL_ARB_vertex_program extension does not define a standard value for
output texture coordinates. This makes problems when using vertex
shaders with fixed function fragment processing because fffp divides the
texture coords by its .w component. This means that gl shaders have to
write to the .w component of texture coords. Direct3D shaders however
do not.
2007-12-07 14:54:22 +01:00
Stefan Dösinger
1cc7530332 wined3d: Ignore unused attributes when generating the swizzle array. 2007-12-06 13:48:59 +01:00
Stefan Dösinger
218de935d1 wined3d: Fix a sign mistake in the code creating the sorted attrib. 2007-11-28 13:40:29 +01:00
Stefan Dösinger
959212304d wined3d: Track vertex declaration changes on vertex shaders.
If an attribute has type D3DDECLTYPE_D3DCOLOR, the red and blue channels
are swizzled in the shader. Since the attribute is stored in the vertex
declaration and not the vertex shader, it can change by setting a new
vertex declaration. If this happens, we have to recompile the shader
with the swizzling of that specific attribute turned on or off.
2007-11-21 12:18:02 +01:00
Stefan Dösinger
cfc5725760 wined3d: Move glsl shader destruction to the glsl shader backend. 2007-11-21 12:06:27 +01:00
Stefan Dösinger
af4edef5e1 wined3d: Move destroying the glsl vshader into a separate function. 2007-11-21 12:06:15 +01:00
Stefan Dösinger
bd97580683 wined3d: Move IUnknown functions to IWineD3DBaseShader. 2007-11-20 12:53:07 +01:00
Stefan Dösinger
683c258ff4 wined3d: Remove a hack that slipped in. 2007-11-16 13:23:09 +01:00
Stefan Dösinger
edb78187a9 wined3d: Hardcode local constants into the shader if possible. 2007-11-14 11:51:26 +01:00
Francois Gouget
41643327ee wined3d: Add trailing '\n's to two shader_addline() calls. 2007-11-13 13:35:55 +01:00
Stefan Dösinger
c7c785861a wined3d: Replace the position fixup mul-add-add with a MAD. 2007-11-08 12:03:39 +01:00
Stefan Dösinger
fb0dde7b27 wined3d: Relative addressing offsets are limited to [-64; 63] in arb. 2007-11-08 11:54:43 +01:00
Stefan Dösinger
3febe738ab wined3d: Handle ps 3.0 varyings in a different way. 2007-11-06 13:34:57 +01:00
Stefan Dösinger
822030e329 wined3d: Enable the mNxN implementation for pixel shaders. 2007-10-01 13:00:19 +02:00
Stefan Dösinger
20872abc9c wined3d: Add sincos support to arb shaders. 2007-09-27 11:57:41 +02:00
Stefan Dösinger
daf2290ea4 wined3d: Implement the nrm instruction in arb. 2007-09-27 11:57:29 +02:00
Stefan Dösinger
09fa208d7a wined3d: Add crs and pow instruction support. 2007-09-27 11:57:12 +02:00
Stefan Dösinger
a305af0b30 wined3d: Fix the z range. 2007-09-11 13:47:36 +02:00
Stefan Dösinger
36aef3dc54 wined3d: Hold an internal reference on pixel and vertex shaders. 2007-08-28 11:55:53 +02:00
Stefan Dösinger
a1f83aae8e wined3d: rsq and rcp use the .w component if no swizzle is given. 2007-07-03 12:29:34 +02:00
H. Verbeet
1d4042cee1 wined3d: Implement texldl. 2007-06-28 11:01:15 +02:00
Stefan Dösinger
97b1d0692c wined3d: Skip the start offset to the source array in IWIneD3DVertexShaderImpl_SetLocalConstantsF. 2007-06-25 20:03:34 +02:00
Stefan Dösinger
a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
H. Verbeet
7a9bb1db28 wined3d: Pass NULL for the stateBlock parameter to shader_get_registers_used() in IWineD3DVertexShaderImpl_SetFunction. 2007-06-08 11:57:33 +02:00
H. Verbeet
c3c5724789 wined3d: WINED3DSIO_POW should use the absolute value of the first source register. 2007-05-11 13:24:15 +02:00
Fabian Bieler
e28630bc32 wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl. 2007-04-23 13:55:45 +02:00
Stefan Dösinger
0d88a38238 wined3d: Dirtify the shader and declaration states if the bound interface is destroyed. 2007-04-12 16:09:12 +02:00
Fabian Bieler
878e02538e wined3d: Remove fog coordinate clamping in the vertex shader. 2007-03-23 12:30:58 +01:00
H. Verbeet
fc5f36f037 wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction. 2007-03-08 11:58:50 +01:00
H. Verbeet
2384bdde9d wined3d: Remove broken software shaders. 2007-03-07 11:52:17 +01:00
H. Verbeet
71a0c6e482 wined3d: The texldl instruction takes 3 arguments. 2007-03-05 12:06:40 +01:00
H. Verbeet
2c85e5e8a3 wined3d: Store GLSL programs in a hash table rather than a linked list. 2007-02-28 13:35:23 +01:00
H. Verbeet
b299395f30 wined3d: Fix matching WINED3DDECLUSAGE_POSITION against WINED3DDECLUSAGE_POSITIONT. 2007-02-28 13:32:53 +01:00
Stefan Dösinger
2f96220b3e 6/10: WineD3D: rsq and rcp instructions may need a default swizzle in arb.
ARB shaders need a swizzle for the RSQ and RCP instructions, while d3d
shaders do not. The DirectX sdk says that the x component is used if
no swizzle is given.
2007-02-15 17:21:27 +01:00
H. Verbeet
34e74ffc2a wined3d: Use WINED3D_OK rather than D3D_OK. 2007-02-15 11:15:50 +01:00
H. Verbeet
efed9aea1f d3d8: Move loading local d3d8 vertex shader constants from wined3d to d3d8. 2007-02-14 13:54:55 +01:00
H. Verbeet
32e5cac2be wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl. 2007-02-14 13:54:29 +01:00
H. Verbeet
beed89cde4 wined3d: The sincos instruction is valid for ps/vs 2.1 as well. 2007-01-19 12:29:17 +01:00
H. Verbeet
7252b4d340 wined3d: Give WINED3DSIO_CRS its own function, properly take the write mask into account. 2007-01-16 16:05:49 +01:00
H. Verbeet
cb26d59d26 05/49: wined3d: Only add line numbers for new lines in shader_addline(). 2007-01-16 16:02:28 +01:00
Andrew Talbot
92dc74016a wined3d: Cast-qual warnings fix. 2006-11-27 13:43:10 +01:00
Kovács András
eb7b1f4bce wined3d: Fix introduced regression in shader_glsl_mnxn and vshader_hw_mnxn. 2006-10-30 20:37:34 +01:00
Kovács András
da6c01bea0 wined3d: Implement D3DSIO_MOVA in ARB backend. 2006-10-27 14:12:58 +02:00
Ivan Gyurdiev
93b3106be2 wined3d: Add D3DVS_RASTOUT_OFFSETS to the WINED3D namespace. 2006-10-24 20:06:21 +02:00
Francois Gouget
8e1e62616a wined3d: Remove '\0's in traces. 2006-10-16 11:30:53 +02:00
Ivan Gyurdiev
ce2e980d1b wined3d: Add shader version/end masks to the WINED3D namespace. 2006-10-13 11:15:45 +02:00
Ivan Gyurdiev
b7edf5b008 wined3d: Add D3DSHADER_ADDRMODE masks to the WINED3D namespace. 2006-10-13 11:15:00 +02:00
Ivan Gyurdiev
29aa316d67 wined3d: Add D3DSI and other opcode masks to the WINED3D namespace. 2006-10-13 11:14:47 +02:00