wined3d: Make some GLSL structs and functions private to the backend

Henri Verbeet hverbeet at codeweavers.com
Tue Sep 16 07:55:39 CDT 2008


---
 dlls/wined3d/glsl_shader.c     |   45 +++++++++++++++++++++++++++++----
 dlls/wined3d/wined3d_private.h |   53 ----------------------------------------
 2 files changed, 39 insertions(+), 59 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index f8159fd..3ce8188 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -53,9 +53,42 @@ typedef struct {
     DWORD coord_mask;
 } glsl_sample_function_t;
 
+/* GLSL shader private data */
+struct shader_glsl_priv {
+    struct hash_table_t *glsl_program_lookup;
+    struct glsl_shader_prog_link *glsl_program;
+    GLhandleARB             depth_blt_glsl_program_id;
+};
+
+/* Struct to maintain data about a linked GLSL program */
+struct glsl_shader_prog_link {
+    struct list             vshader_entry;
+    struct list             pshader_entry;
+    GLhandleARB             programId;
+    GLhandleARB             *vuniformF_locations;
+    GLhandleARB             *puniformF_locations;
+    GLhandleARB             vuniformI_locations[MAX_CONST_I];
+    GLhandleARB             puniformI_locations[MAX_CONST_I];
+    GLhandleARB             posFixup_location;
+    GLhandleARB             bumpenvmat_location[MAX_TEXTURES];
+    GLhandleARB             luminancescale_location[MAX_TEXTURES];
+    GLhandleARB             luminanceoffset_location[MAX_TEXTURES];
+    GLhandleARB             srgb_comparison_location;
+    GLhandleARB             srgb_mul_low_location;
+    GLhandleARB             ycorrection_location;
+    GLenum                  vertex_color_clamp;
+    GLhandleARB             vshader;
+    GLhandleARB             pshader;
+};
+
+typedef struct {
+    GLhandleARB vshader;
+    GLhandleARB pshader;
+} glsl_program_key_t;
+
+
 /** Prints the GLSL info log which will contain error messages if they exist */
