Tobias Jakobi : wined3d: Add load_np2fixup_constants function to shader backend.
Alexandre Julliard
julliard at winehq.org
Fri Apr 10 08:10:15 CDT 2009
Module: wine
Branch: master
Commit: 9b067a6ca596f7f2e770d7556f231d929e8b6aa9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9b067a6ca596f7f2e770d7556f231d929e8b6aa9
Author: Tobias Jakobi <liquid.acid at gmx.net>
Date: Thu Apr 9 00:55:38 2009 +0200
wined3d: Add load_np2fixup_constants function to shader backend.
---
dlls/wined3d/arb_program_shader.c | 11 +++++++++++
dlls/wined3d/baseshader.c | 2 ++
dlls/wined3d/glsl_shader.c | 11 +++++++++++
dlls/wined3d/wined3d_private.h | 1 +
4 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 8c08771..f046b6d 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -174,6 +174,16 @@ static unsigned int shader_arb_load_constantsF(IWineD3DBaseShaderImpl* This, con
}
/**
+ * Loads the texture dimensions for NP2 fixup into the currently set ARB_[vertex/fragment]_programs.
+ */
+static void shader_arb_load_np2fixup_constants(
+ IWineD3DDevice* device,
+ char usePixelShader,
+ char useVertexShader) {
+ /* not implemented */
+}
+
+/**
* Loads the app-supplied constants into the currently set ARB_[vertex/fragment]_programs.
*
* We only support float constants in ARB at the moment, so don't
@@ -2306,6 +2316,7 @@ const shader_backend_t arb_program_shader_backend = {
shader_arb_update_float_vertex_constants,
shader_arb_update_float_pixel_constants,
shader_arb_load_constants,
+ shader_arb_load_np2fixup_constants,
shader_arb_destroy,
shader_arb_alloc,
shader_arb_free,
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 235778e..f24f9bc 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -1094,6 +1094,7 @@ static void shader_none_deselect_depth_blt(IWineD3DDevice *iface) {}
static void shader_none_update_float_vertex_constants(IWineD3DDevice *iface, UINT start, UINT count) {}
static void shader_none_update_float_pixel_constants(IWineD3DDevice *iface, UINT start, UINT count) {}
static void shader_none_load_constants(IWineD3DDevice *iface, char usePS, char useVS) {}
+static void shader_none_load_np2fixup_constants(IWineD3DDevice *iface, char usePS, char useVS) {}
static void shader_none_destroy(IWineD3DBaseShader *iface) {}
static HRESULT shader_none_alloc(IWineD3DDevice *iface) {return WINED3D_OK;}
static void shader_none_free(IWineD3DDevice *iface) {}
@@ -1143,6 +1144,7 @@ const shader_backend_t none_shader_backend = {
shader_none_update_float_vertex_constants,
shader_none_update_float_pixel_constants,
shader_none_load_constants,
+ shader_none_load_np2fixup_constants,
shader_none_destroy,
shader_none_alloc,
shader_none_free,
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 1ed2161..626bda3 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -483,6 +483,16 @@ static void reset_program_constant_version(void *value, void *context)
}
/**
+ * Loads the texture dimensions for NP2 fixup into the currently set GLSL program.
+ */
+static void shader_glsl_load_np2fixup_constants(
+ IWineD3DDevice* device,
+ char usePixelShader,
+ char useVertexShader) {
+ /* not implemented */
+}
+
+/**
* Loads the app-supplied constants into the currently set GLSL program.
*/
static void shader_glsl_load_constants(
@@ -4281,6 +4291,7 @@ const shader_backend_t glsl_shader_backend = {
shader_glsl_update_float_vertex_constants,
shader_glsl_update_float_pixel_constants,
shader_glsl_load_constants,
+ shader_glsl_load_np2fixup_constants,
shader_glsl_destroy,
shader_glsl_alloc,
shader_glsl_free,
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index ebc7561..a5ae466 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -562,6 +562,7 @@ typedef struct {
void (*shader_update_float_vertex_constants)(IWineD3DDevice *iface, UINT start, UINT count);
void (*shader_update_float_pixel_constants)(IWineD3DDevice *iface, UINT start, UINT count);
void (*shader_load_constants)(IWineD3DDevice *iface, char usePS, char useVS);
+ void (*shader_load_np2fixup_constants)(IWineD3DDevice *iface, char usePS, char useVS);
void (*shader_destroy)(IWineD3DBaseShader *iface);
HRESULT (*shader_alloc_private)(IWineD3DDevice *iface);
void (*shader_free_private)(IWineD3DDevice *iface);
More information about the wine-cvs
mailing list