Module: wine
Branch: refs/heads/master
Commit: 0d08316523590156b990dc48e6754ae0a74e1439
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0d08316523590156b990dc4…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:59:16 2006 -0400
wined3d: Improve Sampler support on 2.0 and 3.0 shaders.
- track sampler declarations and store the sampler usage in reg_maps structure
- store a fake sampler usage for 1.X shaders (defined as 2D sampler)
- re-sync glsl TEX implementation with the ARB one (no idea why they diverged..)
- use sampler type in new TEX implementation to support 2D, 3D, and Cube sampling
- change drawprim to bind pixel shader samplers
Additional improvements:
- rename texture limit to texcoord to prevent confusion
- add sampler limit, and use that for samplers - *not* the same as texcoord above
---
dlls/wined3d/baseshader.c | 65 ++++++++++++++++++++++++++++++++--------
dlls/wined3d/drawprim.c | 33 ++++++++++++++++++++
dlls/wined3d/glsl_shader.c | 61 +++++++++++++++++++++++++-------------
dlls/wined3d/pixelshader.c | 23 +++++++++-----
dlls/wined3d/vertexshader.c | 10 ++++--
dlls/wined3d/wined3d_private.h | 9 +++++-
6 files changed, 155 insertions(+), 46 deletions(-)
Diff: http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=0d08316523590156b99…
Module: wine
Branch: refs/heads/master
Commit: a1f4dfe4e37e8d18a444ccf3cf333550659b57d3
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=a1f4dfe4e37e8d18a444ccf…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:57:07 2006 -0400
wined3d: Add support for shader model 3.0 I/O registers.
SM 3.0 can pack multiple "semantics" into 12 generic input/output registers.
To support that, define temporaries called IN and OUT, and use those as
the output registers. At the end of the vshader, unpack the OUT temps
into the proper GL variables. At the beginning of the pshader, pack the
GL variables back into 12 IN registers.
---
dlls/wined3d/baseshader.c | 15 +++++
dlls/wined3d/glsl_shader.c | 132 ++++++++++++++++++++++++++++++++++++++--
dlls/wined3d/pixelshader.c | 10 +++
dlls/wined3d/vertexshader.c | 9 +++
dlls/wined3d/wined3d_private.h | 15 +++++
5 files changed, 176 insertions(+), 5 deletions(-)
Diff: http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=a1f4dfe4e37e8d18a44…
Module: wine
Branch: refs/heads/master
Commit: 1a3003338f2f216c82df19a832297e17f0f5f318
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=1a3003338f2f216c82df19a…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:56:13 2006 -0400
wined3d: Trivial cleanups
- compiler warnings and errors should be FIXME
- remove obsolete comment, and change variable type.
---
dlls/wined3d/glsl_shader.c | 4 ++--
dlls/wined3d/pixelshader.c | 6 ------
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index afcec1c..9cc3f2b 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -42,7 +42,7 @@ void print_glsl_info_log(WineD3D_GL_Info
{
infoLog = (char *)HeapAlloc(GetProcessHeap(), 0, infologLength);
GL_EXTCALL(glGetInfoLogARB(obj, infologLength, NULL, infoLog));
- TRACE("Error received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
+ FIXME("Error received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
HeapFree(GetProcessHeap(), 0, infoLog);
}
}
@@ -166,7 +166,7 @@ static void shader_glsl_get_register_nam
DWORD reg = param & D3DSP_REGNUM_MASK;
DWORD regtype = shader_get_regtype(param);
IWineD3DBaseShaderImpl* This = (IWineD3DBaseShaderImpl*) arg->shader;
- BOOL pshader = shader_is_pshader_version(This->baseShader.hex_version);
+ char pshader = shader_is_pshader_version(This->baseShader.hex_version);
char tmpStr[50];
*is_color = FALSE;
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 7312811..cf01e50 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -83,12 +83,6 @@ static ULONG WINAPI IWineD3DPixelShader
return ref;
}
-/* TODO: At the momeny the function parser is single pass, it achievs this
- by passing constants to a couple of functions where they are then modified.
- At some point the parser need to be made two pass (So that GLSL can be used if it's required by the shader)
- when happens constants should be worked out in the first pass to tidy up the second pass a bit.
-*/
-
/* *******************************************
IWineD3DPixelShader IWineD3DPixelShader parts follow
******************************************* */
Module: wine
Branch: refs/heads/master
Commit: a42925ee090e6992b6ecef2dc5d5710cd0e8a9de
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=a42925ee090e6992b6ecef2…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:55:30 2006 -0400
wined3d: Register map cleanups.
Various cleanups:
- do not use DWORD as a bitmask, that places artificial limit of 32 on
registers
- track attributes that are used and declare only those
- move declarations function call in pshader/vshader to allow us to
insert pixel or vertex specific code between the declarations and
the rest of the code
- remove redundant 0 intializers
- remove useless continue statement
---
dlls/wined3d/baseshader.c | 64 +++++++++++++++++++---------------------
dlls/wined3d/pixelshader.c | 6 ++++
dlls/wined3d/vertexshader.c | 6 ++++
dlls/wined3d/wined3d_private.h | 32 ++++++++++++++++----
4 files changed, 67 insertions(+), 41 deletions(-)
Diff: http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=a42925ee090e6992b6e…
Module: wine
Branch: refs/heads/master
Commit: 17b0d26c1e06cf78d93cfc9bdbe618f456e196b1
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=17b0d26c1e06cf78d93cfc9…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:54:30 2006 -0400
wined3d: Share trace pass
Now that the declaration function is out of the way, the tracing pass,
which is very long and 100% the same can be shared between pixel and
vertex shaders.
The new function is called shader_trace_init(), and is responsible for:
- tracing the shader
- initializing the function length
- setting the shader version [needed very early]
---
dlls/wined3d/baseshader.c | 147 +++++++++++++++++++++++++++++-
dlls/wined3d/glsl_shader.c | 18 ++--
dlls/wined3d/pixelshader.c | 196 ++++++----------------------------------
dlls/wined3d/vertexshader.c | 165 +++-------------------------------
dlls/wined3d/wined3d_private.h | 9 +-
5 files changed, 199 insertions(+), 336 deletions(-)
Diff: http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=17b0d26c1e06cf78d93…
Module: wine
Branch: refs/heads/master
Commit: 9bae7755ab1f3983980306d8c94c86af4c9e7bb2
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=9bae7755ab1f3983980306d…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:53:32 2006 -0400
wined3d: Rework dcl processing.
The new function is called in pass 2 (getister counting/maps), and
it's now in baseshader. It operates on all INPUT and OUTPUT registers,
which, in addition to the old vertex shader input declarations covers
Shader Model 3.0 vshader output and pshader input declarations. The
result is stored into the reg_map structure.
---
dlls/wined3d/baseshader.c | 157 +++++++++++++++++++++++++++++++++++-----
dlls/wined3d/drawprim.c | 24 ++++--
dlls/wined3d/glsl_shader.c | 21 ++++-
dlls/wined3d/pixelshader.c | 20 ++++-
dlls/wined3d/vertexshader.c | 145 +++++++------------------------------
dlls/wined3d/wined3d_private.h | 15 +++-
6 files changed, 224 insertions(+), 158 deletions(-)
Diff: http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=9bae7755ab1f3983980…
Module: wine
Branch: refs/heads/master
Commit: f144d58ac27ca019304f7d23ee2c8506a213d6e2
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=f144d58ac27ca019304f7d2…
Author: Ivan Gyurdiev <ivg231(a)gmail.com>
Date: Mon Jun 12 02:51:58 2006 -0400
wined3d: The namedArrays code path is dead (always FALSE).
Delete the entire namedArrays code path and all its dependencies (one
of which is quite long - storeOrder in drawprim is always FALSE, for
example). Delete declaredArrays, and make its code path the default.
---
dlls/wined3d/baseshader.c | 23 ++++----
dlls/wined3d/drawprim.c | 68 +++++++++-------------
dlls/wined3d/glsl_shader.c | 8 ---
dlls/wined3d/vertexshader.c | 121 +---------------------------------------
dlls/wined3d/wined3d_private.h | 6 +-
5 files changed, 43 insertions(+), 183 deletions(-)
Diff: http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=f144d58ac27ca019304…