-void print_glsl_info_log(WineD3D_GL_Info *gl_info, GLhandleARB obj) {
-    
+static void print_glsl_info_log(WineD3D_GL_Info *gl_info, GLhandleARB obj) {
     int infologLength = 0;
     char *infoLog;
     int i;
@@ -364,7 +397,7 @@ static void shader_glsl_load_constantsB(
 /**
  * Loads the app-supplied constants into the currently set GLSL program.
  */
-void shader_glsl_load_constants(
+static void shader_glsl_load_constants(
     IWineD3DDevice* device,
     char usePixelShader,
     char useVertexShader) {
@@ -497,7 +530,7 @@ void shader_glsl_load_constants(
 }
 
 /** Generate the variable & register declarations for the GLSL output target */
-void shader_generate_glsl_declarations(
+static void shader_generate_glsl_declarations(
     IWineD3DBaseShader *iface,
     shader_reg_maps* reg_maps,
     SHADER_BUFFER* buffer,
@@ -2762,7 +2795,7 @@ void pshader_glsl_dp2add(SHADER_OPCODE_ARG* arg) {
     }
 }
 
-void pshader_glsl_input_pack(
+static void pshader_glsl_input_pack(
    SHADER_BUFFER* buffer,
    semantic* semantics_in,
    IWineD3DPixelShader *iface) {
@@ -2838,7 +2871,7 @@ static struct glsl_shader_prog_link *get_glsl_program_entry(struct shader_glsl_p
     return (struct glsl_shader_prog_link *)hash_table_get(priv->glsl_program_lookup, &key);
 }
 
-void delete_glsl_program_entry(struct shader_glsl_priv *priv, WineD3D_GL_Info *gl_info, struct glsl_shader_prog_link *entry) {
+static void delete_glsl_program_entry(struct shader_glsl_priv *priv, WineD3D_GL_Info *gl_info, struct glsl_shader_prog_link *entry) {
     glsl_program_key_t *key;
 
     key = HeapAlloc(GetProcessHeap(), 0, sizeof(glsl_program_key_t));
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index f009bcd..6bb7e50 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -255,13 +255,6 @@ extern const shader_backend_t glsl_shader_backend;
 extern const shader_backend_t arb_program_shader_backend;
 extern const shader_backend_t none_shader_backend;
 
-/* GLSL shader private data */
-struct shader_glsl_priv {
-    struct hash_table_t *glsl_program_lookup;
-    struct glsl_shader_prog_link *glsl_program;
-    GLhandleARB             depth_blt_glsl_program_id;
-};
-
 /* ARB_program_shader private data */
 struct shader_arb_priv {
     GLuint                  current_vprogram_id;
@@ -1893,34 +1886,6 @@ unsigned int count_bits(unsigned int mask);
 
 typedef void (*SHADER_HANDLER) (struct SHADER_OPCODE_ARG*);
 
-/* Struct to maintain a list of GLSL shader programs and their associated pixel and
- * vertex shaders.  A list of this type is maintained on the DeviceImpl, and is only
- * used if the user is using GLSL shaders. */
-struct glsl_shader_prog_link {
-    struct list             vshader_entry;
-    struct list             pshader_entry;
-    GLhandleARB             programId;
-    GLhandleARB             *vuniformF_locations;
-    GLhandleARB             *puniformF_locations;
-    GLhandleARB             vuniformI_locations[MAX_CONST_I];
-    GLhandleARB             puniformI_locations[MAX_CONST_I];
-    GLhandleARB             posFixup_location;
-    GLhandleARB             bumpenvmat_location[MAX_TEXTURES];
-    GLhandleARB             luminancescale_location[MAX_TEXTURES];
-    GLhandleARB             luminanceoffset_location[MAX_TEXTURES];
-    GLhandleARB             srgb_comparison_location;
-    GLhandleARB             srgb_mul_low_location;
-    GLhandleARB             ycorrection_location;
-    GLenum                  vertex_color_clamp;
-    GLhandleARB             vshader;
-    GLhandleARB             pshader;
-};
-
-typedef struct {
-    GLhandleARB vshader;
-    GLhandleARB pshader;
-} glsl_program_key_t;
-
 /* TODO: Make this dynamic, based on shader limits ? */
 #define MAX_REG_ADDR 1
 #define MAX_REG_TEMP 32
@@ -2103,10 +2068,6 @@ extern void vshader_hw_rsq_rcp(SHADER_OPCODE_ARG* arg);
 
 /* GLSL helper functions */
 extern void shader_glsl_add_instruction_modifiers(SHADER_OPCODE_ARG *arg);
-extern void shader_glsl_load_constants(
-    IWineD3DDevice* device,
-    char usePixelShader,
-    char useVertexShader);
 
 /** The following translate DirectX pixel/vertex shader opcodes to GLSL lines */
 extern void shader_glsl_cross(SHADER_OPCODE_ARG* arg);
@@ -2165,10 +2126,6 @@ extern void pshader_glsl_texreg2ar(SHADER_OPCODE_ARG* arg);
 extern void pshader_glsl_texreg2gb(SHADER_OPCODE_ARG* arg);
 extern void pshader_glsl_texreg2rgb(SHADER_OPCODE_ARG* arg);
 extern void pshader_glsl_dp2add(SHADER_OPCODE_ARG* arg);
-extern void pshader_glsl_input_pack(
-   SHADER_BUFFER* buffer,
-   semantic* semantics_out,
-   IWineD3DPixelShader *iface);
 
 /*****************************************************************************
  * IDirect3DBaseShader implementation structure
@@ -2236,12 +2193,6 @@ extern HRESULT shader_get_registers_used(
     CONST DWORD* pToken,
     IWineD3DStateBlockImpl *stateBlock);
 
-extern void shader_generate_glsl_declarations(
-    IWineD3DBaseShader *iface,
-    shader_reg_maps* reg_maps,
-    SHADER_BUFFER* buffer,
-    WineD3D_GL_Info* gl_info);
-
 extern void shader_generate_arb_declarations(
     IWineD3DBaseShader *iface,
     shader_reg_maps* reg_maps,
@@ -2277,10 +2228,6 @@ extern int shader_skip_unrecognized(
     IWineD3DBaseShader* iface,
     const DWORD* pToken);
 
-extern void print_glsl_info_log(
-    WineD3D_GL_Info *gl_info,
-    GLhandleARB obj);
-
 static inline int shader_get_regtype(const DWORD param) {
     return (((param & WINED3DSP_REGTYPE_MASK) >> WINED3DSP_REGTYPE_SHIFT) |
             ((param & WINED3DSP_REGTYPE_MASK2) >> WINED3DSP_REGTYPE_SHIFT2));
-- 
1.5.6.4



--------------070305050104010202050406--



More information about the wine-patches mailing list