Ivan Gyurdiev
3d905baf50
wined3d: SETP takes 3 parameters.
2006-05-18 10:32:08 +02:00
Ivan Gyurdiev
174734e4a2
wined3d: LRP is not a valid ARBvp code.
2006-05-17 10:56:01 +02:00
Ivan Gyurdiev
c05bc5d9c1
wined3d: Write "unrecognized_register" in fallback case for get_register_name().
2006-05-17 10:55:39 +02:00
Ivan Gyurdiev
746d1b1cd3
wined3d: Modify shader_dump_param() to take into account address token.
...
Currently we hardcode a0.x, which I think is correct for shaders 1.0.
However, for shaders 2.0, we must look into the address token, and
print the register there. Handle both cases to correct the trace.
2006-05-17 10:55:11 +02:00
Ivan Gyurdiev
03b67e3030
wined3d: Use shader_get_param() in trace pass, reg. count pass, generation pass.
...
Change the trace pass, the register counting pass, and the hw
generator pass to take into account the new get_params() function. For
hw generation, store the address tokens into the SHADER_OPCODE_ARG
structure, so they're available to generator functions.
2006-05-17 10:54:23 +02:00
Ivan Gyurdiev
404eff792f
wined3d: Add shader_get_param() fn, which processes address tokens.
...
Add a new function to process parameters.
On shaders 1.0, processing parameters amounts to *pToken++.
On shaders 2.0+, we have a relative addressing token to account for.
This function should be used, instead of relying on num_params everywhere.
2006-05-17 10:53:18 +02:00
Ivan Gyurdiev
c94ecdff61
wined3d: Fix SINCOS parameters.
...
SINCOS has 4 parameters in shaders 2.0.
It has 2 parameters in shaders 3.0.
It's undefined in shaders 1.0.
2006-05-17 10:50:33 +02:00
Ivan Gyurdiev
6b5d076394
wined3d: DEFI takes 5 parameters.
...
According the spec and the Painkiller log, DEFI has 5 parameters on
vertex shaders.
2006-05-17 10:50:10 +02:00
Paul Vriens
ba438d4f5d
wined3d: Correctly define the number of possible parameters.
2006-05-16 12:53:28 +02:00
Ivan Gyurdiev
8b7401c39a
wined3d: Shaders: share dump_param function, version functions.
2006-05-15 16:07:31 +02:00
Ivan Gyurdiev
c61af3af8d
wined3d: Share shader_dump_ins_modifiers().
...
Share shader_dump_ins_modifiers(), and make vertex shaders use it.
The saturate modifer (_sat) is valid on vs_3_0+, and it isn't being
shown in the trace.
2006-05-11 12:10:59 +02:00
Jason Green
246677ae46
wined3d: Modified the opcode tables (and struct) to include a pointer to a GLSL generator function.
2006-05-10 12:20:08 +02:00
Jason Green
604579ed62
wined3d: Use new GenerateShader function for vertex shaders.
2006-05-10 12:19:01 +02:00
Jason Green
36b0b9cc1c
wined3d: Added new GenerateShader function for Vertex Shaders & declare generate_base_shader().
2006-05-10 12:18:08 +02:00
Jason Green
c15447d4b0
wined3d: Rename the TEMP variables in vertexshader.c to R from T for consistency.
2006-05-10 12:17:01 +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
f015124ae0
wined3d: Move D3DSIO_M#x# vertex shader opcodes to a more standard function.
2006-05-10 12:15:35 +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
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
aadafd64da
wined3d: Make register counting pass the same.
2006-05-10 11:24:33 +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
Jason Green
66ab457196
wined3d: Eliminate duplicate function: vshader_program_dump_param().
2006-05-08 15:19:12 +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
Roderick Colenbrander
c4eff1eb44
wined3d: Vertex Shader regtype cleanups.
2006-05-05 18:01:09 +02:00
Ivan Gyurdiev
63ef9788dd
wined3d: Trace corrections/improvements.
2006-04-20 15:38:00 +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
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
8ab0237e21
wined3d: Reorganize shaders code a bit.
2006-04-12 11:42:04 +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
518de008db
wined3d: Move the D3DSIO_DCL dumping code into its own function.
2006-03-24 13:00:38 +01:00
H. Verbeet
1aca53860a
wined3d: Set vertex attribute pointers defined in vertex declarations properly.
2006-03-22 21:41:05 +01:00
H. Verbeet
e7b33b0f37
wined3d: Fix slightly misleading ParseVertexDeclarationUsage naming.
2006-03-22 21:40:37 +01:00
Roderick Colenbrander
bcbf5f397e
d3d8/wined3d: Vertex shader fixes.
2006-03-17 13:11:06 +01:00
H. Verbeet
008c6a00b9
wined3d: Enable color fixups for vertex shaders.
2006-03-09 13:08:55 +01:00