Commit Graph

103 Commits

Author SHA1 Message Date
Jason Green 68f75555d3 wined3d: Use GenerateShader in pixel shaders and remove old function. 2006-05-10 12:19:42 +02:00
Jason Green 087c67c459 wined3d: Add GenerateShader function to pixel shaders. 2006-05-10 12:19:19 +02:00
Jason Green cc2ea9e08c wined3d: Place # of textures, addresses, & temps used inside the baseShader struct to prepare for GenerateShader merge. 2006-05-10 12:16:22 +02:00
Jason Green 653e71d774 wined3d: Further split up GenerateProgramArbHW for pixelshaders. 2006-05-10 12:16:02 +02:00
Jason Green eee6fc9277 wined3d: Move DCL, DEF operations out of Generate loop and into separate functions. 2006-05-10 12:15:12 +02:00
Jason Green 5308e026d1 wined3d: Move program_dump_decl_usage into baseshader. 2006-05-10 12:14:39 +02:00
Ivan Gyurdiev 9d4960bfcb wined3d: Clean up some dead code. 2006-05-10 11:29:44 +02:00
Ivan Gyurdiev b187242ab6 wined3d: Break out texture instruction processing. 2006-05-10 11:28:49 +02:00
Ivan Gyurdiev cdfe848b6d wined3d: Break out arithmetic instruction processing. 2006-05-10 11:28:11 +02:00
Ivan Gyurdiev 320e33dcb3 wined3d: Merge register counting pass. 2006-05-10 11:26:01 +02:00
Ivan Gyurdiev 1d0c672393 wined3d: Share get_opcode. 2006-05-09 20:45:10 +02:00
Ivan Gyurdiev c93239d36d wined3d: Clean up per version shader limits code. 2006-05-09 11:58:14 +02:00
Ivan Gyurdiev 5f10560762 wined3d: Addline cleanup. 2006-05-09 11:55:45 +02:00
Marcus Meissner 80dc1f9cb3 wined3d: Fix possible buffer overflow.
Increase size of passed buffer to print into.
2006-05-08 15:26:55 +02:00
Ivan Gyurdiev 4b3079438b wined3d: Share get_register_code(). 2006-05-08 15:15:30 +02:00
Ivan Gyurdiev aea0b5d0f8 wined3d: Separate pshader/vshader tables. 2006-05-08 13:36:31 +02:00
Ivan Gyurdiev 07f4f70487 wined3d: QueryInterface corrections. 2006-05-05 20:23:41 +02:00
Ivan Gyurdiev 744f3ae1c4 wined3d: Improve/implement D3DSIO_TEX.
- unify per-version cases into a single sequence
- make use of get_register_name() for the destination register
- ignore destination write mask - it's only allowed on 2.0+ shaders,
  and only the default mask is allowed there (xyzw)
