Commit ee49230c authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

Make some ARB program structs and functions private to the backend.

parent c2178eb6
...@@ -39,6 +39,22 @@ WINE_DECLARE_DEBUG_CHANNEL(d3d_caps); ...@@ -39,6 +39,22 @@ WINE_DECLARE_DEBUG_CHANNEL(d3d_caps);
#define GLINFO_LOCATION (*gl_info) #define GLINFO_LOCATION (*gl_info)
/* Internally used shader constants. Applications can use constants 0 to GL_LIMITS(vshader_constantsF) - 1,
* so upload them above that
*/
#define ARB_SHADER_PRIVCONST_BASE GL_LIMITS(vshader_constantsF)
#define ARB_SHADER_PRIVCONST_POS ARB_SHADER_PRIVCONST_BASE + 0
/* ARB_program_shader private data */
struct shader_arb_priv {
GLuint current_vprogram_id;
GLuint current_fprogram_id;
GLuint depth_blt_vprogram_id;
GLuint depth_blt_fprogram_id;
BOOL use_arbfp_fixed_func;
struct hash_table_t *fragment_shaders;
};
/******************************************************** /********************************************************
* ARB_[vertex/fragment]_program helper functions follow * ARB_[vertex/fragment]_program helper functions follow
********************************************************/ ********************************************************/
...@@ -150,7 +166,7 @@ static unsigned int shader_arb_load_constantsF(IWineD3DBaseShaderImpl* This, Win ...@@ -150,7 +166,7 @@ static unsigned int shader_arb_load_constantsF(IWineD3DBaseShaderImpl* This, Win
* We only support float constants in ARB at the moment, so don't * We only support float constants in ARB at the moment, so don't
* worry about the Integers or Booleans * worry about the Integers or Booleans
*/ */
void shader_arb_load_constants( static void shader_arb_load_constants(
IWineD3DDevice* device, IWineD3DDevice* device,
char usePixelShader, char usePixelShader,
char useVertexShader) { char useVertexShader) {
...@@ -234,7 +250,7 @@ void shader_arb_load_constants( ...@@ -234,7 +250,7 @@ void shader_arb_load_constants(
} }
/* Generate the variable & register declarations for the ARB_vertex_program output target */ /* Generate the variable & register declarations for the ARB_vertex_program output target */
void shader_generate_arb_declarations( static void shader_generate_arb_declarations(
IWineD3DBaseShader *iface, IWineD3DBaseShader *iface,
shader_reg_maps* reg_maps, shader_reg_maps* reg_maps,
SHADER_BUFFER* buffer, SHADER_BUFFER* buffer,
...@@ -3195,7 +3211,7 @@ static void arbfp_blit_free(IWineD3DDevice *iface) { ...@@ -3195,7 +3211,7 @@ static void arbfp_blit_free(IWineD3DDevice *iface) {
LEAVE_GL(); LEAVE_GL();
} }
BOOL gen_planar_yuv_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textype, char *luminance) { static BOOL gen_planar_yuv_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textype, char *luminance) {
char chroma; char chroma;
const char *tex, *texinstr; const char *tex, *texinstr;
...@@ -3281,7 +3297,7 @@ BOOL gen_planar_yuv_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textyp ...@@ -3281,7 +3297,7 @@ BOOL gen_planar_yuv_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textyp
return TRUE; return TRUE;
} }
BOOL gen_yv12_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textype, char *luminance) { static BOOL gen_yv12_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textype, char *luminance) {
const char *tex; const char *tex;
switch(textype) { switch(textype) {
...@@ -3426,7 +3442,7 @@ BOOL gen_yv12_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textype, cha ...@@ -3426,7 +3442,7 @@ BOOL gen_yv12_read(SHADER_BUFFER *buffer, WINED3DFORMAT fmt, GLenum textype, cha
return TRUE; return TRUE;
} }
GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, WINED3DFORMAT fmt, GLenum textype) { static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, WINED3DFORMAT fmt, GLenum textype) {
GLenum shader; GLenum shader;
SHADER_BUFFER buffer; SHADER_BUFFER buffer;
char luminance_component; char luminance_component;
......
...@@ -255,16 +255,6 @@ extern const shader_backend_t glsl_shader_backend; ...@@ -255,16 +255,6 @@ extern const shader_backend_t glsl_shader_backend;
extern const shader_backend_t arb_program_shader_backend; extern const shader_backend_t arb_program_shader_backend;
extern const shader_backend_t none_shader_backend; extern const shader_backend_t none_shader_backend;
/* ARB_program_shader private data */
struct shader_arb_priv {
GLuint current_vprogram_id;
GLuint current_fprogram_id;
GLuint depth_blt_vprogram_id;
GLuint depth_blt_fprogram_id;
BOOL use_arbfp_fixed_func;
struct hash_table_t *fragment_shaders;
};
/* X11 locking */ /* X11 locking */
extern void (*wine_tsx11_lock_ptr)(void); extern void (*wine_tsx11_lock_ptr)(void);
...@@ -468,8 +458,6 @@ extern glAttribFunc normal_funcs[WINED3DDECLTYPE_UNUSED]; ...@@ -468,8 +458,6 @@ extern glAttribFunc normal_funcs[WINED3DDECLTYPE_UNUSED];
#define GET_TEXCOORD_SIZE_FROM_FVF(d3dvtVertexType, tex_num) \ #define GET_TEXCOORD_SIZE_FROM_FVF(d3dvtVertexType, tex_num) \
(((((d3dvtVertexType) >> (16 + (2 * (tex_num)))) + 1) & 0x03) + 1) (((((d3dvtVertexType) >> (16 + (2 * (tex_num)))) + 1) & 0x03) + 1)
void depth_copy(IWineD3DDevice *iface);
/* Routines and structures related to state management */ /* Routines and structures related to state management */
typedef struct WineD3DContext WineD3DContext; typedef struct WineD3DContext WineD3DContext;
typedef void (*APPLYSTATEFUNC)(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *ctx); typedef void (*APPLYSTATEFUNC)(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3DContext *ctx);
...@@ -2023,12 +2011,6 @@ extern BOOL vshader_input_is_color( ...@@ -2023,12 +2011,6 @@ extern BOOL vshader_input_is_color(
extern HRESULT allocate_shader_constants(IWineD3DStateBlockImpl* object); extern HRESULT allocate_shader_constants(IWineD3DStateBlockImpl* object);
/* ARB_[vertex/fragment]_program helper functions */
extern void shader_arb_load_constants(
IWineD3DDevice* device,
char usePixelShader,
char useVertexShader);
/* ARB shader program Prototypes */ /* ARB shader program Prototypes */
extern void shader_hw_def(SHADER_OPCODE_ARG *arg); extern void shader_hw_def(SHADER_OPCODE_ARG *arg);
...@@ -2193,12 +2175,6 @@ extern HRESULT shader_get_registers_used( ...@@ -2193,12 +2175,6 @@ extern HRESULT shader_get_registers_used(
CONST DWORD* pToken, CONST DWORD* pToken,
IWineD3DStateBlockImpl *stateBlock); IWineD3DStateBlockImpl *stateBlock);
extern void shader_generate_arb_declarations(
IWineD3DBaseShader *iface,
shader_reg_maps* reg_maps,
SHADER_BUFFER* buffer,
WineD3D_GL_Info* gl_info);
extern void shader_generate_main( extern void shader_generate_main(
IWineD3DBaseShader *iface, IWineD3DBaseShader *iface,
SHADER_BUFFER* buffer, SHADER_BUFFER* buffer,
...@@ -2297,12 +2273,6 @@ static inline BOOL shader_constant_is_local(IWineD3DBaseShaderImpl* This, DWORD ...@@ -2297,12 +2273,6 @@ static inline BOOL shader_constant_is_local(IWineD3DBaseShaderImpl* This, DWORD
} }
/* Internally used shader constants. Applications can use constants 0 to GL_LIMITS(vshader_constantsF) - 1,
* so upload them above that
*/
#define ARB_SHADER_PRIVCONST_BASE GL_LIMITS(vshader_constantsF)
#define ARB_SHADER_PRIVCONST_POS ARB_SHADER_PRIVCONST_BASE + 0
/***************************************************************************** /*****************************************************************************
* IDirect3DVertexShader implementation structure * IDirect3DVertexShader implementation structure
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment