wined3d: Pass a wined3d_context structure to fragment_pipeline.enable_extension().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Henri Verbeet 2019-08-01 00:48:06 +04:30 committed by Alexandre Julliard
parent fe17f2adf9
commit 9cb81bfad4
9 changed files with 57 additions and 48 deletions

View File

@ -2020,7 +2020,7 @@ static const struct wined3d_vertex_pipe_ops *select_vertex_implementation(const
return &ffp_vertex_pipe; return &ffp_vertex_pipe;
} }
static const struct fragment_pipeline *select_fragment_implementation(const struct wined3d_gl_info *gl_info, static const struct wined3d_fragment_pipe_ops *select_fragment_implementation(const struct wined3d_gl_info *gl_info,
const struct wined3d_shader_backend_ops *shader_backend_ops) const struct wined3d_shader_backend_ops *shader_backend_ops)
{ {
if (shader_backend_ops == &glsl_shader_backend && gl_info->supported[ARB_FRAGMENT_SHADER]) if (shader_backend_ops == &glsl_shader_backend && gl_info->supported[ARB_FRAGMENT_SHADER])

View File

@ -304,7 +304,7 @@ struct shader_arb_priv
const struct wined3d_context *last_context; const struct wined3d_context *last_context;
const struct wined3d_vertex_pipe_ops *vertex_pipe; const struct wined3d_vertex_pipe_ops *vertex_pipe;
const struct fragment_pipeline *fragment_pipe; const struct wined3d_fragment_pipe_ops *fragment_pipe;
BOOL ffp_proj_control; BOOL ffp_proj_control;
}; };
@ -4582,7 +4582,7 @@ static void shader_arb_select(void *shader_priv, struct wined3d_context *context
checkGLcall("glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, priv->current_fprogram_id);"); checkGLcall("glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, priv->current_fprogram_id);");
if (!priv->use_arbfp_fixed_func) if (!priv->use_arbfp_fixed_func)
priv->fragment_pipe->enable_extension(gl_info, FALSE); priv->fragment_pipe->fp_enable(context, FALSE);
/* Enable OpenGL fragment programs. */ /* Enable OpenGL fragment programs. */
gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_PROGRAM_ARB); gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_PROGRAM_ARB);
@ -4629,7 +4629,7 @@ static void shader_arb_select(void *shader_priv, struct wined3d_context *context
checkGLcall("glDisable(GL_FRAGMENT_PROGRAM_ARB)"); checkGLcall("glDisable(GL_FRAGMENT_PROGRAM_ARB)");
priv->current_fprogram_id = 0; priv->current_fprogram_id = 0;
} }
priv->fragment_pipe->enable_extension(gl_info, TRUE); priv->fragment_pipe->fp_enable(context, TRUE);
} }
if (use_vs(state)) if (use_vs(state))
@ -4712,7 +4712,7 @@ static void shader_arb_disable(void *shader_priv, struct wined3d_context *contex
checkGLcall("glDisable(GL_FRAGMENT_PROGRAM_ARB)"); checkGLcall("glDisable(GL_FRAGMENT_PROGRAM_ARB)");
priv->current_fprogram_id = 0; priv->current_fprogram_id = 0;
} }
priv->fragment_pipe->enable_extension(gl_info, FALSE); priv->fragment_pipe->fp_enable(context, FALSE);
if (gl_info->supported[ARB_VERTEX_PROGRAM]) if (gl_info->supported[ARB_VERTEX_PROGRAM])
{ {
@ -4785,7 +4785,7 @@ static int sig_tree_compare(const void *key, const struct wine_rb_entry *entry)
} }
static HRESULT shader_arb_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, static HRESULT shader_arb_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe,
const struct fragment_pipeline *fragment_pipe) const struct wined3d_fragment_pipe_ops *fragment_pipe)
{ {
const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info;
struct fragment_caps fragment_caps; struct fragment_caps fragment_caps;
@ -5685,8 +5685,10 @@ struct arbfp_ffp_desc
}; };
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void arbfp_enable(const struct wined3d_gl_info *gl_info, BOOL enable) static void arbfp_enable(const struct wined3d_context *context, BOOL enable)
{ {
const struct wined3d_gl_info *gl_info = context->gl_info;
if (enable) if (enable)
{ {
gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_PROGRAM_ARB); gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_PROGRAM_ARB);
@ -6855,7 +6857,8 @@ static void arbfp_free_context_data(struct wined3d_context *context)
{ {
} }
const struct fragment_pipeline arbfp_fragment_pipeline = { const struct wined3d_fragment_pipe_ops arbfp_fragment_pipeline =
{
arbfp_enable, arbfp_enable,
arbfp_get_caps, arbfp_get_caps,
arbfp_get_emul_mask, arbfp_get_emul_mask,

View File

@ -1250,8 +1250,10 @@ static const struct wined3d_state_entry_template atifs_fragmentstate_template[]
}; };
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void atifs_enable(const struct wined3d_gl_info *gl_info, BOOL enable) static void atifs_enable(const struct wined3d_context *context, BOOL enable)
{ {
const struct wined3d_gl_info *gl_info = context->gl_info;
if (enable) if (enable)
{ {
gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_SHADER_ATI); gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_SHADER_ATI);
@ -1376,7 +1378,8 @@ static void atifs_free_context_data(struct wined3d_context *context)
heap_free(context->fragment_pipe_data); heap_free(context->fragment_pipe_data);
} }
const struct fragment_pipeline atifs_fragment_pipeline = { const struct wined3d_fragment_pipe_ops atifs_fragment_pipeline =
{
atifs_enable, atifs_enable,
atifs_get_caps, atifs_get_caps,
atifs_get_emul_mask, atifs_get_emul_mask,

View File

@ -5784,8 +5784,8 @@ HRESULT wined3d_device_init(struct wined3d_device *device, struct wined3d *wined
struct wined3d_device_parent *device_parent) struct wined3d_device_parent *device_parent)
{ {
struct wined3d_adapter *adapter = wined3d->adapters[adapter_idx]; struct wined3d_adapter *adapter = wined3d->adapters[adapter_idx];
const struct wined3d_fragment_pipe_ops *fragment_pipeline;
const struct wined3d_vertex_pipe_ops *vertex_pipeline; const struct wined3d_vertex_pipe_ops *vertex_pipeline;
const struct fragment_pipeline *fragment_pipeline;
unsigned int i; unsigned int i;
HRESULT hr; HRESULT hr;

View File

@ -139,7 +139,7 @@ struct shader_glsl_priv
UINT next_constant_version; UINT next_constant_version;
const struct wined3d_vertex_pipe_ops *vertex_pipe; const struct wined3d_vertex_pipe_ops *vertex_pipe;
const struct fragment_pipeline *fragment_pipe; const struct wined3d_fragment_pipe_ops *fragment_pipe;
struct wine_rb_tree ffp_vertex_shaders; struct wine_rb_tree ffp_vertex_shaders;
struct wine_rb_tree ffp_fragment_shaders; struct wine_rb_tree ffp_fragment_shaders;
BOOL ffp_proj_control; BOOL ffp_proj_control;
@ -10554,7 +10554,7 @@ static void shader_glsl_select(void *shader_priv, struct wined3d_context *contex
GLuint program_id, prev_id; GLuint program_id, prev_id;
priv->vertex_pipe->vp_enable(context, !use_vs(state)); priv->vertex_pipe->vp_enable(context, !use_vs(state));
priv->fragment_pipe->enable_extension(gl_info, !use_ps(state)); priv->fragment_pipe->fp_enable(context, !use_ps(state));
prev_id = ctx_data->glsl_program ? ctx_data->glsl_program->id : 0; prev_id = ctx_data->glsl_program ? ctx_data->glsl_program->id : 0;
set_glsl_shader_program(context_gl, state, priv, ctx_data); set_glsl_shader_program(context_gl, state, priv, ctx_data);
@ -10656,7 +10656,7 @@ static void shader_glsl_disable(void *shader_priv, struct wined3d_context *conte
checkGLcall("glUseProgram"); checkGLcall("glUseProgram");
priv->vertex_pipe->vp_enable(context, FALSE); priv->vertex_pipe->vp_enable(context, FALSE);
priv->fragment_pipe->enable_extension(gl_info, FALSE); priv->fragment_pipe->fp_enable(context, FALSE);
if (needs_legacy_glsl_syntax(gl_info) && gl_info->supported[ARB_COLOR_BUFFER_FLOAT]) if (needs_legacy_glsl_syntax(gl_info) && gl_info->supported[ARB_COLOR_BUFFER_FLOAT])
{ {
@ -10911,7 +10911,7 @@ static void constant_heap_free(struct constant_heap *heap)
} }
static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe,
const struct fragment_pipeline *fragment_pipe) const struct wined3d_fragment_pipe_ops *fragment_pipe)
{ {
SIZE_T stack_size = wined3d_log2i(max(WINED3D_MAX_VS_CONSTS_F, WINED3D_MAX_PS_CONSTS_F)) + 1; SIZE_T stack_size = wined3d_log2i(max(WINED3D_MAX_VS_CONSTS_F, WINED3D_MAX_PS_CONSTS_F)) + 1;
struct fragment_caps fragment_caps; struct fragment_caps fragment_caps;
@ -11892,7 +11892,7 @@ const struct wined3d_vertex_pipe_ops glsl_vertex_pipe =
glsl_vertex_pipe_vp_states, glsl_vertex_pipe_vp_states,
}; };
static void glsl_fragment_pipe_enable(const struct wined3d_gl_info *gl_info, BOOL enable) static void glsl_fragment_pipe_enable(const struct wined3d_context *context, BOOL enable)
{ {
/* Nothing to do. */ /* Nothing to do. */
} }
@ -12251,7 +12251,7 @@ static void glsl_fragment_pipe_free_context_data(struct wined3d_context *context
{ {
} }
const struct fragment_pipeline glsl_fragment_pipe = const struct wined3d_fragment_pipe_ops glsl_fragment_pipe =
{ {
glsl_fragment_pipe_enable, glsl_fragment_pipe_enable,
glsl_fragment_pipe_get_caps, glsl_fragment_pipe_get_caps,

View File

@ -659,8 +659,10 @@ static void nvrc_texfactor(struct wined3d_context *context, const struct wined3d
} }
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void nvrc_enable(const struct wined3d_gl_info *gl_info, BOOL enable) static void nvrc_enable(const struct wined3d_context *context, BOOL enable)
{ {
const struct wined3d_gl_info *gl_info = context->gl_info;
if (enable) if (enable)
{ {
gl_info->gl_ops.gl.p_glEnable(GL_REGISTER_COMBINERS_NV); gl_info->gl_ops.gl.p_glEnable(GL_REGISTER_COMBINERS_NV);
@ -674,9 +676,11 @@ static void nvrc_enable(const struct wined3d_gl_info *gl_info, BOOL enable)
} }
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void nvts_enable(const struct wined3d_gl_info *gl_info, BOOL enable) static void nvts_enable(const struct wined3d_context *context, BOOL enable)
{ {
nvrc_enable(gl_info, enable); const struct wined3d_gl_info *gl_info = context->gl_info;
nvrc_enable(context, enable);
if (enable) if (enable)
{ {
gl_info->gl_ops.gl.p_glEnable(GL_TEXTURE_SHADER_NV); gl_info->gl_ops.gl.p_glEnable(GL_TEXTURE_SHADER_NV);
@ -923,7 +927,8 @@ static void nvrc_context_free(struct wined3d_context *context)
} }
const struct fragment_pipeline nvts_fragment_pipeline = { const struct wined3d_fragment_pipe_ops nvts_fragment_pipeline =
{
nvts_enable, nvts_enable,
nvrc_fragment_get_caps, nvrc_fragment_get_caps,
nvrc_fragment_get_emul_mask, nvrc_fragment_get_emul_mask,
@ -935,7 +940,8 @@ const struct fragment_pipeline nvts_fragment_pipeline = {
nvrc_fragmentstate_template, nvrc_fragmentstate_template,
}; };
const struct fragment_pipeline nvrc_fragment_pipeline = { const struct wined3d_fragment_pipe_ops nvrc_fragment_pipeline =
{
nvrc_enable, nvrc_enable,
nvrc_fragment_get_caps, nvrc_fragment_get_caps,
nvrc_fragment_get_emul_mask, nvrc_fragment_get_emul_mask,

View File

@ -3165,7 +3165,7 @@ static void shader_cleanup(struct wined3d_shader *shader)
struct shader_none_priv struct shader_none_priv
{ {
const struct wined3d_vertex_pipe_ops *vertex_pipe; const struct wined3d_vertex_pipe_ops *vertex_pipe;
const struct fragment_pipeline *fragment_pipe; const struct wined3d_fragment_pipe_ops *fragment_pipe;
BOOL ffp_proj_control; BOOL ffp_proj_control;
}; };
@ -3185,21 +3185,19 @@ static void shader_none_init_context_state(struct wined3d_context *context) {}
static void shader_none_select(void *shader_priv, struct wined3d_context *context, static void shader_none_select(void *shader_priv, struct wined3d_context *context,
const struct wined3d_state *state) const struct wined3d_state *state)
{ {
const struct wined3d_gl_info *gl_info = context->gl_info;
struct shader_none_priv *priv = shader_priv; struct shader_none_priv *priv = shader_priv;
priv->vertex_pipe->vp_enable(context, !use_vs(state)); priv->vertex_pipe->vp_enable(context, !use_vs(state));
priv->fragment_pipe->enable_extension(gl_info, !use_ps(state)); priv->fragment_pipe->fp_enable(context, !use_ps(state));
} }
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void shader_none_disable(void *shader_priv, struct wined3d_context *context) static void shader_none_disable(void *shader_priv, struct wined3d_context *context)
{ {
struct shader_none_priv *priv = shader_priv; struct shader_none_priv *priv = shader_priv;
const struct wined3d_gl_info *gl_info = context->gl_info;
priv->vertex_pipe->vp_enable(context, FALSE); priv->vertex_pipe->vp_enable(context, FALSE);
priv->fragment_pipe->enable_extension(gl_info, FALSE); priv->fragment_pipe->fp_enable(context, FALSE);
context->shader_update_mask = (1u << WINED3D_SHADER_TYPE_PIXEL) context->shader_update_mask = (1u << WINED3D_SHADER_TYPE_PIXEL)
| (1u << WINED3D_SHADER_TYPE_VERTEX) | (1u << WINED3D_SHADER_TYPE_VERTEX)
@ -3210,7 +3208,7 @@ static void shader_none_disable(void *shader_priv, struct wined3d_context *conte
} }
static HRESULT shader_none_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, static HRESULT shader_none_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe,
const struct fragment_pipeline *fragment_pipe) const struct wined3d_fragment_pipe_ops *fragment_pipe)
{ {
struct fragment_caps fragment_caps; struct fragment_caps fragment_caps;
void *vertex_priv, *fragment_priv; void *vertex_priv, *fragment_priv;

View File

@ -5186,7 +5186,6 @@ static const struct wined3d_state_entry_template ffp_fragmentstate_template[] =
}; };
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void ffp_enable(const struct wined3d_gl_info *gl_info, BOOL enable) {}
static void ffp_pipe_enable(const struct wined3d_context *context, BOOL enable) {} static void ffp_pipe_enable(const struct wined3d_context *context, BOOL enable) {}
static void *ffp_alloc(const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv) static void *ffp_alloc(const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv)
@ -5297,8 +5296,9 @@ static void ffp_none_context_free(struct wined3d_context *context)
{ {
} }
const struct fragment_pipeline ffp_fragment_pipeline = { const struct wined3d_fragment_pipe_ops ffp_fragment_pipeline =
ffp_enable, {
ffp_pipe_enable,
ffp_fragment_get_caps, ffp_fragment_get_caps,
ffp_fragment_get_emul_mask, ffp_fragment_get_emul_mask,
ffp_alloc, ffp_alloc,
@ -5309,7 +5309,6 @@ const struct fragment_pipeline ffp_fragment_pipeline = {
ffp_fragmentstate_template, ffp_fragmentstate_template,
}; };
static void none_enable(const struct wined3d_gl_info *gl_info, BOOL enable) {}
static void none_pipe_enable(const struct wined3d_context *context, BOOL enable) {} static void none_pipe_enable(const struct wined3d_context *context, BOOL enable) {}
static void *none_alloc(const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv) static void *none_alloc(const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv)
@ -5354,9 +5353,9 @@ static BOOL fp_none_color_fixup_supported(struct color_fixup_desc fixup)
return is_identity_fixup(fixup); return is_identity_fixup(fixup);
} }
const struct fragment_pipeline none_fragment_pipe = const struct wined3d_fragment_pipe_ops none_fragment_pipe =
{ {
none_enable, none_pipe_enable,
fp_none_get_caps, fp_none_get_caps,
fp_none_get_emul_mask, fp_none_get_emul_mask,
none_alloc, none_alloc,
@ -5522,7 +5521,7 @@ static void validate_state_table(struct wined3d_state_entry *state_table)
HRESULT compile_state_table(struct wined3d_state_entry *state_table, APPLYSTATEFUNC **dev_multistate_funcs, HRESULT compile_state_table(struct wined3d_state_entry *state_table, APPLYSTATEFUNC **dev_multistate_funcs,
const struct wined3d_d3d_info *d3d_info, const BOOL *supported_extensions, const struct wined3d_d3d_info *d3d_info, const BOOL *supported_extensions,
const struct wined3d_vertex_pipe_ops *vertex, const struct fragment_pipeline *fragment, const struct wined3d_vertex_pipe_ops *vertex, const struct wined3d_fragment_pipe_ops *fragment,
const struct wined3d_state_entry_template *misc) const struct wined3d_state_entry_template *misc)
{ {
APPLYSTATEFUNC multistate_funcs[STATE_HIGHEST + 1][3]; APPLYSTATEFUNC multistate_funcs[STATE_HIGHEST + 1][3];

View File

@ -74,7 +74,7 @@
#define WINED3D_QUIRK_BROKEN_ARB_FOG 0x00000200 #define WINED3D_QUIRK_BROKEN_ARB_FOG 0x00000200
#define WINED3D_QUIRK_NO_INDEPENDENT_BIT_DEPTHS 0x00000400 #define WINED3D_QUIRK_NO_INDEPENDENT_BIT_DEPTHS 0x00000400
struct fragment_pipeline; struct wined3d_fragment_pipe_ops;
struct wined3d_adapter; struct wined3d_adapter;
struct wined3d_context; struct wined3d_context;
struct wined3d_state; struct wined3d_state;
@ -1444,7 +1444,7 @@ struct wined3d_shader_backend_ops
const struct wined3d_state *state); const struct wined3d_state *state);
void (*shader_destroy)(struct wined3d_shader *shader); void (*shader_destroy)(struct wined3d_shader *shader);
HRESULT (*shader_alloc_private)(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, HRESULT (*shader_alloc_private)(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe,
const struct fragment_pipeline *fragment_pipe); const struct wined3d_fragment_pipe_ops *fragment_pipe);
void (*shader_free_private)(struct wined3d_device *device, struct wined3d_context *context); void (*shader_free_private)(struct wined3d_device *device, struct wined3d_context *context);
BOOL (*shader_allocate_context_data)(struct wined3d_context *context); BOOL (*shader_allocate_context_data)(struct wined3d_context *context);
void (*shader_free_context_data)(struct wined3d_context *context); void (*shader_free_context_data)(struct wined3d_context *context);
@ -2159,9 +2159,9 @@ struct fragment_caps
#define GL_EXT_EMUL_ARB_MULTITEXTURE 0x00000001 #define GL_EXT_EMUL_ARB_MULTITEXTURE 0x00000001
#define GL_EXT_EMUL_EXT_FOG_COORD 0x00000002 #define GL_EXT_EMUL_EXT_FOG_COORD 0x00000002
struct fragment_pipeline struct wined3d_fragment_pipe_ops
{ {
void (*enable_extension)(const struct wined3d_gl_info *gl_info, BOOL enable); void (*fp_enable)(const struct wined3d_context *context, BOOL enable);
void (*get_caps)(const struct wined3d_adapter *adapter, struct fragment_caps *caps); void (*get_caps)(const struct wined3d_adapter *adapter, struct fragment_caps *caps);
DWORD (*get_emul_mask)(const struct wined3d_gl_info *gl_info); DWORD (*get_emul_mask)(const struct wined3d_gl_info *gl_info);
void *(*alloc_private)(const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv); void *(*alloc_private)(const struct wined3d_shader_backend_ops *shader_backend, void *shader_priv);
@ -2197,13 +2197,13 @@ struct wined3d_vertex_pipe_ops
}; };
extern const struct wined3d_state_entry_template misc_state_template[] DECLSPEC_HIDDEN; extern const struct wined3d_state_entry_template misc_state_template[] DECLSPEC_HIDDEN;
extern const struct fragment_pipeline none_fragment_pipe DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops none_fragment_pipe DECLSPEC_HIDDEN;
extern const struct fragment_pipeline ffp_fragment_pipeline DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops ffp_fragment_pipeline DECLSPEC_HIDDEN;
extern const struct fragment_pipeline atifs_fragment_pipeline DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops atifs_fragment_pipeline DECLSPEC_HIDDEN;
extern const struct fragment_pipeline arbfp_fragment_pipeline DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops arbfp_fragment_pipeline DECLSPEC_HIDDEN;
extern const struct fragment_pipeline nvts_fragment_pipeline DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops nvts_fragment_pipeline DECLSPEC_HIDDEN;
extern const struct fragment_pipeline nvrc_fragment_pipeline DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops nvrc_fragment_pipeline DECLSPEC_HIDDEN;
extern const struct fragment_pipeline glsl_fragment_pipe DECLSPEC_HIDDEN; extern const struct wined3d_fragment_pipe_ops glsl_fragment_pipe DECLSPEC_HIDDEN;
extern const struct wined3d_vertex_pipe_ops none_vertex_pipe DECLSPEC_HIDDEN; extern const struct wined3d_vertex_pipe_ops none_vertex_pipe DECLSPEC_HIDDEN;
extern const struct wined3d_vertex_pipe_ops ffp_vertex_pipe DECLSPEC_HIDDEN; extern const struct wined3d_vertex_pipe_ops ffp_vertex_pipe DECLSPEC_HIDDEN;
@ -2212,7 +2212,7 @@ extern const struct wined3d_vertex_pipe_ops glsl_vertex_pipe DECLSPEC_HIDDEN;
/* "Base" state table */ /* "Base" state table */
HRESULT compile_state_table(struct wined3d_state_entry *state_table, APPLYSTATEFUNC **dev_multistate_funcs, HRESULT compile_state_table(struct wined3d_state_entry *state_table, APPLYSTATEFUNC **dev_multistate_funcs,
const struct wined3d_d3d_info *d3d_info, const BOOL *supported_extensions, const struct wined3d_d3d_info *d3d_info, const BOOL *supported_extensions,
const struct wined3d_vertex_pipe_ops *vertex, const struct fragment_pipeline *fragment, const struct wined3d_vertex_pipe_ops *vertex, const struct wined3d_fragment_pipe_ops *fragment,
const struct wined3d_state_entry_template *misc) DECLSPEC_HIDDEN; const struct wined3d_state_entry_template *misc) DECLSPEC_HIDDEN;
enum wined3d_blit_op enum wined3d_blit_op
@ -2794,7 +2794,7 @@ struct wined3d_adapter
size_t format_size; size_t format_size;
const struct wined3d_vertex_pipe_ops *vertex_pipe; const struct wined3d_vertex_pipe_ops *vertex_pipe;
const struct fragment_pipeline *fragment_pipe; const struct wined3d_fragment_pipe_ops *fragment_pipe;
const struct wined3d_shader_backend_ops *shader_backend; const struct wined3d_shader_backend_ops *shader_backend;
const struct wined3d_adapter_ops *adapter_ops; const struct wined3d_adapter_ops *adapter_ops;
}; };