- enable swizzle on texld 1.4 (it works together with dw/dz modifiers)
- implement for shaders 2.0-3.0
2006-04-21 11:35:34 +02:00
Ivan Gyurdiev 63ef9788dd wined3d: Trace corrections/improvements. 2006-04-20 15:38:00 +02:00
Ivan Gyurdiev 162d9cb6f4 wined3d: Support for shift modifiers. 2006-04-19 19:27:22 +02:00
Ivan Gyurdiev 70fc78b64e wined3d: Support more than 4/6 tex/temp registers. 2006-04-19 19:26:50 +02:00
Ivan Gyurdiev 3dddaae795 wined3d: Use ARB[f|v]p1.0 for ps2/ps3/vs3. 2006-04-18 11:22:48 +02:00
Ivan Gyurdiev e3c8e65084 wined3d: Use correct register number mask.
The regmask currently being used is wrong - 0x1FFF includes the high
two bits of the register type.
2006-04-18 11:20:45 +02:00
Ivan Gyurdiev e0a1442f6c wined3d: Dcl opcode takes 2 parameters. 2006-04-18 11:19:48 +02:00
Ivan Gyurdiev 7e5f734ee3 wined3d: Fix _dw modifier.
The _dw modifier needs to specify a component swizzle, just like the
_dz currently does.
2006-04-18 11:19:13 +02:00
Ivan Gyurdiev d3d56e765d wined3d: Fix flow control instructions number of parameters.
- else, endif, break take 0 parameters [not 2]
- if, rep take 1 parameter [not 2]
- breakp takes 1 parameter [not 2]
- move all flow control instructions in one place
- sync software shaders signatures with this
2006-04-18 11:18:48 +02:00
Ivan Gyurdiev 0d6eaf363d wined3d: Skip unhandled opcodes in vshaders. 2006-04-18 11:17:34 +02:00
Ivan Gyurdiev d486b93e30 wined3d: Texkill is supported for ps2.0-3.0. 2006-04-18 11:17:12 +02:00
Ivan Gyurdiev c1a6e910ce wined3d: Enable texld instruction (shaders 1.4). 2006-04-12 11:42:21 +02:00
Ivan Gyurdiev 8ab0237e21 wined3d: Reorganize shaders code a bit. 2006-04-12 11:42:04 +02:00
Ivan Gyurdiev 12be14b6cc wined3d: Remove bogus address register warning for pixel shaders.
Pixel shaders don't have an address register, this warning is bogus.
D3DSPR_ADDR is interpreted as D3DSPR_TEXTURE for pixel shaders.
2006-04-11 14:22:18 +02:00
Ivan Gyurdiev 88a7c9e948 wined3d: Downgrade some FIXMEs. 2006-04-10 12:23:45 +02:00
Stefan Dösinger 9d67b4287e wined3d: Rename return values from D3D* to WINED3D*. 2006-04-07 14:54:04 +02:00
H. Verbeet 59af5c4a62 wined3d: Move fields common to vertex shaders and pixel shaders to IWineD3DBaseShader. 2006-03-30 21:55:15 +02:00
H. Verbeet 1e1a708e8a wined3d: Create an IWineD3DBaseShader class. 2006-03-29 13:40:45 +02:00
H. Verbeet d4132cf7d7 wined3d: Move the vshader_ins and pshader_ins arrays into their respective objects. 2006-03-29 13:40:16 +02:00
H. Verbeet 3ee642bb09 wined3d: Move the SHADER_OPCODE definition to wined3d_private.h. 2006-03-29 13:39:33 +02:00
H. Verbeet 0ac9c473d6 wined3d: Pass the correct number of parameters for texld with ps version >= 2. 2006-03-29 13:38:18 +02:00
H. Verbeet 518de008db wined3d: Move the D3DSIO_DCL dumping code into its own function. 2006-03-24 13:00:38 +01:00
H. Verbeet bce3da3af7 wined3d: Store the pixelshader version in the pixelshader object. 2006-03-22 21:37:19 +01:00
Vitaliy Margolen d2ef7869de wined3d: Don't override variable that still has something we need.
Use local temp variable instead.
2006-03-13 13:31:45 +01:00
Vitaliy Margolen 76e5e88fe7 wined3d: Add D3DSIO_TEXM3x3PAD to opcode list. We already handle it where we should. 2006-03-13 13:31:27 +01:00
H. Verbeet 78a43b3dbc wined3d: Fix a few FIXME's. 2006-03-07 10:56:52 +01:00
H. Verbeet bd8db45e44 wined3d: Update the QueryInterface functions of IWineD3DBase subclasses. 2006-02-06 11:32:41 +01:00
H. Verbeet 12805f08aa wined3d: Fix a few TRACEs in pixelshader.c. 2006-01-20 16:13:57 +01:00
Ragnvald "Despair" Maartmann-Moe IV 3e495fe465 wined3d: Fix matrix copy/paste bug. 2005-12-16 12:39:07 +01:00
H. Verbeet c73679e4eb wined3d: Set pixel shader version correctly in IWineD3DPixelShaderImpl_SetFunction. 2005-12-03 18:18:58 +01:00
H. Verbeet 246b07de7c wined3d: Return the correct parent in IWineD3DPixelShaderImpl_GetParent.
Remove an unnecessary cast.
2005-12-03 18:10:56 +01:00
Oliver Stieber d3c33dc018 Correct the matrix sizes in software shaders and remove an erroneous
parameter from lrp.
2005-11-28 10:39:48 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Oliver Stieber 30ad95b6cd Corrects an error in the _m3xm3 shader function in pixel and vertex
shaders.
2005-11-22 15:01:55 +00:00
Oliver Stieber 932815d6f0 Implement a pixel shader parser and cross compiler. All version of
shaders up to 3 should be parsed correctly, but only shaders 1-1.4
will be cross compiled.
2005-11-21 16:27:55 +00:00
Oliver Stieber 2af36c646e Implemented stubbed out pixel shaders and their states in wined3d. 2005-08-25 19:24:21 +00:00